使用 ffmpeg 合并音频文件

使用 ffmpeg 合并音频文件

我有 3 个 opus 音频文件,我需要按照以下顺序和长度将它们合并为 1 个 opus 音频文件:

  • File1.opus 时长为 1 秒
  • 1秒静默间隙
  • File2.opus 时长为 2 秒
  • 半秒静默间隙
  • File3.opus 时长为 1 秒
  • 半秒静默间隙

我该如何使用 ffmpeg 来实现这一点?

在此处输入图片描述

非常感谢

答案1

假设您已经拥有File1.opusFile2.opusFile3.opus可以使用此ffmpeg命令来完成此任务。要合并具有指定间隙的三个 Opus 音频文件,您需要使用 filter 函数插入静音并使用 concat 解复用器连接音频文件。以下是您可以使用的命令:

ffmpeg -i File1.opus -f lavfi -t 1 -i anullsrc=r=48000:cl=stereo -i File2.opus -f lavfi -t 0.5 -i anullsrc=r=48000:cl=stereo -i File3.opus -f lavfi -t 0.5 -i anullsrc=r=48000:cl=stereo -filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]concat=n=6:v=0:a=1[a]" -map "[a]" output.opus
  • -f lavfi -t 1 -i anullsrc=r=48000:cl=stereo– 生成 1 秒的无声音频片段
  • -filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]concat=n=6:v=0:a=1[a]"– 复杂的过滤器链连接音频流,同时处理指定的间隙
  • -map "[a]"– 将连接的音频流映射到输出
  • output.opus– 输出文件名

相关内容