FFMPEG: создавать непрерывные видео с веб-камеры

Может ли FFMPEG записывать с веб-камеры через (например, 10 секунд) интервалы? Мне нужны смежные небольшие видео с веб-камеры (используемые для приложения для потокового вещания p2p, которое я разрабатываю), чтобы я мог воспроизводить их один за другим, не замечая, что на самом деле их несколько.

Я думаю, мне нужно разбить ключевые кадры или что-то вроде этого, чтобы у меня были четкие сокращения.

Для воспроизведения нескольких видео без заикания я использую API Web MediaSource, и он уже работает довольно хорошо.

Мне нужно только разделить поток веб-камеры на несколько переменных видеофайлов.

Спасибо!

1 ответ

Решение

Вы можете использовать потоковый сегментатор общего назначения или специальный сегментер HTTP HTTP Live Streaming (HLS).

Пример для потокового сегментатора в Linux:

ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 -an -f segment -segment_time 10 -segment_format_options movflags=+faststart out%03d.mp4

Вы можете установить постоянный интервал ключевого кадра с помощью опции размера GOP (-g), то есть:

-c:v libx264 -r 25 -g 50

ставит ключевой кадр каждые 2 с (50 кадров при 25 кадрах в секунду). Продолжительность сегмента должна быть кратна интервалу ключевого кадра.

Другие вопросы по тегам