Как автоматически обогатить видеопоток динамическим наложением (текст, изображения, ...)

В моей компании в настоящее время мы ищем решение для обогащения данного видеопотока (который транслируется через RTMP) с удаленной веб-камеры некоторой динамической информацией, такой как текущая дата/время, специальные значения показателей, которые доступны на сервере или самые последние записи в базе данных.

По сути, мы хотим добиться простого, динамичного отображения на экране, как, например, используют телевизионные станции. Затем измененный поток следует повторно транслировать, например, для просмотра в VLC Player или на YouTube.

На данный момент я пришел к следующим идеям:

  • Использование OBS с некоторыми собственными скриптами и плагинами - невыгодно, потому что мы хотели бы запускать решение на высокопроизводительном сетевом сервере 24/7 без графического интерфейса. По сути, мне нужна версия OBS, полностью основанная на командной строке.

  • Использование FFmpeg: я знаю, что доступны текстовые фильтры, но они в основном статические (или периодически опрашивают файл с текстом) и не допускают никаких изменений дизайна, кроме шрифта, размера шрифта и цвета. Было бы здорово, если бы был какой-то способ наложения представления браузера Webkit на поток, потому что это позволило бы нам создавать наложения в HTML5 и CSS и использовать технологию WebSocket для обновления данных.

  • Оверлей можно захватить с помощью PhantomJS, но как нам объединить его с потоком и будет ли он достаточно быстрым для рендеринга 30 кадров в секунду?

Есть ли дополнительные (желательно с открытым исходным кодом) инструменты, которые мы могли бы использовать? Какой была бы наилучшая стратегия для реализации этого без покупки дорогостоящего программного обеспечения для телевещания?

Посмотрите в фильтр zmq .
Есть еще информация по этому поводу? Недавно задавал аналогичный вопрос, но к сожалению не получил ответа
Студийная версия DaVinci Resolve стоит 300 долларов и включает в себя Fusion и Python 2,3, а также сценарии Lua. Я не инженер-программист и никогда не посещал уроков программирования в школе, но мне удалось выяснить, как заставить анализатор RSS обновлять и автоматически загружать ежедневное видео на YouTube.

Ответы (1)

Взгляните на CasparCG. Он должен иметь возможность делать то, что вы хотите.

В качестве альтернативы можно было бы создать что-то с использованием MLTи, скажем, Python, но это требует некоторого программирования, хотя в основном это должна быть сборка модулей вместе.