Wozu braucht man Synchronisation?

  • Hi,


    kann mir bitte mal jemand kurz erklären, was es mit der Synchronisation auf sich hat?


    Zum Beispiel kommt


    Audio startet 366 ms vor Video und Video endet 302 ms vor Audio.


    Ist das schlecht? Wenn ja, warum? Wie sollte es optimal sein?


    Weil die Audio- und Videopakete sind doch mit einem eindeutigen Zeitstemple versehen, so dass sie ohne Probleme eindeutig einander zugewiesen werden können.


    Was sehe ich da nicht richtig?




    Beste Grüße DMH

    Hardware: AMD Duron 900 MHz, 256 MB Ram, 1 x 400 GB und 2 x 200 GB Maxtor, 1 x 500 GB USB 2.0, Nec DVD-RW ND-3500AG, 1 x TT 1.6 FF DVB-S, 1 x Twinhan Budget DVB-T
    Software: VDR 1.4.1, BigPatch, DMH-DVD-Archive-Patch, Kernel 2.6.12
    ---
    "Hörma, wie heißt nomma dat Instrument mit den 3 Knöppen oben drauf...? - Ja richtig, Flöte!"

  • Hi,


    es gibt mehrere Gründe, warum die Zeitstempel am Anfang und Ende nicht exakt gleich sind:


    Zum einen sind Audio- und Video-Frames unterschiedlich lang (z. B. 24 ms zu 40 ms) und da die Zeitstempel immer den Anfang eines Frames beschreiben, können sie über mehrere Frames nicht übereinstimmen.


    Zum anderen wird der Video-Datenstrom in Dekodierreihenfolge übertragen, während die Zeitstempel die Abspielreihenfolge beschreiben. Ein Beispiel mit den 3 Frame-Typen und fingierten Zeitstempeln:


    > I2 B0 B1 P5 B3 B4 P8 B6 B7 P11 B9 B10


    Nach dem Dekodieren:


    > B0 B1 I2 B3 B4 P5 B6 B7 P8 B9 B10 P11


    Daneben ergeben sich noch Verschiebungen, weil auf einem Transponder mehrere Streams zeitgleich übertragen werden.


    Es ist also ganz normal, wenn man "mitten" im Stream mit einer Aufzeichnung beginnt oder aufhört, dass die ersten oder letzten Pakete nicht zeitgleich beginnen bzw. enden.


    Die Synchronisation erfolgt dann (vereinfacht wiedergegeben) wie folgt: es gibt einen Zeitgeber, der kontinuierlich zählt. Immer wenn ein Zeitstempel der dekodierten Audio- oder Videoframes mit dem Zeitgeber übereinstimmt, wird er entsprechende Frame zur Ausgabe gebracht.


    Soll der Stream in ein Format gewandelt werden, dass keine Zeitstempel unterstützt, dann müssen typischerweise Audioframes eingefügt oder entfernt werden, damit Audio und Video (zumindest annähernd) zeitgleich am Dateianfang beginnen.


    Die Notwendigkeit zur Synchronisation wiederholt sich an jedem Schnitt, der mit VDR an einer Aufnahme gemacht wird, da es nichts anders ist, als hätte man die Aufzeichnung "mitten" im Stream gestoppt und später wieder aufgesetzt. Es macht also mitunter Sinn, nur die Schnittmarken zu setzen und das "Schneiden" beim Umwandeln "on the fly" mit zu erledigen.


    Bye.

    --
    Dipl.-Inform. (FH) Reinhard Nissl
    mailto:rnissl@gmx.de

    2 Mal editiert, zuletzt von rnissl ()

  • Danke. rnissl hat's ja schön erklärt. Wenn ich das also richtig verstanden habe, brauche ich, wenn ich Aufnahmen NUR auf dem vdr schaue, keine Synchronisation der Aufnahme. Weil der Zeitgeber im VDR irgendwo läuft und sich schon die richtigen Pakete heraussucht. Ist das richtig? Kann das mal bitte jemand bestätigen?


    Weiß denn auch noch jemand, was vdr macht, wenn er eine ganze Zeit lang zum Beispiel KEINE Audiopakete zu Videozeitstempeln findet? Ist der Stream dann noch MPEG2-konform oder steigt der VDR aus?


    Hintergrund: Ich arbeite zur Zeit an einem framegenauen Schnittplugin für den VDR, weil mich das Aufblitzen der Werbung beim I-Frame-Schnitt stört... (Siehe hier.) Dabei möchte ich auch die Audiopakete vor dem Schnitt skippen und nicht in die geschnittene Version übernehmen.

    Hardware: AMD Duron 900 MHz, 256 MB Ram, 1 x 400 GB und 2 x 200 GB Maxtor, 1 x 500 GB USB 2.0, Nec DVD-RW ND-3500AG, 1 x TT 1.6 FF DVB-S, 1 x Twinhan Budget DVB-T
    Software: VDR 1.4.1, BigPatch, DMH-DVD-Archive-Patch, Kernel 2.6.12
    ---
    "Hörma, wie heißt nomma dat Instrument mit den 3 Knöppen oben drauf...? - Ja richtig, Flöte!"

  • Zitat

    Original von dmh
    Danke. rnissl hat's ja schön erklärt. Wenn ich das also richtig verstanden habe, brauche ich, wenn ich Aufnahmen NUR auf dem vdr schaue, keine Synchronisation der Aufnahme. Weil der Zeitgeber im VDR irgendwo läuft und sich schon die richtigen Pakete heraussucht. Ist das richtig? Kann das mal bitte jemand bestätigen?


    Fast...
    Die Synchronisationsdaten sind in der Aufzeichnung vorhanden und werden beim Wiedegeben gleich mit an den MPEG-Decoder geschickt. Aufnahme und Live unterscheidet sich so gesehen fast garnicht voneinander.

    Zitat

    Original von dmh
    Weiß denn auch noch jemand, was vdr macht, wenn er eine ganze Zeit lang zum Beispiel KEINE Audiopakete zu Videozeitstempeln findet? Ist der Stream dann noch MPEG2-konform oder steigt der VDR aus?


    Es kann schonmal passieren, daß eine Tonspur zwischenzeitlich "verloren geht". Das änder Nichts an der Konformität. Manche Sender strahlen z. B. nur zeitweise DD aus. In einer Aufnahme kann es also passieren, daß auf einmal DD da ist und nach einer gewissen Zeit ist es wieder weg (einfach ausgedrückt).

    Zitat

    Original von dmh
    Hintergrund: Ich arbeite zur Zeit an einem framegenauen Schnittplugin für den VDR, weil mich das Aufblitzen der Werbung beim I-Frame-Schnitt stört... (Siehe hier.) Dabei möchte ich auch die Audiopakete vor dem Schnitt skippen und nicht in die geschnittene Version übernehmen.


    Auch wenn es jetzt eher kontraproduktiv klingt, aber ich bin bis jetzt immer sehr zufrieden mit der Schnittleistung des VDR gewesen. Nach dem Demultiplexen (ProjectX) und erneutem Multiplexen (IfoEdit) war bis jetzt immer alles hübsch synchron und nahezu ohne sichtbare Übergänge. Dennoch werde ich Dein Plugin bei Zeiten mal ausprobieren. Neues ist immer interessant.


    In diesem Sinne: Viel Erfolg!

    Hardware: Gigabyte GA-970A-D3, AMD Athlon II X2 235e, 4GB RAM, Zotac GeForce 210 Synergy Edition 1GB, Corsair Force3 60GB SSD, Mystique SaTiX-S2 Dual, 6.4" TFT, Atric IR Einschalter Rev.5, Logitech Harmony 900, Samsung LE46A789 full HD LCD, Denon AVR-1910, USB Atmo-Light von Slime
    Software: yaVDR 0.5
    Streaming Client 1: Hauppauge MediaMVP
    Streaming Client 2: Telegant TG100 (wenn ich mal irgendwann die Zeit finde das UPnP-Plugin zu testen)

Jetzt mitmachen!

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