ffmpeg-Zeitlupenvideo mit Audio

ffmpeg-Zeitlupenvideo mit Audio

Ich kann Zeitlupenvideos mit folgendem Befehl erstellen (gefunden bei So verwenden Sie den Zeitlupeneffekt in einem bestimmten Zeitintervall mit ffmpeg):

ffmpeg -i input.mkv -filter_complex \
"[0:v]trim=0:10,setpts=PTS-STARTPTS[v1]; \
 [0:v]trim=10:30,setpts=PTS-STARTPTS[v2]; \
 [0:v]trim=start=30,setpts=PTS-STARTPTS[v3]; \
 [v2]setpts=PTS/0.5[slowv]; \
 [v1][slowv][v3]concat=n=3:v=1:a=0[out]" \
-map [out] output.mp4

aber ich möchte auch den gleichen Effekt auf Audio haben, wie die Dauer zwischen10-30Sekunden haben Zeitlupen-Audio, ansonsten haben alle anderen Audioteile normale Geschwindigkeit.

Außerdem erhöht der obige Befehl die Videolänge. Kann man sie irgendwie auf die tatsächliche Videolänge reduzieren?

Kann mir bitte jemand helfen, wie das geht?

Antwort1

Sie können ein Video nicht verlangsamenUndseine ursprüngliche Länge beibehalten. Dazu müssen Sie einen Teil abschneiden.

Um auch die Audiowiedergabe zu verlangsamen, gehen Sie wie folgt vor

ffmpeg -i input.mkv -filter_complex \
"[0:v]trim=0:10,setpts=PTS-STARTPTS[v1]; \
 [0:v]trim=10:30,setpts=(PTS-STARTPTS)*2[v2]; \
 [0:v]trim=start=30,setpts=PTS-STARTPTS[v3]; \
 [0:a]atrim=0:10,asetpts=PTS-STARTPTS[a1]; \
 [0:a]atrim=10:30,asetpts=PTS-STARTPTS,atempo=0.5[a2]; \
 [0:a]atrim=start=30,asetpts=PTS-STARTPTS[a3]; \   
 [v1][a1][v2][a2][v3][a3]concat=n=3:v=1:a=1[v][a]" \
-map [v] -map [a] output.mp4

verwandte Informationen