Muxxen von 23.976fps-Video mit 25fps-Audio funktioniert nicht

  • Hallo erst mal :)

    Ich habe ein Problem mit dem Zusamenfügen einer h264-Datei mit 23.976 fps und Audiodateien aus einer AVI-Datei mit 25fps.
    Aber lieber von ganz vorne.


    Ich habe 2 Videodateien, einmal ein MKV-Container mit h264-Video und einem Ogg-Audio. Der läuft mit 23.976 fps und in 480p.
    Dann habe ich eine AVI-Datei, die 2-Audiodateien hat und mit 25fps läuft.

    Da die MKV-Version eine wesentlich bessere Videoqualität hat, wollte ich die Audiodateien aus dem AVI in den MKV packen. Außerdem muss ich aufgrund von Kompabilitätsproblemen mit meinem Media Player die Ogg-Audio sowieso durch eine MP3 ersetzen, da ich sonst keinen Sound habe.

    Also habe ich den MKV mit MKVextract "gedemuxxt", wonach ich dann eine h264-Datei, eine Ogg-Datei, Chapter-txt, Untertitel (ass/srt) und einige Schriftarten erhalten habe.
    Danach habe ich mit VirtualDubMod die Audio-Dateien aus dem AVI extrahiert (als MP3s).

    Jetzt habe ich also eine H264-Datei (Laufzeit im Original 22:50 bei 23.976fps) und 2 Audiodateien aus der AVI (Laufzeit im Original 23:07 bei 25fps).
    (Die Untertitel usw. lasse ich jetzt mal außen vor, das größte Problem ist für mich das Video)

    Jetzt will ich diese drei Dateien mit MKVmerge in einen MKV-Container packen.
    Vorneweg, das ist nicht das erste Mal, dass ich Dateien mit unterschiedlichen fps merge. Aber es ist das erste Mal, dass es um´s Verrecken einfach nicht klappen will. :nein:

    Wenn ich bei MKVmerge bei den "Format Specific Options" für den h264 bei den FPS gar nichts angebe, bekomme ich einen MKV mit 26:51 Lauflänge. Allerdings laufen die Audio-Streams ganz genau ihre 23:07.

    Wähle ich bei FPS 25 aus, erhalte ich genau dasselbe Ergebnis

    Wähle ich bei FPS dann 23,976 aus, erhalte ich einen MKV mit 28:00 Lauflänge, die Audio-Streams laufen aber immer noch nur 23:07.

    Ergo dachte ich mir, ich wähle einfach mal irgendwas um 29fps, vielleicht erreiche ich dann, dass Audio und Video synchron und mit gleicher Länge laufen. Kommt auch ungefähr hin, von synchron kann man allerdings noch lange nicht sprechen, die Audio-Streams sind jetzt zwischen 5 und 10 Sekunden vor dem Video. (?!?)

    Langsam aber sicher treibt mich diese Datei in den Wahnsinn, bei allen anderen Dateien war das nie ein Problem, aber dieses mal bekomme ich es einfach nicht hin.
    Es gibt doch sicherlich eine einfache Möglichkeit, die Dateien synchron zu muxxen, ohne großartiges Rumbasteln.
    Wie ich mich kenne ist es wahrscheinlich irgendeine Kleinigkeit, die ich übersehen habe. Schön wäre es. :ani_lol:

    Über Hilfe würde ich mich freuen!

    MfG

  • Wenn man bei MKVMerge keine FPS angibt, wählt er automatisch 25 FPS.
    Dabei kommst Du auf eine Länge von 26:51. Daraus läßt sich die durchschnittliche FPS der Ursprungsdatei berechnen:
    ((26*60+51)*25)/(22*60+50) =~ 29,39781 FPS

    Da diese Bildrate keinem Standard entspricht, liegt der Verdacht nahe, daß die Ursprungsdatei eine variable Framerate hat. Möglicherweise 24/1,001 und 30/1,001 FPS. Durch Dein manuelles Eingeben einer konstanten Framerate zerstörst Du damit jegliche Synchronisation. Du mußt die Zeitstempel aus Ursprungsdatei in die neue Datei übernehmen. Dazu gibt es zwei Möglichkeiten:
    1.) Öffne die Ursprungsdatei in MKVMerge, lasse das FPS-Feld leer und füge nun die MP3-Spur dazu und wähle nicht mehr benötigte Spuren ab oder
    2.) Extrahiere die Zeitstempel über mkvextract: "mkvextract timecodes_v2 film.mkv 1:timescodes.txt" - Wähle diese txt-Datei nun in den Eigenschaften der Videospur in mkvmerge als Quelle für die Zeitstempel

    Es liegen eventuell noch mehr Probleme vor, die ein synchrones Muxen verhindern könnten, aber die Zeitstempel müssen mit ziemlicher Sicherheit übernommen werden.

  • also,

    wenn ich mal 23.976fps mit einer amerikanischen bzw. japanischen version interpetiere
    und 25fps mit einer deutschen

    und zusätzlich die laufzeiten sehe,
    liegt der verdacht nahe das etwas geschnitten/verändert/angehangen wurde

    ich würde erstmal im film szenen nehnen ca. 30min
    um erstmal den laufzeit unterschied zu ermitteln...

    ggf. auch erstmal die filme parrallel laufen lassen um zu schauen ob was fehlt...

    ich glaube nicht das der film eine variable bildrate hat,
    denn dann würde mediainfo den kleinsten gemeinsamen nenner von ~24fps & ~30fps anzeigen, nehmlich ~120fps
    (prüf das erst einmal)

  • ich glaube nicht das der film eine variable bildrate hat,
    denn dann würde mediainfo den kleinsten gemeinsamen nenner von ~24fps & ~30fps anzeigen, nehmlich ~120fps
    (prüf das erst einmal)

    Woher willst Du wissen, ob er MediaInfo nutzt?
    Zudem habe ich doch oben die durchschnittliche Bildrate genau errechnet. Und die liegt weder bei 24/1,001 noch bei 30/1,001. Es stimmt zwar, daß nicht 100% sicher ist, daß es VFR-Material ist, aber der Verdacht liegt schon nahe.

    Nebenbei würde es mich interessieren, wo MediaInfo das anzeigen soll? Habe es gerade mal bei einer VFR-Datei getestet und es zeigt bei mir nicht das kleinste gemeinsame Vielfache an, sondern nur "23.976", obwohl es Hybridmaterial ist. Oder geht es nicht bei allen Dateien? Habe eine Matroska-Datei mit DivX im VFW-Modus getestet.

  • Woher willst Du wissen, ob er MediaInfo nutzt?

    garnicht...
    dazu müsste er sich erstmal das programm besorgen...

    Zitat

    Habe es gerade mal bei einer VFR-Datei getestet und es zeigt bei mir nicht das kleinste gemeinsame Vielfache an

    hmmm... man müsste die timecodes erstmal extrahieren...

    am besten währe es wenn man ein stück vom video bekommen könnte...
    (ggf. mit avidemux oder virtualdub schneiden)

  • Ok, erst mal danke für die Hilfe. :)

    Habe zuerst die beiden Tipps von sneaker2 versucht, hat beides nicht geholfen.

    Warum? HQ-LQ lag richtig. Habe mir mal die Zeit genommen und mir beide Versionen parallel angesehen, und siehe da .... an 2 Stellen gibt es bei der längeren Version zusätzliche Einblendungen :rolleyes:
    Wie ich bereits vermutet hatte, es war einfach irgendeine dumme Kleinigkeit, die ich übersehen hatte.

    Daher müsste es doch eigentlich reichen, wenn ich die MP3s an den entsprechenden Stellen schneide, oder? Passenderweise gibt es bei den Einblendungen auch keinen Sound, daher sollte das eigentlich funktionieren.
    Habe mir gerade mp3directcut runtergeladen, das sollte ja eigentlich ausreichen für mein Vorhaben, oder?

    Achja, Mediainfo habe ich.

  • kommt immer darauf an wie
    mit mp3directcut kann man lossless schneiden... hat aber einige millisekunden ungenauigkeit... und du müsstes vielleicht eine stille mp3 erzeugen...

    man kann den ganzen spass auch einfach über einen audioeditor machen...
    das bedeutet aber neukopression...

    andersrum kann man auch am video ansetzen
    auch hier lossles oder neucodierung...
    bei lossless musst du darauf hoffen das die keyframes schnittgünstig gesetzt sind

    ... naja wie auch immer so oder so ist ein gewisser aufwand erforderlich... viel spass

    [p.s.] lossless= verlustlos

  • Habe zuerst die beiden Tipps von sneaker2 versucht, hat beides nicht geholfen.

    Warum? HQ-LQ lag richtig.

    Ich kann Dir nur Empfehlen, die Zeitstempel der Ursprungsdatei zu übernehmen, weil ich weiterhin zu meiner obigen Rechnung stehe.
    (Einzige Ausnahme: Sollte die variable Bildrate nur aus einer Verzögerung/eines Vorziehens des Beginns der Videospur herrühren, so läßt sich das Setzen einer konstanten Framerate durch einfaches Verzögern/Vorziehen der Tonspur ausgleichen.)

  • Was lossless ist weiß ich, allerdings sagt mir stille MP3 jetzt nichts...

    Videokodierung ist mir zu viel Arbeit und, ohne dass ich mir jetzt näher damit beschäftigt habe, wahrscheinlich auch zu kompliziert. Da ist das editieren der Audiodatei wesentlich einfacher.
    Hat auch geklappt, allerdings habe ich jetzt ein neues Problem:

    Die Untertitel, die ich aus der 23:07 langen Version übernommen habe, sind jetzt logischerweise nicht mehr passend. Sie bestehen aus einer sub-Datei (da liegen die Untertitel selber, nehme ich mal an?) und einer idx-Datei, in der anscheinend die Timecodes gespeichert sind.
    Wie kann ich am einfachsten da die Stellen "rausschneiden", die ich auch in der MP3 rausgeschnitten habe?


    sneaker2: jup, funktioniert nur richtig, wenn ich die Zeitstempel der Ursprungsdatei übernehme.


    Auf jeden Fall schon mal vielen Dank für die Hilfe. :)

Jetzt mitmachen!

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