Videodatei zu einem RTMP Server streamen (ffmpeg)

4nanai

Captain
Registriert
Dez. 2004
Beiträge
3.455
Anstatt den Umweg über OBS zu gehen, möchte ich eine Videodatei, die ohnehin auf dem NAS liegt, direkt auf auf einen RTMP-Server livestreamen. Das geht damit auch soweit ganz gut:

Code:
ffmpeg -re -i videofile.mkv -c:v libx264 -preset veryfast -b:v 3000k -maxrate 3000k -bufsize 3000k -pix_fmt yuv420p -g 50 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmp://server-url/streamkey

2 Probleme allerdings:
  • Wie bekomme ich die in der .mkv eingebetteten Untertitel ebenfalls mitgestreamt?
  • Gibt es irgendeine Alternative oder einen Wrapper für ffmpeg, der mir Medienkontrollen wie Seek und Pause erlaubt?

Besten Dank für jeglichen Input.
 
madmax2010 schrieb:
was laeuft auf dem stream server? https://github.com/datarhei/restreamer als player erlaubt dir Pausen

probier mal
language=eng -disposition:s:0
https://superuser.com/questions/700...cify-a-subtitle-track-that-should-be-shown-by

Auf dem Server läuft Owncast. Das Pausieren dort ist im Player auch kein Problem, würde das aber lieber Stream-seitig haben, damit alle Clients immer synchron bleiben, wenn ich das Video pausiert haben möchte.


Danke auf jeden Fall für den richtigen Riecher!

ffmpeg -re -i 'video.mkv' -c:v libx264 -preset veryfast -b:v 3000k -maxrate 3000k -bufsize 6000k -c:s mov_text -metadata:s:s:0 language=eng -disposition:s:0 default -pix_fmt yuv420p -g 50 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmp://server-url/streamkey

Damit bin ich nun soweit, dass ffmpeg zumindest Subtitles ausgeben möchte. Aber:

Subtitle codec 'mov_text' for stream 2 is not compatible with FLV
Could not write header for output file #0 (incorrect codec parameters ?): Invalid data found when processing input
Error initializing output stream 0:0 --

Das führt mich dann wohl zu einem Problem, für das es schon vor 3 Jahren scheinbar keine Lösung gab:
https://arstechnica.com/civis/viewtopic.php?f=6&t=1446953

Das verläuft sich auch im Sand:
https://www.mail-archive.com/ffmpeg-user@ffmpeg.org/msg23323.html
 
Zuletzt bearbeitet:
Hätte wohl keinen Unterschied ergeben und wäre auch keine wirkliche Option, da die Untertitel in der .mkv vorliegen und der Bequemlichkeit halber auch direkt genutzt werden sollen.

Aber mir ist im Schlaf der Gedanke gekommen, dass die Untertitel natürlich "eingebrannt" (Hardsub) werden müssen, da der Webplayer mit eingebetteten Subs ja sowieso nichts anfangen könnte.

ffmpeg -re -i 'video.mkv' -vf subtitles=video.mkv' -c:v libx264 -preset veryfast -b:v 3000k -maxrate 3000k -bufsize 6000k -pix_fmt yuv420p -g 50 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmp://server-url/streamkey


Jetzt läuft's auch! Danke auf jeden Fall für die Hinweise in die richtige Richtung.

1654150886406.png
 
  • Gefällt mir
Reaktionen: mojitomay und netzgestaltung
Zurück
Oben