Hallo
Ich habe mal eine Frage die nicht direkt was mit VDR zu tun hat.
Ich würde gernen einen Multicast MPEG-TS Stream (H.264/AAC) aufnehmen und diesen noch während er die Daten in eine Datei schreibt ansehen können.
Die Aufnahme soll also während sie noch aufgenommen wird wieder als Stream abspielbar sein. Das an sich ist noch nicht das Problem. Beim abspielen soll seek möglich sein und die Länge soll richtig angezeigt werden bzw soll man sehen das das File wächst.
So wie ich es sehe, gibt es da mehrere Möglichkeiten. Ich habe mir nun aber erst mal nur drei angesehen.
MPEG-Dash
HLS
Progressive Download
HLS hat die Möglichkeit über eine Playlist die Daten zur Verfügung zu stellen. Die neue Version kann auch mit Single Files und einem Byteoffset Arbeiten. Problem ist das die Playlist vom Aufnahmeprogramm geschrieben werden muss. Die meisten Tools unterstützten noch das alte HLS Format mit dem ich dann 1000 Files bekommen würde. Aber selbst dann bin ich mir nicht sicher ob ein Player (z.B. VLC) alles so macht wie ich es mir vorstelle.
Progressive Download scheint mir unabhängig vom Aufnahmetool zu sein und daher eine gute Idee. Der VLC greift damit quasi direkt auf die Datei zu. Problem ist das ich im HTTP Header eine Länge angeben muss. Der VLC ließt aber nur beim ersten Aufruf den Header aus und damit ist dann der Fortschrittsbalken vom VLC fest. VLC bekommt also nicht mit ob die Datei größer wird und bricht auch am Ende ab. Alternativ kann man im HTTP Header mit angeben das kein Ende hat, dann kann ich aber auch nicht seeken.
Mit MPEG-Dash habe ich leider noch keine Erfahrungen.
Tools mit denen ich mit vorstellen könnte das man da weiter kommt.
ffplay, gstreamer, apache, ...
Hat da jemand mehr Erfahrung und kann mir ein paar Hinweise geben?