cDevice::PlayVideo(PlayAudio) PES als TS muxen

  • Hallo allerseits,


    ich möchte gerne die von diesen beiden Funktionen empfangenen PES Packets in einen TS muxen.


    Um dies zu erreichen, nutze ich die Klasse vom aktuellen streamdev-cvs, um Daten durch ein externes Programm über STDIN/STDOUT pipen zu können.
    Das externe Programm ist das Tool pes2ts2 aus dem libdvb-0.5.5 Paket der Metzlerbros, das einen gemuxten PES Stream auf STDIN empfängt und über STDOUT einen TS ausspuckt. "Extern" einfach aus Gründen der Flexibilität.


    Die PES Packets, die die beiden Funktionen PlayVideo und PlayAudio liefern, werden also immer abwechselnd hintereinander weggeschrieben in die Pipe.
    (Es kann ja immer nur entweder PlayVideo ODER PlayAudio aufgerufen werden, also niemals beide zusammen, siehe cDevice::PlayPESPacket)


    Wenn ich mir den resultierenden TS nun allerdings anschaue, habe ich sehr viele Blockartefakte und Quiekser im Sound.


    Schiebe ich nur Video ODER Audio PES Packets in die Pipe, dann klappt das prima. Irgendwie klappt also etwas nicht, wenn Video- und Audio-Pakete sich abwechseln.


    Gibt es irgendwas spezielles zu beachten bzgl. irgendwelcher Paketgrößen beim Muxen von PES nach TS?
    PlayVideo liefert bei mir immer 2048 Bytes große PES Pakete und Audio Pakete in der Größe von 1840 Bytes.


    Irgendwie habe ich ja das externe pes2ts2 im Verdacht......


    Hat irgendjemand eine Idee?


    Gruss,
    Nano

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!