Delay bei AAC in MKV geht nicht mit MKVMerge

  • Hallo,

    ich habe hier Video und Audio einer DVD in AVC bzw. AAC umgerechnet. Als AAC-Encoder habe ich den NeroAACEncoder in Megui genutzt. Samplingrate usw. wurde alles wie im Original belassen. Framerate des Videos wurde nicht geändert. Laut Aufruf der VOB in Mediainfo wurde auf der DVD ein Delay von -160ms gesetzt. Für das Decoding wurde das Video vorher demuxt, nicht direkt die VOB als Quelle genutzt.

    Diese -160ms habe ich nun in MKVMerge bei der AAC-Spur eingetragen. Ändert leider nicht, das Audio ist weiter geringfügig hinterher. Mediainfo zeigt für die Audiospur in Matroska auch ein Delay von 11ms (also positiv) an. Merkwürdig auch, dass Mediainfo für die Tonspur eine Samlingrate von "48 / 24" anzeigt (keine Ahnung ob das damit zusammen hängt).

    Weiß einer was das Programm hier macht?

    nel-son

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

  • Zitat

    Weiß einer was das Programm hier macht?


    Nein, da Du zu wenige Informationen lieferst um zu verstehen was Du da genau machst.

    Interessant wäre zu wissen ob:
    1. der delay von 160ms eventuell schon teilweise behoben wurde beim Umwandeln, z.B. in dem der Audiostream nach dem extrahieren durch delaycut gejagt wurde
    2. was für ein delay beim Multiplexen verwendet wurde?
    3. was zum Playback verwendet wird?
    4. was für mkvmerge&NeroAACEnc Versionen Du verwendest?
    5. womit der Audiostream extrahiert wurde, oder wird direkt die vob Datei als Input verwendet? (falls vob Input wäre interessant zu wissen welcher Decoder verwendet wird, weil dieser eventuell den Delay beeinflusst)

    Samlingrate von "48 / 24" -> hast vermutlich HE-AAC verwendet, da ist da normal
    "11ms (also positiv)" < 1000/25ms, d.h. ist nicht mal ein Frame und damit uninteressant.

    Zitat

    Mediainfo zeigt für die Audiospur in Matroska auch ein Delay von 11ms (also positiv) an.


    das ist normal, da mkv intern versucht delays zu 'fixen'

    Cu Selur

  • 1. der delay von 160ms eventuell schon teilweise behoben wurde beim Umwandeln, z.B. in dem der Audiostream nach dem extrahieren durch delaycut gejagt wurde
    2. was für ein delay beim Multiplexen verwendet wurde?
    3. was zum Playback verwendet wird?
    4. was für mkvmerge&NeroAACEnc Versionen Du verwendest?
    5. womit der Audiostream extrahiert wurde, oder wird direkt die vob Datei als Input verwendet? (falls vob Input wäre interessant zu wissen welcher Decoder verwendet wird, weil dieser eventuell den Delay beeinflusst)

    1. Nein. Audio wurde demuxt, dann in AAC umgerechnet. Fertig. Nichts anderes.
    2. Na -160ms, das was Mediainfo aus der VOB ausließt
    3. Das sollte ja keine Rolle spielen, da alles Play das gleiche auslesen sollte. Habs mit der aktuellen stable vom VLC und mit MPC-HC mit ffdshow für A/V und Haali versucht. Beide mal das gleiche Ergebnis
    4. MKVMerge 4.9.1 und die letzte stable, mit beiden das gleiche Ergebnis. NeroAAC die letzte stable.
    5. Demux mit PGCDemux, dann A/V über AviSynth mit ffvideosource/ffaudiosource geladen.

    Wenn nicht extra angegeben hab ich von allen die letzte stabile Version am laufen.

    Ja, ist HE-AAC.

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

  • Wer VOBs ohne dazugehörige IFOs verarbeitet, ist selber schuld, wenn er wegen mehreren PGCs in einer VOB falsche Delays erhält. MediaInfo ist das beste Beispiel dafür, was ein Programm ausgibt, das eben leider nichts über die logische Struktur von VOBs weiß, weil es die IFOs dazu nicht kennt. Und DGIndex hat ebenso wenig Ahnung von PGCs.

    [Blockierte Grafik: http://cosgan.de/images/smilie/figuren/a045.gif] Niemals VOBs direkt so verarbeiten, wie sie auf der DVD liegen!
    Immer die Hauptfilm-PGC mit PGCDemux (oder dem DVD-Ripper im IFO- oder Movie-Modus) extrahieren! Dabei kann auch gleich demultiplext werden (Stream Processing).

  • Immer die Hauptfilm-PGC mit PGCDemux (oder dem DVD-Ripper im IFO- oder Movie-Modus) extrahieren! Dabei kann auch gleich demultiplext werden (Stream Processing).

    Un dich:

    Zitat

    Demux mit PGCDemux

    PGCDemux zeigt mir -160ms Delay an. In dem Fall hat also Mediainfo das richtige Ausgelesen.

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

  • Ich nutze PGCDemux schon eien Weile, mir wäre nicht bekannt, dass das Tool Delay schon korrigiert. Ich hab das ganze jetzt nochmal die Orignaldateien in Matroska gemuxt und den Delay korrigiert - so is es ertsmal synchron. Dann mit ffvideo/audiosource in Avisynth geladen, so ist es dann auch nach dem Encoding und neumuxen synchron. Was vorher das Problem war versteh ich nicht.

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

  • tritt der fehler auch auf, wenn du mal die oginal ac3 in den mkv container mit delay muxxt? falls es nicht zu groß wird würde ich auch mal wave/pcm und mp3 testen, un zu schauen obs wirklich am muxxer liegt.
    hast du noch irgendwo ne ältere mkvmerge version rumliegen? --> testen!

  • Ich hab jetzt mal die mit PGCDemux demuxte m2v und ac3 mit MKVMerge demuxt und dort den Delay von -160ms angegeben. Ist synchron. Mit einer wav und dem Delay geht es auch (erstellt aus der ac3 mit Audacity).

    Auch ist im Dateinamen kein Delaywert zu sehen.

    Ich vermute aber mal es ist irgendein Problem beim laden der Audiospur mit Avisynth. Denn wenn ich die wav in Avisynth lade (versucht mit ffaudiosource und wavsource) und durch Megui jage kann ich die aac mit dem Delay synchron muxen. Lade ich die ac3 mit ffaudiosource, nicac3source oder ac3source kann ich die aac nicht synchron muxen (egal ob ac3 "pur" oder aus einer MKV). Die ac3 in der MKV aber wird sauber abgespielt. Mal sehen ob das bei allen Videos wo das Problem bestand so bleibt.

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

  • das ist normal, da mkv intern versucht delays zu 'fixen'

    Kann man das irgendwie deaktivieren, denn definitiv geht hier bei AAC etwas nicht. Gemuxt mit AC3 alles super, mit AAC gehts nicht. Ich habe die AC3 demuxt per ac3source und ffaudiosource sowie aus einer per MakweMKV aus der DVD erstellten MKV mit ffaudiosource in AviSynth geladen und unverändert (kein trim u.ä.) an Megui gegeben. Auch dort keine Änderungen (z. B. Samplingrate).

    Wenn hier MKVMerge versucht den Delay selbst zu fixen muss es aber bei AC3 und AAC unterschiedlich arbeiten. Denn bei AC3 erhalte ich immer den angegebenen Delay-Wert, bei AAC nicht. Was auch immer MKVMerge macht, es geht nicht.

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

  • Zitat

    Kann man das irgendwie deaktivieren,..


    ist glaub nicht,..

    Würde einfach mal einen detaillierten Bugreport mit Sampeln&Co machen und dann:
    a. entweder hier oder im englischen Forum Mosu Bescheid geben udn den Report übergeben
    b. beim mkvtoolnix Bugzilla einen Account machen und dort den Report posten

    Cu Selur

  • Bezweifle, daß mkvmerge schuld is. Die "automatischen Fixversuche" von mkvmerge beschränken sich auf folgendes:
    1. Ein "DELAY -160ms" im Dateinamen führt zum automatischen Eintrag in das Delayfeld der grafischen Oberfläche von mmg. Dies ist hier nicht der Fall.
    2. Negative Delays bedeuten, daß alle Pakete, die vor dem Zeitpunkt "0" starten würden, gelöscht werden. Dabei kann ein Rest übrigbleiben, wodurch hinterher ein kleines positives Delay bleibt. AC3 hat eine Framelänge von 32 ms, welche exakt 5 mal in 160ms passen, weshalb hier kein Delay verbleibt, sondern nur die ersten 5 Pakete gelöscht werden. Bei AAC geht es nicht genau auf, ein Rest von 11ms bleibt.

    Wenn Du ganz sicher gehen willst, daß es nicht an mkvmerge liegt, schneide die Tonspur bereits vorher zurecht (mit Trim() im AviSynth oder bei der Umwandlung mit eac3to) oder setze stattdessen ein Delay für die Videospur. Könntest auch testweise mit l-smash oder mp4box eine mp4-Datei erstellen, damit wäre mkvmerge ganz ausgeschlossen.

    NeroAacEnc erzeugt meine ich auch selbst ein kleines Delay, allerdings sollte einem das im Player nicht auffallen, weil es dazu zu kurz ist. Problem könnte also wirklich irgendwie vor dem Muxen liegen.

  • Negative Delays bedeuten, daß alle Pakete, die vor dem Zeitpunkt "0" starten würden, gelöscht werden. Dabei kann ein Rest übrigbleiben, wodurch hinterher ein kleines positives Delay bleibt. AC3 hat eine Framelänge von 32 ms, welche exakt 5 mal in 160ms passen, weshalb hier kein Delay verbleibt, sondern nur die ersten 5 Pakete gelöscht werden. Bei AAC geht es nicht genau auf, ein Rest von 11ms bleibt.

    Hm, das könnte sein. Kann man da beim Erstellen der AAC etwas machen?

    NeroAacEnc erzeugt meine ich auch selbst ein kleines Delay, allerdings sollte einem das im Player nicht auffallen, weil es dazu zu kurz ist. Problem könnte also wirklich irgendwie vor dem Muxen liegen.

    Ist das bei allen AAC-Encodern so? Was für Alternativen wären denn brauchbar? Mir würde jetzt nur FAAC einfallen, hab ich aber noch nie versucht.

    Eine richtige Szene vorausgesetzt fallen mir auch kleine Delays auf. Ich hatte ja geglaubt das Problem hinbekommen zu haben (mit dem 160ms-Delay). Mir ist dann aber dennoch der 32ms-Delay aufgefallen. Scheinbar bin ich da empfindlicher als der Durchschnitt.

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

  • Hm, das könnte sein. Kann man da beim Erstellen der AAC etwas machen?

    Ich wollte hier nur das Verhalten von mkvmerge bei negativen Delays erklären. Dieses ist vollkommen in Ordnung, absolut korrekt, und daran muß man auch nichts "machen". Es ist nicht die Ursache von Sync-Problemen.

  • Ich wollte hier nur das Verhalten von mkvmerge bei negativen Delays erklären. Dieses ist vollkommen in Ordnung, absolut korrekt, und daran muß man auch nichts "machen". Es ist nicht die Ursache von Sync-Problemen.

    Nich? Wenn ich ein Delay eingeben und stattdessen ein anderes Delay bekomme, was ich bei einem anderen Format nicht habe?

    So wie du das schreibst könnte das "Problem" bei AAC (oder der Art und Weise wie die AAC erstellt wird) liegen. Frage ist jetzt ob das grundsätzlich bei AAC so ist oder ob dies nur beim Nero-AAC-Decoder so ist oder evtl. nur meine Einstellungen betrifft.

    _________________________

    Zitat

    Zieht ein Bienenschwarm aus, so wird er herrenlos, wenn nicht der Eigentümer ihn unverzüglich verfolgt oder wenn der Eigentümer die Verfolgung aufgibt.


    § 961 BGB [Eigentumsverlust bei Bienenschwärmen]

    :D

  • Ich habe mal eben selbst nachvollzogen, was meiner Meinung nach dem Nero-Delay entspricht. Dazu nur die .m4a-Datei mit mkvmerge zu einer .mka-Datei muxen und anschließend im Kapiteleditor öffnen. In meinem Test war es ein Delay von 54 ms. Man müßte also für die finale Datei -160ms -54ms = -214 ms nehmen, wenn ich mich gerade nicht vertue.

    Kannst Du das testen?

  • Weiterer Test:
    qaac scheint ein ähnliches Delay zu verursachen, ebenfalls im Bereich von 50ms - 60ms. Für mich persönlich zu gering, um bemerkt zu werden. Ob's wirklich daran liegt?

    Hier steht etwas über diese Delays:
    http://forum.doom9.org/showthread.php?t=156200

    Ist wohl nicht ganz eindeutig, ob man es beim Muxen ignorieren sollte oder nicht.

    Einmal editiert, zuletzt von sneaker2 (12. Januar 2012 um 22:04)

Jetzt mitmachen!

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