LINUX.ORG.RU

FFmpeg: изображение поверх RTSP.

 ,


1

1

Добрый день. Прошу помочь разобраться с проблемой. Пишу свой первый вопрос, т.к. до этого всегда получалось решить все вопросы с помощью гугла, поэтому заранее прошу прощения, если указал не всю необходимую информацию.

Имеется Centos7, где развёрнут ffmpeg с помощью автоинсталлера с ffmpeginstaller.com.

Стоит следующая задача: нужно накладывать обновляемое изображение на rtsp-поток и конвертировать это всё в rtmp. Реализовать задачу получилось следующим образом:

ffmpeg -rtsp_transport tcp -i "rtsp://source live=1" -f image2 -loop 1 -i "logo.png" -filter_complex "overlay=25:25" -an -f flv "rtmp://source"

Проблема заключается в том, что какое-то время изображение обновляется, а потом остаётся статичным. Ошибок нет. В режиме дебага удалось увидеть, что ffmpeg в какой-то момент просто перестаёт читать изображение по непонятным причинам, поток при этом транслируется дальше, а изображение остаётся в том виде, в каком его последний раз считал ffmpeg.

развёрнут ffmpeg с помощью автоинсталлера с ffmpeginstaller.com.

Сидел бы ты лучше в винде.

anonymous
()
Ответ на: комментарий от anonymous

Спасибо за совет, но он не помогает в решении данного вопроса. Реализовать всё надо с помощью Linux. Надеюсь дождаться адекватных комментариев.

Kolbaska
() автор топика

во-первых, свежий ffmpeg для centos7 есть в epel-multimedia

попробовал просто так: ffmpeg -f image2 -loop 1 -i picture.jpeg -vcodec hevc_nvenc test.mp4

ffmpeg при обновлении картинки то нормально перечитывает, то останавливается есть подозрение, что способ не предназначен для изменяемой картинки и однажды попав на момент записи, перестает ее читать

yandrey
()

Проблема оказалась в параметрах наложения. Заменил «loop 1» на «stream_loop -1», и всё заработало: ffmpeg -rtsp_transport tcp -i "rtsp://source live=1" -f image2 -stream_loop -1 -i "logo.png" -filter_complex "overlay=25:25" -an -f flv "rtmp://source"

Kolbaska
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.