【发布时间】:2015-09-10 04:17:38
【问题描述】:
我对 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 是否在开始录制文件之前负责网络摄像头设置的配置?它总是在原始流上工作并对原始流进行缩放和编码吗?
感谢您的回答
【问题讨论】:
-
不使用“-c copy”它会重新编码...如果你想要一个“快速”重新编码我推荐x264“快速”预设:trac.ffmpeg.org/wiki/StreamingGuide跨度>
标签: ffmpeg video-capture libav avconv webcam-capture