如何使用 Ffmpeg 在 1 个命令中删除音频的多个部分?

如何使用 Ffmpeg 在 1 个命令中删除音频的多个部分?

我试图用 ffmpeg 剪切音频的多个部分,我能够找到单个过滤器的有效结果(对于视频): ffmpeg -i input.avi -vf "select='1-between(t,20,25)', setpts=N/FRAME_RATE/TB" -af "aselect='1-between(t,20,25)', asetpts=N/SR/TB" output.avi

我如何才能将此代码适配到多个过滤器?例如,如果我想删除 10to20、50to60 等片段。

谢谢

答案1

您可以组合多个between间隔,如下所示:https://stackoverflow.com/questions/50594412/cut-multiple-parts-of-a-video-with-ffmpeg。只需从此链接复制命令:

ffmpeg -i video.mp4 \
       -vf "select='between(t,4,6.5)+between(t,17,26)+between(t,74,91)',
            setpts=N/FRAME_RATE/TB" \
       -af "aselect='between(t,4,6.5)+between(t,17,26)+between(t,74,91)',
            asetpts=N/SR/TB" out.mp4

答案2

我能够通过以下命令达到我想要的结果:ffmpeg -i input.mp3 -af "aselect='not(between(t,10,16)+between(t,20,50))'" output.mp3

答案3

将视频复制到新文件并同时删除音频是删除音频最快捷、最简单的方法。此方法很简单,因为您不必在执行此操作时重新编码电影。此处提供了实现此操作的命令行。ffmpeg.exe -i videoWithAudio.mp4 -c:v copy -an videoWithoutAudio.mp4 -c:v copy 将视频轨道复制到 videoWithoutAudio.mp4 -an 告诉 FFmpeg 不要复制音频

相关内容