![ffmpeg v4l2 驱动程序更改 Logitech c920 摄像头的帧速率](https://linux22.com/image/182392/ffmpeg%20v4l2%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E6%9B%B4%E6%94%B9%20Logitech%20c920%20%E6%91%84%E5%83%8F%E5%A4%B4%E7%9A%84%E5%B8%A7%E9%80%9F%E7%8E%87.png)
我拥有一台 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 ...