Problem beim convertieren mkv-->avi

  • Guten morgen liebe Doom9 Gemeinde. Ich habe mich an das Thema Aviscript, mkv und co gewagt und kämpfe leider gerade mit einem Problem. Und zwar ist die Videolänge nach dem Encodieren mit MeGUI falsch.
    Aber zunächst mal der Reihe nach:
    Wenn ich die mkv Quelldatei öffne sagt der VLC Player: VLC kann das Eingabeformat nicht erkennen.: Das Format von 'C:\Users\...\_Chapters.txt' konnte nicht festgestellt werden. Sehen Sie für Details im Fehlerprotokoll nach.

    Er spielt es aber soweit ohne Probleme ab. Die Abspieldauer beträgt 40:33 Minuten (laut vlc). Mediainfo kommt ebenfalls auf eine Abspieldauer von 40 Minuten.

    Hier mal der log von Mediainfo:

    naja, soweit sogut.

    Zunächst habe ich die mkv Datei mit MKVextractGUI gedemuxxed.
    Als Ergebnis hatte ich eine ac3 2.0 Tonspur und eine .h264 Videodatei.
    Wenn ich die ac3 Tonspur mit VLC abgespielt habe, gab es eine "dancende" Abspielzeit. Also die Abspielzeit springt reltaiv random von 40:00-45min die ganze Zeit herum. Allerdings wird es normal abgespielt. Diese Ac3 hab ich zunächst gesucht vernünftig zu re-encodieren, damit die Abspielzeit eben nicht mehr springt. Daran sind schon zahlreiche Programme gescheitert (z.B. BeSweet, SUPER, MeGUI, headac3e...) naja, jedenfalls hab ich es dann mit dem älteren Programm Ac3Tool geschafft eine Wav Datei zu erzeugen, die korrekt 40:33 Minuten lang ist. Diese habe ich dann mit WAV to AC3 Encoder wieder in eine (jetzt vernünftige) Ac3 Tonspur gemacht.

    So nun gehts weiter: Die h264 Videodatei habe ich mit dgavcdec eingelesen und ein dga File erstellt. Dieses habe ich dann in ein AviSynth Script eingebaut. Dieses sieht so aus:

    LoadPlugin("C:\...\dgavcdec109\DGAVCDecode.dll")
    AVCSource("C:\...\meineDatei.dga")
    Anmerkung: Die Punkte hab ich jetzt nur gesetzt um zu kürzen.

    dieses AviSynthScript habe ich nun in MeGUI eingebunden (er hats auch ohne Probleme genommen) und bei Encoder Settings das Profile
    XviD: 2pass HQ (HomeTheatre) ausgewählt.
    File Format avi.

    Wenn ich ihn nun das Ganze machen lasse, erhalte ich eine Avi Datei, die nicht 40:33 lang ist, sondern plötzlich 42:17 Minuten. :(

    Wenn ich nun die Avi und die ac3 mit MeGUI (oder anderen Programmen) muxxe, ist das Ergebnis natürlich eine asynchroner Ton.

    Spiele ich die Avi Datei ohne Ton im VLC Player ab, kommt zum einen wieder der bekannte Fehler der Mkv Datei UND ich habe wieder die "dancende" Abspielzeit, die zwischen 40:00 und 45Minuten random rumspringt. Abgespielt wird es aber normal, ohne Ruckeln und Fehler.

    Meine Frage ist nun, da ich noch sehr neu in der AviSynth Script Materie bin, ob ich noch irgendwas in das Script schreiben muss, bzw. ob einer von euch weiß wo das Problem liegt?

    Anscheinend sind ja die FPS irgendwie im Arsch, sonst würde er ja nicht springen. Denke also mal, dass ich beim Scripten irgendwas beachten muss.

    Bin für jede Art von Hilfedankbar und hoffe, dass dieser Bericht ausführlich genug war.

    P.S: Habe wie beschrieben lange gegoogelt und gesucht und eben diverse Tools ausprobiert zum muxxen / demuxxen / encoden. Konnte ja wie beschreiben auch das Ac3 File wieder in ordnung bringen, aber bei dem h264 File weiß ich halt leider nicht weiter.

  • In deinem Fall unterscheiden sich die Containerframerate (mkv) von der im Header des Videoteils angegeben Framerate des Videoteils.
    Im Header des AVC Videoteils ist als Framerate 23.976 angegeben, abgespielt wird aber mit 25 fps und deshalb passt es zum Audio.

    Zitat

    Bildwiederholungsrate : 25,000 FPS
    originale Bildwiederholungsrate : 23,976 FPS


    Du musst also nur den Header des Videos auf 25 patchen. Dies kannst du beim demuxen/remuxen mit z.b tsMuxeR (Change FPS in den General Track Options) oder eac3to.(-changeto25.000 als Parameter) machen.

Jetzt mitmachen!

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