gpt4 book ai didi

ffmpeg - avconv/ffmpeg 网络摄像头捕获,同时使用最少的 CPU 处理

转载 作者:行者123 更新时间:2023-12-04 22:51:43 25 4
gpt4 key购买 nike

我对 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 是否在开始记录文件之前负责网络摄像头设置的配置?它总是在原始流上工作并对原始流进行缩放和编码吗?

感谢您的回答

最佳答案

阅读actual documentation ™ 是您在现实生活中获得的最接近魔法的东西:

video4linux2, v4l2

input_format

Set the preferred pixel format (for raw video) or a codec name. This option allows one to select the input format, when several are available.

video_size

Set the video frame size. The argument must be a string in the form WIDTHxHEIGHT or a valid size abbreviation.


该命令使用 -c:v copy只复制接收到的编码而不接触它,从而实现最低的资源使用:
ffmpeg -f video4linux2 -input_format mjpeg -video_size 640x480 -i /dev/video0 -c:v copy <output>

关于ffmpeg - avconv/ffmpeg 网络摄像头捕获,同时使用最少的 CPU 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32493067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com