нужен совет для решения проблемы
ffmpeg получает непрерывный прямой эфир (источник rtmp) с камер наблюдения за въездными воротами.
после срабатывания триггера (ворота/дверь открыты) мне нужно создать 30-секундный видеофайл, сохраненный на жестком диске
Я имею в виду эти 30 секунд как 25 секунд видео до срабатывания триггера и около 5 секунд после триггера.
аналогичная идея описана в вики ffmpeg ( https://trac.ffmpeg.org/wiki/Capture/Lightning ), но я не могу заставить это работать в любой конфигурации команды
Я играл с фильтрами, буферизацией и т. д., но все равно не повезло ;-((
Любые идеи поощряются
Что вы можете сделать, так это добавить пустой 30-секундный сегмент перед потоком камеры, а затем использовать метод в вики ffmpeg.
Базовый шаблон
ffmpeg -f lavfi -i color=black:WxH:r=FPS:d=30 -i camera_input \
-filter_complex "[0][1]concat[v]" -map "[v]" StreamingOutput
WxH
должно быть установлено разрешение камеры и FPS
ее частота кадров.
И вторая команда, которая запускается через 5 секунд после триггера.
ffmpeg -i Streamingoutput -t 30 snippet.mp4
ffmpeg
что concat не ждет 30 секунд, он довольно быстро завершает объединение, и это не удается. Есть ли способ заставить его конкатировать его в секунду?
Гьян
Мистер З