Unfertiges Video streamen
-
Abend!
Ich habe eine Frage zum Thema Streaming:
Mittels der Libs des ffmpeg Pakets habe ich in C++ eine Klasse geschrieben, die Bilder von einer Render-Engine ausliest und daraus ein Video (.mpg) auf der Festplatte erstellt. Das Video File wird erzeugt und es werden so lange die Engine läuft Bilder hinzugefügt. Das heißt während die Engine läuft wird die Größe des Videos kontinuierlich größer.
Nun soll ich dieses Video in ein Netzwerk streamen - allerdings bereits unmittelbar nach der Erstellung, das heißt es soll bereits gestreamt werden, während die Videodatei wächst (sie also noch unfertig ist).
Zunächst habe ich es mit ffserver probiert, allerdings bekomme ich da beim Aufruf von ffmpeg (um dem ffserver einen Feed meiner .mpg Videos zu schicken) immer einen "Segmentation Fault".
Dann habe ich noch VLC probiert - der kann ja auch streamen. Das Streamen des fertigen, abgeschlossenen .mpg Videos klappt auch. Allerdings funktioniert es nicht, wenn er noch ins Video schreibt. Auch das simple Abspielen des unfertigen Videos klappt nicht. Offenbar ist also .mpg für sowas nicht geeignet? (Wird da vllt beim Abschluss ein Footer bzw. Header geschrieben?)
Kurzum: Welches Videoformat eignet sich dafür, im unfertigen Zustand gestreamt zu werden? Und welche Software kann das?
Danke!
-
Von den Video Codecs sollten die meisten geeignet sein.
MPEG 1 und 2 gehen mit einem Lag von ein paar Frames.
H.264 bzw. allgemein MPEG 4 geht je nach Encoder-Einstellungen sehr gut bis weniger gut.Und du musst einen passenden Container verwenden, z.B. MPEG Transport Stream. AVI oder MPEG Program Stream eignen sich nicht.
Software kann ich dir leider keine empfehlen.
-
Schon mal danke fuer die Antwort!
Eine Anmerkung: Es ist nicht Pflicht, dass ich erst in eine Datei schreibe und dann diese unfertige Datei streame. Im Idealfall schreibe ich garkeine Datei auf die Platte, sondern streame sofort ins Netztwerk. Ich weiss nur leider nicht, wie das mit ffmpeg machbar ist...