Как узнать, какую частоту кадров я должен использовать для захвата веб-камеры с помощью ffmpeg?

5200
chocopoche

Я снимаю видео с моей веб-камеры с помощью следующей команды:

ffmpeg -r 30 -f v4l2 -video_size 160x120 -i /dev/video0 output.avi 

Опция -r указывает частоту кадров, которую я хочу. Однако не то, чтобы я хотел 30 FPS, просто это не работает правильно.

Без частоты кадров захват очень глючит (я думаю, он пытается захватить слишком много, но не может следовать).

Если для частоты кадров установлено значение 15, выходное видео будет в два раза длиннее, чем длительность захвата (вид замедленного движения).

С частотой кадров 30, кажется, все в порядке.

Как я могу быть уверен, что должен использовать 30 кадров в секунду? Если я хочу получить 15 кадров в секунду, что мне нужно сделать, чтобы получить правильное воспроизведение?

Информация о моей веб-камере:

co@macbook2008:~$ v4l2-ctl --list-formats-ext ioctl: VIDIOC_ENUM_FMT Index : 0 Type : Video Capture Pixel Format: 'YUYV' Name : YUV 4:2:2 (YUYV) Size: Discrete 160x120 Interval: Discrete 0.033s (30.000 fps) Interval: Discrete 0.036s (27.500 fps) Interval: Discrete 0.040s (25.000 fps) Interval: Discrete 0.044s (22.500 fps) Interval: Discrete 0.050s (20.000 fps) Interval: Discrete 0.057s (17.500 fps) Interval: Discrete 0.067s (15.000 fps) Interval: Discrete 0.080s (12.500 fps) Interval: Discrete 0.100s (10.000 fps) Interval: Discrete 0.133s (7.500 fps) Interval: Discrete 0.200s (5.000 fps) Size: Discrete 176x144 Interval: Discrete 0.033s (30.000 fps) ... and so on for other resolutions 

Спасибо

2
Если бы я рискнул догадаться. Исходное видео также 30 кадров в секунду. Вывод команды, которую вы дали, подтверждает это. Ramhound 9 лет назад 0
Как это подтвердить, так как много фпс? Первый используется? chocopoche 9 лет назад 0
Я не понимаю Вы ввели команду `v4l2-ctl --list-format-ext`, и в выводе указана поддерживаемая частота кадров и разрешение исходного устройства. Буквально указано, что 30 к / с - это максимальная поддерживаемая частота. Ramhound 9 лет назад 0
Вы также можете установить fps на 27.5, если хотите, изменив значение и введя следующую команду: `ffmpeg -r 27.5 -f v4l2 -video_size 160x120 -i / dev / video0 output.avi` Ramhound 9 лет назад 0
Когда я выполняю `ffmpeg -r 15 -f v4l2 -video_size 160x120 -i / dev / video0 output.avi` в течение 15 секунд, я получаю avi 30 секунд. Поэтому `v4l2-ctl --list-format-ext` говорит, что я могу снимать со скоростью 15 кадров в секунду, но я не смогу воспроизводить его с правильной скоростью. Я думаю, что то же самое относится к 27,5 кадр / с, но я не могу проверить это точно. chocopoche 9 лет назад 0

0 ответов на вопрос

Похожие вопросы