Ich habe ein .mov-Video mit 24 fps und 5.1-Audio.
Ist es möglich, die Framerate ohne Frame-Resampling von 24 auf 25 fps zu ändern (keine Frame-Duplizierung / -Entfernung - nur neue Frameraten-Interpretation) und die Tonhöhe gleich zu halten?
Normalerweise tun Sie dies, indem Sie die Frame-Daten nicht neu abtasten, sondern das Video-Flag von 24 auf 25 fps setzen. Es besteht jedoch die Notwendigkeit, das Audio so anzupassen, dass es verkürzt wird. Ist es möglich, alles in einer ffmpeg-Befehlszeile oder vielleicht in mehr als einer zu erledigen und dafür eine Batch-/Bash-Datei vorzubereiten?
Sind die Audioverarbeitungsfunktionen von ffmpeg von professioneller Qualität oder von geringer Qualität im Vergleich zu professionellen Algorithmen wie Avid Pro Tools und Adobe Audition?
Hinweis: Diese Frage unterscheidet sich von dieser Frage Video von 24 auf 25 fps umwandeln, während die Video- und Audiolänge beibehalten und auch die Tonhöhe korrigiert wird .
Hier möchte ich wissen, wie man dasselbe macht, aber die tatsächliche Länge des Videos verkürzt und den Ton entsprechend anpasst , um die Tonhöhe auf professionelle Weise beizubehalten.
Wenn Ihr Eingabestream keine B-Pyramide hat, dh B-Frames, die als Referenzen für andere B-Frames verwendet werden, und Ihr ffmpeg-Build librubberband verknüpft hat, verwenden Sie die folgenden Befehle:
#1 Video in Raw-Stream extrahieren
ffmpeg -i in.mkv -c copy in.h264
#2 Audio neu timen und verarbeiten
ffmpeg -r 25 -i in.h264 -i in.mkv -map 0 -map 1:a -af rubberband=tempo=1.04166 -c:a pcm_s16le out.mkv
Wenn Ihr H264-Stream Referenz-B-Frames enthält, müssen Sie mp4box als Vermittler verwenden.
dh
#2a Retime-Video
mp4box -add in.h264#fps=25 -new in25.mp4
#2b Audio verarbeiten und Video hinzufügen
ffmpeg -i in25.mp4 -i in.mkv -map 0 -map 1:a -af rubberband=tempo=1.04166 -c:a pcm_s16le out.mkv
ffmpeg -i input.mov -r 25 -c:v libx264 -preset ultrafast -crf 18 -c:a libfdk_aac -filter:v "setpts=0.96*PTS" -filter:a "atempo=1.0417" output.mov
Ich bin mir bei der Tonhöhe jedoch nicht sicher. Wie auch immer, entschuldigen Sie die anfängliche Verwirrung über h264 als Eingabevideo.. Im Allgemeinen ist meine Eingabe ein ProRes, DNxHD-Codec.. (wäre cool, einen Befehl zu haben, der könnte für jede Art von Eingabe funktionieren)atempo
wird die Tonhöhe verändern. Es gibt einen neuen nativen Filter, der bald zu ffmpeg hinzugefügt wird, der Tempoänderungen ohne Tonhöhenänderung ermöglicht, aber seine Qualität ist nicht so gut wie Gummiband.
Michael Liebmann
Benutzer3450548
Gyan
Benutzer3450548