AC3 erst nach Encodierung Asynchron

  • Hi!

    Es geht um eine DVD-Quelle, die ich in einen XVID-Stream mit AC3-Ton umwandeln wollte. Zuerst hab ich's mit GK probiert, hat alles geklappt nur der Ton war danach asynchron. Und zwar um so mehr, je weiter der Film fortgeschritten war.
    Wenn ich den Film von DVD auf Festplatte demuxe, also eine m2v und eine ac3-Datei hab, dann ist der Film wenn ich ihn mit MediaPlayerClassic abspiel von vorn bis hinten synchron. Die von GK erzeugte avs ist dies nichtmehr, beim abspielen wird's asynchron.
    Nachdem ich auf diesen Thread http://forum.gleitz.info/showthread.php?t=18359&page=6 gestoßen bin, hab ich die avs geändert und Nic's MPEGDecoder verwendet. Unwesentlich anders, wenn dann schlechter...
    Also hab ich die avs selbst behandelt und alles bis auf folgende drei zeilen gekürzt:

    Hi!

    Es geht um eine DVD-Quelle, die ich in einen XVID-Stream mit AC3-Ton umwandeln wollte. Zuerst hab ich's mit GK probiert, hat alles geklappt nur der Ton war danach asynchron. Und zwar um so mehr, je weiter der Film fortgeschritten war.
    Wenn ich den Film von DVD auf Festplatte demuxe, also eine m2v und eine ac3-Datei hab, dann ist der Film wenn ich ihn mit MediaPlayerClassic abspiel von vorn bis hinten synchron. Die von GK erzeugte avs ist dies nichtmehr, beim abspielen wird's asynchron.
    Nachdem ich auf diesen Thread http://forum.gleitz.info/showthread.php?t=18359&page=6 gestoßen bin, hab ich die avs geändert und Nic's MPEGDecoder verwendet. Unwesentlich anders, wenn dann schlechter...
    Die avs sieht übrigens so aus (Plugins weggelassen):

    LoadPlugin("C:\PROGRA~1\AviSynth 2.5\Plugins\MPEGDecoder.dll")
    mpegsource("irgendwas.m2v")
    crop(0,78,720,420)
    LanczosResize(720,288)

    Abschließend hab ich noch den Versuch unternommen, Avisynth rauszulassen und die Filter von VirtualDub(Mod) selbst zu benutzen, halt dann mit Full Processing statt Fast Recompress. Aber selbst die hier ausgegebene avi war mit der Tonspur nicht synchron.
    Jetz weiß ich nicht mehr weiter, denn die Framerate bleibt unverändert und avi, ac3 und m2v haben exakt die gleiche Länge. Alle anderen sachen, die ich davor und danach encodiert hab passen perfekt, also am Vorgehen an sich liegts wohl nicht.

    Freu mich über Vorschläge,
    Danke

  • Hi,

    veränderst du die AC3 an irgendeiner Stelle?

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Hm, wenn du das Video nur cropst und resizest wie oben beschrieben, kann eigentlich nix passieren. Dann kann's nur noch am Muxen oder am Abspielen liegen. Also: wie muxt du und mit was wird's abgespielt? :)

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • müssen nicht die Preload und Interleaving Einstellungen in Abhängigkeit von der AC3-Bitrate gesetzt werden?

    AC3 Bitrate (kbps) | Channels | Preload (ms) | Interleave (ms)
    448 ................... 6 ......... 128 ........... 128
    384 ................... 6 ......... 160 ........... 160
    256 ................... 2 .......... 48 ............ 48
    224 ................... 2 .......... 64 ............ 64
    192 ................... 2 .......... 80 .............80

    bei Nandub (AVI + AC3) war das damals so... kein Plan, ob das noch immer nötig ist...

  • Wie setzt man denn das?

    Hab ich noch nie gemacht beim muxen...

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • In VDub hab ich den Preload-Wert noch nie geändert. :grübeln:

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • hm, das mit den Einstellungen in VDub hab ich nicht beachtet...
    Muxen tu ich nämlich mit vdub, abspielen hab ich mit sämtlichen MediaPlayern probiert, die ich hab, hauptsächlich mit dem MediaPlayerClassic, wobei ich auch die AC3-Filter durchgewechselt hab, selbst über SPDIF direktausgabe geht's nicht.
    Ich habs aber auch ungemuxt probiert, der Mediaplayer classic spielt ja auch separate tonspuren ab, wenn der name gleich is und dann geht's auch net...
    naja ich werd noch weng rumprobieren...

  • ok, es is so, dass der ton von anfang an schneller is als das bild und zwar nicht in zunehmendem maße, wie ich geschrieben hab, sondern konstant um etwas mehr als 500ms versetzt.
    weiß einer, woher dieser versatz kommen kann? vielleicht stimmt mit der ausgangs-mpeg was nicht und er schreibt beim decodieren frames am anfang dazu oder ähnliches? wär auf jeden fall klasse, wenn ich irgendwie rauskriegen könnte, wie groß das delay wirklich ist, weil dann kann ich das in vdub eintragen und der ton stimmt...

  • Na wenn's konstant ist hast du wahrscheinlich den Delay-Wert, der bereits auf der DVD vorhanden ist, nicht berücksichtigt. Oder dein Ripper hat's verrafft. Rippe mal nur den Film auf die Festplatte (nicht demuxen) und demuxe anschließend mit DGIndex. Vielleicht sagt dir das den richtigen Delay-Wert. Oder es steht schon in der AC3 drin (im Dateinamen). Ist der Dateiname irgendwie so: "Toller Film AC3 VTS1 DELAY -640ms.ac3" oder so?

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • also, folgendes:
    Mit DGIndex hab ich's als erstes demuxt, wobei die entstehende m2v zur entsprechenden ac3 vollkommen synchron läuft (beim abspielen mit dem mpc). Die AC3 hat hierbei laut Dateiname ein Delay von -49ms.
    Streamripper hab ich noch probiert, der sagt Delay 0, wieder sind m2v und ac3 vollkommen synchron.
    wandel ich die m2v in xvid um, wobei ich lediglich cropping- und resize-filter verwende (egal ob mit avisynth als frameserver oder nicht) ist der ac3-ton dem bild etwa 1200ms voraus. Die vobs scheinen allerdings auch einen Fehler aufzuweisen wie mir leider erst die neueste version von DGIndex mitteilte, wobei eine meldung wie "field order transition detected, please use fixd2v" eingeblendet wird. ob ich allerdings fixd2v verwende oder nicht, das Problem mit dem asynchronen Ton bleibt.
    Mein jetziges Problem ist, dass ich gerne möglichst genau wüsste, wie groß ich das Delay setzen muss, damit der Ton genauso synchron ist wie im ausgangsmaterial, ansonsten heißts wahrscheinlich probieren oder?

Jetzt mitmachen!

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