我对 avconv(或 ffmpeg)的使用有疑问。
我的目标是从网络摄像头捕获视频并将其保存到文件中。另外,我不想使用过多的 CPU 处理。(我不希望 avconv 缩放或重新编码流)
因此,我正在考虑使用来自网络摄像头的压缩 mjpeg 视频流并将其直接保存到文件中。
我的网络摄像头是 Microsoft LifeCam HD 3000,它的功能是:
ffmpeg -f v4l2 -list_formats all -i /dev/video0
Raw: yuyv422 : YUV 4:2:2 (YUYV) : 640x480 1280x720 960x544 800x448 640x360 424x240 352x288 320x240 800x600 176x144 160x120 1280x800
Compressed: mjpeg : MJPEG : 640x480 1280x720 960x544 800x448 640x360 800x600 416x240 352x288 176x144 320x240 160x120
什么是 avconv 命令可以直接保存压缩流而无需 avconv 进行缩放或重新编码。
现在,我正在使用这个命令:
avconv -f video4linux2 -r 30 -s 320x240 -i /dev/video0 test.avi
我不确定这个命令是否具有 CPU 效率,因为我没有告诉任何地方使用网络摄像头的 mjpeg 压缩功能。
avconv 是否在开始记录文件之前负责网络摄像头设置的配置?它总是在原始流上工作并对原始流进行缩放和编码吗?
感谢您的回答