使用最小CPU处理的avconv/ffmpeg网络摄像头捕获

使用最小CPU处理的avconv/ffmpeg网络摄像头捕获,ffmpeg,video-capture,libav,avconv,webcam-capture,Ffmpeg,Video Capture,Libav,Avconv,Webcam Capture,我有一个关于avconv(或ffmpeg)用法的问题 我的目标是从网络摄像头捕获视频并将其保存到文件中。 另外,我不想使用太多的CPU处理。(我不希望avconv缩放或重新编码流) 所以,我想使用网络摄像头的压缩视频流,并直接将其保存到文件中 我的网络摄像头是Microsoft LifeCam HD 3000,其功能包括: ffmpeg -f v4l2 -list_formats all -i /dev/video0 Raw: yuyv422 : YUV 4:2:2 (YUYV) : 640x

我有一个关于avconv(或ffmpeg)用法的问题

我的目标是从网络摄像头捕获视频并将其保存到文件中。 另外,我不想使用太多的CPU处理。(我不希望avconv缩放或重新编码流)

所以,我想使用网络摄像头的压缩视频流,并直接将其保存到文件中

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

感谢您的回答

阅读™ 是现实生活中最接近魔法的东西:

video4linux2,v4l2

输入格式

设置首选像素格式(对于原始视频)或编解码器名称。当有几种输入格式可用时,此选项允许用户选择输入格式

视频大小

设置视频帧大小。参数必须是格式为WIDTHxHEIGHT的字符串或有效的大小缩写

该命令使用
-c:v copy
只复制接收到的编码,而不接触它,因此实现了最低的资源使用:

ffmpeg -f video4linux2 -input_format mjpeg -video_size 640x480 -i /dev/video0 -c:v copy <output>
ffmpeg-f video4linux2-input_格式mjpeg-video_大小640x480-i/dev/video0-c:v拷贝
读取™ 是现实生活中最接近魔法的东西:

video4linux2,v4l2

输入格式

设置首选像素格式(对于原始视频)或编解码器名称。当有几种输入格式可用时,此选项允许用户选择输入格式

视频大小

设置视频帧大小。参数必须是格式为WIDTHxHEIGHT的字符串或有效的大小缩写

该命令使用
-c:v copy
只复制接收到的编码,而不接触它,因此实现了最低的资源使用:

ffmpeg -f video4linux2 -input_format mjpeg -video_size 640x480 -i /dev/video0 -c:v copy <output>
ffmpeg-f video4linux2-input_格式mjpeg-video_大小640x480-i/dev/video0-c:v拷贝

我尝试了ffmpeg和avconv,我收到了一条警告消息:输出流中的DTS非单调0:0;前:166010,当前:16998;改为166011。这可能会导致输出文件中的时间戳不正确。这是否意味着我的计算机无法正确处理流?您是在使用
ffmpeg
还是发行版附带的任何东西?您注意到输出有任何问题吗?我正在使用发行版提供的ffmpeg或avconv版本。视频输出有一些滞后/跳跃。。。我认为这与警告“非单调DTS消息”有关。我的Microsoft HD3000网络摄像头似乎比其他网络摄像头更经常出现这种情况。我将尝试最新版本。。。(我想这意味着我必须从源代码构建工具?@user3585723上也有静态构建和包可用,我尝试了ffmpeg和avconv,我有一条警告消息:输出流中的非单调DTS 0:0;前:166010,当前:16998;改为166011。这可能会导致输出文件中的时间戳不正确。这是否意味着我的计算机无法正确处理流?您是在使用
ffmpeg
还是发行版附带的任何东西?您注意到输出有任何问题吗?我正在使用发行版提供的ffmpeg或avconv版本。视频输出有一些滞后/跳跃。。。我认为这与警告“非单调DTS消息”有关。我的Microsoft HD3000网络摄像头似乎比其他网络摄像头更经常出现这种情况。我将尝试最新版本。。。(我想这意味着我必须从源代码构建工具?@user3585723上也有静态构建和包,不使用“-c copy”它将进行重新编码…如果您想要“快速”重新编码,我建议使用x264“快速”预设:不使用“-c copy”它将进行重新编码…如果您想要“快速”重新编码,我建议使用x264“快速”预设: