我拥有一台 Logitech c920 相机,它似乎能够在 1080p 下至少达到 24fps(尽管规格说它应该达到 60),根据vlc -vvv --color v4l2:///dev/video0 --run-time 1 vlc://quit -I dummy -V dummy -A dummy
它我得到了以下内容:
[00007f64f4001120] v4l2 demux debug: frame size 1920x1080
[00007f64f4001120] v4l2 demux debug: discrete frame interval: 1/24
但是,当我尝试使用 ffmpeg 复制video0
到 v4l2 环回设备时,使用:
ffmpeg -f v4l2 -r 24 -s 1280x720 -i /dev/video0 -codec copy -f v4l2 /dev/video4
我只得到 10fps 和消息:
[video4linux2,v4l2 @ 0x55a30e698c00] The driver changed the time per frame from 1/24 to 1/10
为什么会发生这种情况以及如何获得更高的帧速率?
答案1
您正在使用相机的 RAW 格式。尝试使用压缩编解码器:
ffmpeg -vcodec mjpeg -r 30 -s 1920x1080 -f v4l2 ...