Cómo enriquecer automáticamente una transmisión de video con superposición dinámica (texto, imágenes, ...)

En mi empresa, actualmente estamos buscando una solución para enriquecer una transmisión de video determinada (que se transmite a través de RTMP) desde una cámara web remota con información dinámica, como la fecha/hora actual, valores de medidas especiales que están disponibles en un servidor , o las entradas más recientes en una base de datos.

Básicamente, queremos lograr una visualización en pantalla simple y dinámica, como, por ejemplo, las estaciones de televisión que utilizan. La transmisión modificada debe volver a transmitirse, por ejemplo, para verla en VLC Player o en YouTube.

Hasta ahora, se me ocurrieron las siguientes ideas:

  • Usar OBS con algunos scripts y complementos propios es una desventaja porque nos gustaría ejecutar la solución en un servidor de alto rendimiento de red las 24 horas del día, los 7 días de la semana sin una GUI. Básicamente, necesitaría una versión de OBS completamente basada en la línea de comandos.

  • Uso de FFmpeg: Sé que hay filtros de texto disponibles, pero son principalmente estáticos (o sondean periódicamente un archivo con texto) y no permiten ningún ajuste de diseño que no sea la fuente, el tamaño de la fuente y el color. Sería genial si hubiera alguna forma de superponer una vista del navegador Webkit en la transmisión, porque esto nos permitiría diseñar las superposiciones en HTML5 y CSS y usar la tecnología WebSocket para actualizar los datos.

  • La superposición podría capturarse con PhantomJS, pero ¿cómo deberíamos unificarla con la transmisión? ¿Sería lo suficientemente rápido para renderizar 30 FPS?

¿Hay herramientas adicionales (preferiblemente de código abierto) que podamos usar? ¿Cuál sería la mejor estrategia para implementar esto sin comprar un costoso software de transmisión de TV?

Busque en el filtro zmq .
¿Más información sobre esto? Hice una pregunta similar recientemente, pero lamentablemente no obtengo ninguna respuesta.
La versión de estudio de DaVinci Resolve cuesta $ 300 e incluye Fusion y Python 2,3 y secuencias de comandos Lua. No soy ingeniero de software y nunca tomé una clase de programación en la escuela, pero logré descubrir cómo obtener un analizador de RSS para actualizar y cargar automáticamente un video diario de YouTube.

Respuestas (1)

CasparCGEcha un vistazo a Debería poder hacer lo que quieras.

Una alternativa sería crear algo usando MLTy, por ejemplo, Python, pero eso requiere un poco de programación, aunque en su mayoría debería ensamblar módulos juntos.