我在我的英特尔爱迪生上运行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的性能(例如帧速率)。
答案 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图像,看看你得到了什么。