Bild oder Ton asynchron ??

  • Hallo,

    wie schon im Titel beschrieben, ist für mich entweder Bild oder Ton asynchron.

    Also, Ausgangsmaterial war eine mkv Datei:

    Daraus wollte ich mir jetzt gern eine DVD erstellen.

    Also hab ich das Ganze mit mkv extract erstmal entpackt. Bild wollte ich gern mit dem HCEnc in das korrekte Format bringen und Ton, naja dazu kommen wir später.
    die *.h264 Videodatei hab ich also mit DGAVCIndex soweit vorbereitet und hier meine dazugehörige AVS-Datei:

    Zitat

    setmemorymax(1024)
    LoadPlugin("F:\Program Files (x86)\Encode\AviSynth 2.5\plugins\Decomb.dll")
    avcsource("E:\DVD\Film.dga")
    BicubicResize(720,556)
    AddBorders(0,10,0,10)
    AssumeFPS(25.000)


    Soweit alles ok, sieht auch in Ordnung aus das Bild.

    Die DTS Spur habe ich zuerst mit Tranzcode zerlegt in WAV Dateien um diese dann mit EncWAC2AC2 wieder zu einer AC3 Tonspur zusammen zu fügen. Das hat bis dahin auch noch funktioniert.
    Jetzt wollte ich natürlich den bekannten Speedup machen um auf PAL Format abspielen zu können.
    Dafür sollte EAC3TO genutzt werden:


    bild und Ton wollte ich nun wieder über DVDlab zusammensetzen. Das Ergebnis allerdings klingt komisch und asynchron. die Asynchronität wird im Laufe auch grösser.
    Jetzt geh ich irgendwie in der Annahme, der Film hatte zu Anfang wirklich 24fps. Wobei das Bild dann korrekt läuft, der Ton aber zu viel Speedup bekommen hat.

    Meine Frage jetzt, würde sich ein anderer Encoder anbieten um den Ton noch einmal zu encoden, bei dem ich die genaue Rate vorgeben kann oder wäre es wohl einfacher, das in einem AVS so umzusetzen, damit mein HCEnc bescheid weiss?
    Da in einigen Thread hier im Forum geschrieben wird, Aften hätte den besten Free-Encoder, wie müsste eine passende Batch ungefähr aussehen? In der Longhelp hab ich zwar gesucht, doch richtig was gefunden ist leider Fehlanzeige.

    Gruß
    Fisker

    EDIT:

    Zitat

    Eine Idee, die ich noch hätte, wäre, dass ich im AVS Script für den HCEnc die Framerate mit angeben kann, ähnlich dem Einlesen von AVI's über DirectShow. Was haltet ihr davon?

    Einmal editiert, zuletzt von Fisker (20. März 2009 um 00:26)

  • Warum den Ton zuerst mit Tranzcode, EncWAC2AC2 wandeln und dann mit Eac3to "speedup"en ?
    Eac3to kann DTS direkt nach AC3 encoden.

    Welche Framerate hat der ursprüngliche MKV Container?

    Der Videostream hat 24 fps und wird auf 25 fps beschleunigt, Audio von 23.976 auf 25 fps.
    Du beschleunigst Video auf 104,17 %, Audio auf 104,27 % es muss also asynchron werden.

  • Warum den Ton zuerst mit Tranzcode, EncWAC2AC2 wandeln und dann mit Eac3to "speedup"en ?
    Eac3to kann DTS direkt nach AC3 encoden.

    Welche Framerate hat der ursprüngliche MKV Container?

    Der Videostream hat 24 fps und wird auf 25 fps beschleunigt, Audio von 23.976 auf 25 fps.
    Du beschleunigst Video auf 104,17 %, Audio auf 104,27 % es muss also asynchron werden.

    Haja, das es so ist, weiss ich selber. Das mit EAC3TO und DTS bisher noch nicht, hab ich wohl nicht aufgepasst.

    Was ich suche ist derzeit ne Lösung für das Problem. In der Batch für EAC3TO hab ich ja den "-speedup" drin. Das kann ich Inhaltlich nicht ändern, also muss ich mir was anderes einfallen lassen, um dem Video vorzugaukeln, das es statt 24fps nur 23,976fps hat. Aber wie??

  • Deshalb die Frage nach der MKV Framerate, wurde Video oder Audio im Container angepasst?

    Zitat

    das es statt 24fps nur 23,976fps hat. Aber wie??

    eac3to original24fps.h264 23976.h264 -changeto23.976

    oder bereits beim demuxen des MKV Containers

    eac3to film.mkv 1: video.h264 -changeto23.976 2: audio.ac3 -448 -speedup

    2 Mal editiert, zuletzt von bigotti5 (20. März 2009 um 01:17)

  • Hallo,

    wie schon im Titel beschrieben, ist für mich entweder Bild oder Ton asynchron.

    Was ist der Unterschied zwischen einer Ente? -- Sie hat zwei gleich lange Beine, besonders das linke.

    Eine Asynchronität gibt es nicht entweder für Video oder für Audio - dieser Begriff beschreibt statt dessen die Tatsache, dass zwischen zwei Spuren keine Übereinstimmung besteht. Das bedeutet, Asynchronität gibt es nur im Vergleich zwischen mehreren Spuren. Eine einzelne Spur (nur Video oder nur Audio) hat ja nichts, womit man sie vergleichen könnte.

  • Was ist der Unterschied zwischen einer Ente? -- Sie hat zwei gleich lange Beine, besonders das linke.

    Eine Asynchronität gibt es nicht entweder für Video oder für Audio - dieser Begriff beschreibt statt dessen die Tatsache, dass zwischen zwei Spuren keine Übereinstimmung besteht. Das bedeutet, Asynchronität gibt es nur im Vergleich zwischen mehreren Spuren. Eine einzelne Spur (nur Video oder nur Audio) hat ja nichts, womit man sie vergleichen könnte.

    also, wenn ich meine MKV Datei im VLC Player abspiele, ist alles synchron. Und damit meine ich den vergleich zwischen dem Bild und dem Ton. Die Tür geht zu, es knallt.

    Nach dem ganzen Vorgang, den ich oben beschrieben habe und den Verfahren, die zum Einsatz gekommen sind, ist der Vergleich danach, dass es nicht mehr synchron ist.
    Der Ton passt also nicht mehr zum Bild.

    Ich versteh irgendwie nicht, wie man das jetzt falsch verstehen kann.

    Ich habe aus dem MKV ein Video *.h264 mit 24fps demuxxed mit einer dazu passenden Tonspur. Die beiden sollen jetzt ein Speedup bekommen auf 25fps. Mit dem Video will ich behaupten, klappt das ja auch.
    Da der Ausdruck Speedup allerdings eine Konvertierung von 23,976fps zu 25 fps bedeutet, ist mein Ton nicht gleichermassen wie mein Video beschleunigt worden.

    Also daher die Frage, wie kann ich eine AC3 Tonspur von 24fps zu 25fps konvertieren. Bewusst ist mir, dass es keine Framerate gibt bei Tonspuren, daher vielleicht anders ausgedrückt, wie kann ich die Tonspur um den Faktor 25/24 beschleunigen?

  • Mir ging es eigentlich bloß um die Semantik (Wortbedeutung): Asynchron ist nicht entweder Video oder Audio, sondern Video und Audio im Verhältnis zueinander.
    __

    Um einen Speedup auch bei einer AC3-Tonspur zu ermöglichen, muss man sie zunächst (a) decodieren, dann unkomprimiert (b) beschleunigen, und schließlich (c) wieder encodieren.

    Dabei verliert man Qualität (a) durch die geringere Dynamik der WAV-Dateien, wenn man 16 bit erzeugt, (b) durch das Resampling, und (c) durch erneute Psychoakustik. Aber für den Heimbereich mag das vertretbar sein.

    Man kann die Decodierung und Beschleunigung mit BeSweet erreichen, so dass man schließlich bei Pro-Logic-Surround eine Stereo-WAV-Datei oder im Falle von Mehrkanalton sechs Mono-WAV-Dateien (je eine pro Kanal) hat. Diese sollte man aber nicht mit BeSweet wieder encodieren, das kann Aften in besserer Qualität (mit dabei im "WAV to AC3 Encoder", Google-Code-Projekt wavtoac3encoder).


    Das aber nur als "herkömmliche" Methode. Vielleicht ist eac3to hier flexibel genug, um nicht nur das eine Beschleunigungsverhältnis direkt hinzukriegen.

    Auf gute Zusammenarbeit:

    REGELN befolgen | SUCHE benutzen | FAQ lesen | STICKIES beachten

    Einmal editiert, zuletzt von LigH (20. März 2009 um 14:52)

  • Einmal frag ich noch - welche Framerate hat der ursprüngliche MKV Container (und nicht die darin enthalten Streams)?

    Wurden die 24fps des Videos im MKV Container auf 23.976 verlangsamt oder das Audio auf 24fps beschleunigt?

  • Einmal frag ich noch - welche Framerate hat der ursprüngliche MKV Container (und nicht die darin enthalten Streams)?

    Wurden die 24fps des Videos im MKV Container auf 23.976 verlangsamt oder das Audio auf 24fps beschleunigt?

    Also, im ersten Post habe ich genau das Zitat geschrieben, was ich an _Infos bekommen habe, wenn ich das MKV in das Mediainfo ziehe.
    Mehr Infos habe ich lieder nicht.

  • Ich würde es mit einem Encoder versuchen der die Zeitstempel ausliest, währe sicherlich einfacher.
    Mit BeLight kann man das Audio auch umwandeln, die Bedienung ist finde ich sehr einfach und übersichtlich.
    Ich benutze/habe normalerweise kein NTSC aber ich würde das Video nicht nach PAL sondern NTSC umrechnen
    dann sollte das Audio doch wieder Synchron sein.
    Da fällt mir ein das Audio entspricht ja warcheinlich sowieso nicht der DVD-Norm :)

    Einmal editiert, zuletzt von MegaDeath (22. März 2009 um 22:00)


  • da würd ich folgendes sagen:

    Zitat

    Ich würde es mit einem Encoder versuchen der die Zeitstempel ausliest, währe sicherlich einfacher.
    Mit BeLight kann man das Audio auch umwandeln, die Bedienung ist finde ich sehr einfach und übersichtlich.
    Ich benutze/habe normalerweise kein NTSC aber ich würde das Video nicht nach PAL sondern NTSC umrechnen
    dann sollte das Audio doch wieder Synchron sein.
    Da fällt mir ein das Audio entspricht ja warcheinlich sowieso nicht der DVD-Norm

    wenn ich das Ganze wieder in NTSC also 29,97 fps bringen will, wird aber sicher beim Video ein Verfahren angewandt, was normal aus 23,976 fps arbeitet. Fazit, dann wäre der Ton zwar noch immer der Gleiche, das Film Material wurde aber mit 2:3 Pullown von der falschen Ausgangsframerate konvertiert.
    ausserdem hab ich bemerkt, dass ich bei einer solchen Konvertierung immer diese unschönen Sprünge im bild habe. Da ist mit ein Palspeedup irgendwie lieber.

    BeLight allerdings sollte es möglich machen, aus dem Ganzen ein Speedup mit Faktor 25/24 zu schaffen.
    dummerweise schmiert BeLight bei mir immer ab. Derzeit hab ich ein 64bit System am laufen, vielleicht liegts ja daran.

  • So,

    Entschuldigung, aber ich konnte mich lang nicht um das Thema kümmern. Die Lösung war im Nachhinein relativ einfach.
    Man kann ein solches Speedup auch gut mit EAC3TO durchführen.

    Es gibt einen weitere Parameter, die man anhängen kann. So sieht beispielweise meine Batch-Datei jetzt so aus:

    Code
    eac3to "I:\BDMV\STREAM\00000.m2ts" 3:"F:\tmp\Sound_1.ac3" -24.000 -384 -speeduppause


    Innerhalb der Batch-Datei kann die Framerate der Quelle manuell mit übergeben werden und wird in diesem Falle nicht automatisch als 23,976 fps angenommen.

    Hier mal das Beispiel an einer BD mit Logfile:

    Ton und Bild passen auf diese Weise prima zusammen und sind im Vergleich synchron zueinander.

    Gruss
    Fisker

    P.S.: Wollte dies nur abschliessend posten um den Thread damit zu schliessen.

Jetzt mitmachen!

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