ffmpeg 慢动作视频与音频

ffmpeg 慢动作视频与音频

我可以使用以下命令制作慢动作视频(在 如何使用 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

但我也希望对音频有同样的效果,比如10-30秒有慢动作音频,否则所有其他音频部分都有正常速度。

上述命令还会增加视频长度,有什么方法可以将其减少到实际视频长度吗?

请有人帮我解决该怎么做?

答案1

你不能放慢视频速度保留其原始长度。您必须修剪掉一些部分才能做到这一点。

要减慢音频速度,请执行以下操作

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

相关内容