MKVToolNix: Kann man damit den fps-Flag von Video-Dateien ändern?

Registriert
Juli 2022
Beiträge
158
Ich habe das Programm vor einigen Jahren mal benutzt, um die Tonhöhe von Streams anzupassen (wegen PAL-Speedup). Die waren allerdings alle korrekt in 23,976. Mehr habe ich mich mit dem Programm nicht beschäftigt.
Nun würde ich gerne neben diesem Schritt noch die Videodatei selbst statt mit 25 fps mit 23,976 abspielen lassen – aber ohne dass es jede Sekunde zu Rucklern kommt. Hintergrund:

1. Auch wenn mein Mediaplayer (Orbsmart R82) die Framerate korrekt umschaltet, geht dadurch der Anfang des Films im schwarzen Bild während des Umschaltens verloren. Ebenso der Schluss, wenn es wieder zurückstellt. Kann man zwar umgehen, indem man vor dem Start die Framerate manuell einstellt, aber diesen Schritt möchte ich mir sparen.
2. Wichtiger: Bei Musik/Songs in Filmen bemerkt man die unterschiedliche Geschwindigkeit nicht nur durch die 4% höhere Tonhöhe, sondern auch die entsprechend schnellere Geschwindigkeit der Songs. Das würde ich gerne beheben.

Gibt es also eine Möglichkeit, laienhaft ausgedrückt, dem Video einen Flag zu verpassen, damit es statt in 25 in 23,976 fps abgespielt wird, die Bilddaten aber nicht neu codiert/berechnet werden, um die Qualität zu erhalten?

Vielen Dank schon mal!
 
Es gibt ein Feld dafür, in das man die Framerate als Wert oder Bruch eingeben kann. Allerdings findet kein Resampling des Tons statt, was Du zwar auch nicht möchtest, aber nicht jeder Player kommt damit klar. Es kann auch sein, dass der Player solche Metadaten ignoriert. Probiere es doch aus, das Programm ist schnell runtergeladen.
 
  • Gefällt mir
Reaktionen: Bundesgerd
Wenn du nur das Flag änderst, nicht aber die FPS selbst, bringt das etlicher Abspieler aus dem Tritt.

Besser: Neu mit 23,976 FPS enkodieren.
 
  • Gefällt mir
Reaktionen: inge70
Blöde Frage meinerseits, mit welchem Player spielst du denn deine Medien ab? In Plex 100% und Jellyfin meiner Ansicht nach auch müsste es die Option geben, dass er eine Pause macht während die Umschaltung der Bildwiederholfrequenz erfolgt.

Aber vielleicht habe ich die Fragestellung einfach nicht verstanden.
 
Doch, das ist ein Punkt der Fragestellung. Der Orbsmart R82 startet sofort.

Ein resampling des Tons würde ich auch auf alle Fälle wollen, doch da weiß ich wie es geht 😉
Also wenn ich es richtig verstanden habe, geht das mit dem Flag, könnte aber den Player irritieren. Wenn man aber auch das Bild neu kodiert, würde das ja wahrscheinlich zu Qualitätsverlusten führen, oder? Oder gibt es empfehlenswerte Einstellungen dafür, falls es mit dem Flag nicht funktioniert?
 
CarlFredricksen schrieb:
Wenn man aber auch das Bild neu kodiert, würde das ja wahrscheinlich zu Qualitätsverlusten führen, oder?

Ja, leider. Ein erneutes Enkodieren bringt immer Qualitätsverlust mit sich, weil etwas schon Komprimiertes noch einmal komprimiert wird.

Wenn du Zugriff auf das Original (DVD, BD, UHD-BD) hast, solltest du mit dem Original neu enkodieren. Hast du keinen Zugriff darauf, mußt du in den sauren Apfel beißen und das nehmen, was du hast. Teste einfach mal, wie stark der Qualitätsverlust ausfällt. Zur Not auch mit CRF 0 probieren.
 
mkvtoolnix -> header editor -> default duration -> länge eines frames in ns:

1775130855593.png


-> 1 / 41666666 * 10^9 = 24 (fps)
 
Danke für eure Antworten. Ich bin gerade unterwegs, daher kann ich noch nichts ausprobieren. Vielleicht klappt das mit dem Flaggen ja doch. Ansonsten würde ich die Filme mal testweise neu enkodieren. Es handelt sich dabei übrigens um Aufnahmen aus arte.
Ich hatte vor ein paar Wochen mal eine Datei, die ich aus YouTube heruntergeladen hatte, neu enkodiert, da sie sich unbearbeitet nicht überall abspielen ließ. Ich hab dann die Parameter so eingestellt, dass es möglichst keinen sichtbaren Verlust gibt. Klappte auch. Aber die Datei war danach statt 1 GB 20 GB groß. Da waren meine Einstellungen wohl zu viel des Guten 😁
 
Warum willst Du überhaupt von 25fps nach 23.976fps wechseln? Das klingt nicht sonderlich vernünftig.
Ok, Du willst wirklich "Reverse PAL Speedup".

Neukodiert, sofern notwendig, wird nur die Tonspur. Der Film wird im Idealfall nur verlangsamt (ohne Rekompression).

Edit: Wobei die heutigen Formate/Container das u.U. nicht mehr so einfach unterstützen und man die Struktur der Bildspur dennoch neu erstellen/rekodieren muss (obwohl das technisch an sich nicht nötig wäre). Sicher bin ich mir da nicht. Edit: MKV hat da vermutlich "besonderes" Talent, bzw. kann dem Player das nochmal gesondert mitteilen.

Edit2: Hier wäre ein FFmpeg/mkvmerge Beispiel.
https://wiki.robotz.com/index.php/Compensate_for_PAL_Speedup_in_Digital_Video
ffmpeg -loglevel info -y -i "$file" -map 0 -c copy -c:a ac3 -filter:a aresample=resampler=soxr,asetrate=46033.92 -ar 48000 tmp.mkv
mkvmerge -o "$outfile" --default-duration 0:23.976fps tmp.mkv
 
Zuletzt bearbeitet:
Zurück
Oben