Video, Untertitel und Audio mit unterschiedlichen FPS

  • Hi Leute,

    Ausgangslage:
    Ich habe eine mkv (h.264) und eine Tonspur in 5.1 ac3 (Quelle: DVD) sowie Untertitel idx/sub (auch DVD).
    Das Video läuft mit 24.000 fps. Die DVD mit 25.000 fps.
    Ich will nun alle drei zusammen muxen.

    Erst hab ich versucht, die mkv mit Handbrake auf 25 fps zu bringen. MediaInfo zeigt dann auch 25.000 fps an, aber das Video läuft mit der selben Geschwindigkeit wie vorher und ist auch gleich lang. Das klappte also schon mal nicht. Dann hab ich mit BDSup2Sub die Untertitel von 25 auf 24 fps geändert. Hat geklappt.

    Dann habe ich mit Avanti, einem Frontend für ffmpeg den ac3 stream per frame rate conversion auf 24 fps konvertiert. Hat auch geklappt, leider lässt die Qualität zu wünschen übrig. Wahrscheinlich wurde eine Tonhöhenkorrektur durchgeführt, und das klingt ja dann immer etwas seltsam. Ich würde also gerne den 5.1 Ac3 stream ohne Verluste auf 24 fps bekommen.

    Oder doch lieber das Video irgendwie auf 25 fps encodieren?

    Bin dankbar für jede Hilfe.

  • Obwohl ich da schon einige Zeit dran sitze, hab ich es gerade eben selbst hinbekommen.

    Mit eac3to kann man ohne Tonhöhenkorrektur (der Ton klingt dann etwas tiefer/höher, aber ohne Tonstörungen) encodieren, und zwar, in meinem Fall, mit

    eac3to source.ac3 destination.ac3 -25.000 -changeTo24.000.

    Einmal editiert, zuletzt von Skidrow (2. April 2015 um 00:12)

  • Anpassung von Video und Untertitel bietet sich aber häufig eher an, weil das ohne Qualitätsverlust funktioniert. Das kann mkvmerge ohne externe Programme wie BDSup2Sub. Warum der Player die fps-Anpassung ignorierte könnte man nochmal testen, dazu gibt es für H.264 auch einen Schalter in mkvmerge GUI unter "Formatspezifische Optionen", der sich "Zeiteinteilungsinformationen im Bitstream anpassen" nennt.

  • falls man mkv als Container verwendet, hätte man auch ohne Reencoding des Tons mittels Anpassung der timestamps (stretching) Audio&Video synchron bekommen.

    Davon wurde mir anderswo abgeraten, weil das zu Rucklern führt und eine unsaubere Methode sei.

  • Dieses "Stretching" ist bei Video und Untertiteln relativ unproblematisch - ich vermute, das war von Selur gemeint. Sein Beitrag ist da nicht ganz eindeutig. Bei Ton würde ich auch davon abraten.

  • Was 'selur' wohl meinte, ist das Strecken/Stauchen der Tonspur über die Zeitstempel im Container. Auch das ist verlustfrei - ABER dafür muss dann der verwendete Player/Decoder die Timestamps auswerten und den Ton während der Wiedergabe (quasi "on-the-fly") resamplen können. Bei Software-Playern dürfte das aktuell weniger ein Problem darstellen - ob die korrekte und vor allem synchrone Wiedergabe von auf diese Art angepassten Tonspuren aber inzwischen auch Hardware-Player beherrschen, weiß ich leider nicht.

    Auch wenn es verlustlos ist, würde ich aufgrund der fragwürdigen Kompatibilität dazu nur bedingt raten. Ich vermute zudem, dass die Ausgabequalität wohl auch vom Decoder abhängt - bzw. wie aufwändig er das fürs zeitliche Anpassen notwendige Resampling erledigt.


    Warum der Player die fps-Anpassung ignorierte könnte man nochmal testen, dazu gibt es für H.264 auch einen Schalter in mkvmerge GUI unter "Formatspezifische Optionen", der sich "Zeiteinteilungsinformationen im Bitstream anpassen" nennt.


    Das ist ein wichtiger Hinweis. Der in meinem Fernseher integrierte Mediaplayer ignoriert z.B. grundsätzlich das fps-Flag im Container und orientiert sich einzig und allein an der Angabe im Videobitstream. Daher MUSS ich bei einer Frameratenänderung diese Option zwingend in mkvmerge aktivieren, um eine synchrone Wiedergabe zu erhalten.

    Who is General Failure and why is he reading my hard drive?

    He was trying to get in touch with Private Data but if it involves a Major Disaster I understand that the fault lies with General Protection.

    Furthermore, if you cannot reboot it may be because of a corrupt Colonel.

  • Was angepasst wird, ob Audio oder Video und Untertitel kommt darauf an wo man es wiedergibt. Manche Hardwareplayer kommen mit dem einen oder anderen besser klar als andere und manche ignorieren die Timestamps komplett.
    Bei Softwareplayern sollte aber beides kein Problem sein.
    Der Gedanke war, dass es vermutlich zumindest mal nen Test wert ist, da es verlustfrei und schnell geht.

  • Ganz genau. "Verlustlos" heißt erstmal nur, dass die Audio- bzw. Videodaten in Quell- und Zieldatei bitidentisch sind. Das ist auch noch der Fall, wenn Zusatzinformationen (z.B. Zeitstempel für die Tonspur oder Infos zum Darstellungsseitenverhältnis der Videospur) integriert wurden, die die ursprünglichen Bild- und Toninformationen nicht verändern. Wenn jetzt der Audiodecoder während der Wiedergabe den Ton beschleunigt, oder der Videodecoder das Bild nach den Angaben zum Seitenverhältnis entzerrt, dann ändert das trotzdem nichts an dieser Tatsache. Schließlich kannst du Timestamps und Aspect-Ratio-Flag entfernen und hast dann wieder das 100%ige Ausgangsmaterial.

    Who is General Failure and why is he reading my hard drive?

    He was trying to get in touch with Private Data but if it involves a Major Disaster I understand that the fault lies with General Protection.

    Furthermore, if you cannot reboot it may be because of a corrupt Colonel.

Jetzt mitmachen!

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