So bereichern Sie einen Videostream automatisch mit dynamischem Overlay (Text, Bilder, ...)

In meinem Unternehmen suchen wir derzeit nach einer Lösung, um einen bestimmten Videostream (der über RTMP übertragen wird) von einer entfernten Webcam mit einigen dynamischen Informationen anzureichern, wie z. B. aktuelles Datum/Uhrzeit, spezielle Messwerte, die auf einem Server verfügbar sind , oder die neuesten Einträge in einer Datenbank.

Grundsätzlich wollen wir eine einfache, dynamische Bildschirmdarstellung erreichen, wie sie zB von TV-Sendern verwendet wird. Der modifizierte Stream sollte dann erneut gestreamt werden, um ihn beispielsweise im VLC Player oder auf YouTube anzusehen.

Bisher bin ich auf folgende Ideen gekommen:

  • OBS mit einigen eigenen Skripten und Plugins zu verwenden - das ist nachteilig, weil wir die Lösung auf einem Hochleistungsserver 24/7 ohne GUI betreiben möchten. Grundsätzlich brauche ich eine vollständig befehlszeilenbasierte Version von OBS.

  • Verwenden von FFmpeg: Ich weiß, dass Textfilter verfügbar sind, aber sie sind hauptsächlich statisch (oder rufen regelmäßig eine Datei mit Text ab) und erlauben keine anderen Designanpassungen als Schriftart, Schriftgröße und Farbe. Es wäre großartig, wenn es eine Möglichkeit gäbe, den Stream mit einer Webkit-Browseransicht zu überlagern, da dies uns ermöglichen würde, die Overlays in HTML5 und CSS zu entwerfen und die WebSocket-Technologie zum Aktualisieren der Daten zu verwenden.

  • Das Overlay könnte mit PhantomJS erfasst werden, aber wie sollten wir es mit dem Stream vereinheitlichen und wäre es schnell genug, um 30 FPS zu rendern?

Gibt es zusätzliche (vorzugsweise Open-Source-) Tools, die wir verwenden könnten? Was wäre die beste Strategie, um dies zu implementieren, ohne teure TV-Sendesoftware zu kaufen?

Schauen Sie sich den zmq-Filter an .
Mehr Infos dazu? Ich habe vor kurzem eine ähnliche Frage gestellt, aber ich bekomme leider keine Antworten
Die Studioversion von DaVinci Resolve kostet 300 US-Dollar und enthält Fusion und Python 2,3 sowie Lua-Skripting. Ich bin kein Softwareentwickler und habe in der Schule nie einen Programmierkurs belegt, aber ich habe es geschafft, einen RSS-Parser dazu zu bringen, ein tägliches YouTube-Video zu aktualisieren und automatisch hochzuladen.

Antworten (1)

Schau mal rein CasparCG. Es sollte in der Lage sein, das zu tun, was Sie wollen.

Eine Alternative wäre, etwas mit MLTPython zu erstellen, aber das erfordert etwas Programmierung, obwohl es hauptsächlich das Zusammenfügen von Modulen sein sollte.