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 кадрах в секунду). Продолжительность сегмента должна быть кратна интервалу ключевого кадра.