提高ffmpeg视频捕获性能?

时间:2016-07-21 16:50:34

标签: video ffmpeg debian intel-edison

我在我的英特尔爱迪生上运行Debian并尝试使用ffmpeg通过USB网络摄像头捕获视频。我正在使用的命令是:

ffmpeg -f video4linux2 -i /dev/video0 -preset ultrafast -crf 22 -y test.mov

我最终输出类似于以下内容的输出:

frame=  356 fps=  9 q=8.0 size=    1958kB time=35.50 bitrate= 451.9kbits/s du
frame=  658 fps= 10 q=8.0 size=    3403kB time=65.70 bitrate= 424.3kbits/s du
frame= 1282 fps= 11 q=8.0 size=    5571kB time=128.10 bitrate= 356.3kbits/s d
frame= 1285 fps= 11 q=17.0 size=    5783kB time=128.40 bitrate= 369.0kbits/s 
frame= 1288 fps= 11 q=19.0 size=    5951kB time=128.70 bitrate= 378.8kbits/s 

第一帧甚至没有采取,直到35.5秒过去。声称fps = 9,但我只能在两分钟后获得这五帧。

我想知道是否有任何方法可以改善ffmpeg的性能(例如帧速率)。

1 个答案:

答案 0 :(得分:0)

使用最新的英特尔Edison Yocto image和来自here的FFMPEG我使用您分享的相同命令获得~30-32 fps

/ home / root / bin / ffmpeg / ffmpeg -f video4linux2 -i / dev / video0 -preset ultrafast -crf 22 -y test.mov

帧= 19 fps = 0.0 q = 21.0大小= 127kB时间= 00:00:00.46比特率= 2235.7kbits / s速度= 0.922x

帧= 34 fps = 34 q = 20.0大小= 207kB时间= 00:00:00.96比特率= 1755.6kbits / s速度= 0.96x

帧= 49 fps = 32 q = 20.0大小= 280kB时间= 00:00:01.46比特率= 1565.2kbits / s速度= 0.973x

帧= 64 fps = 32 q = 20.0大小= 351kB时间= 00:00:01.96比特率= 1460.4kbits / s速度= 0.978x

帧= 80 fps = 32 q = 20.0大小= 426kB时间= 00:00:02.50比特率= 1396.7kbits / s dup = 1 drop = 0 speed = 0.994x

我有一台UVC Logitech HD720p USB网络摄像头。您是否在PC上使用网络摄像头获得相同的fps?快速尝试默认的Yocto图像,看看你得到了什么。