나는 Logitech c920 카메라를 소유하고 있으며 1080p에서 최소 24fps를 기록할 수 있는 것 같습니다(사양에는 60fps가 되어야 한다고 나와 있지만). 이에 따라 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
video0
그러나 ffmpeg를 사용하여 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 ...