使用FFmpeg在长MP3中随机多次插入短音频的方法
实现短音频随机插入长音频的方法
工具准备
使用跨平台的免费音频处理工具 ffmpeg,确保你已经安装它。
步骤1:生成随机插入时间
长音频时长为10分钟(600秒),短音频1秒,所以插入起始时间范围是 0到599秒(避免短音频超出长音频时长):
- Linux/macOS 终端执行:
RANDOM_TIME=$(shuf -i 0-599 -n 1) - Windows 命令提示符执行:
for /f %i in ('powershell -Command "(Get-Random -Minimum 0 -Maximum 600)"') do set RANDOM_TIME=%i
步骤2:执行合并命令
将生成的随机时间代入 ffmpeg 命令,完成插入合并:
- Linux/macOS:
ffmpeg -i long.mp3 -i short.mp3 -filter_complex "[1:a] adelay=${RANDOM_TIME}s:${RANDOM_TIME}s [delayed]; [0:a][delayed] amix=inputs=2:duration=first" -c:a libmp3lame output.mp3 - Windows:
ffmpeg -i long.mp3 -i short.mp3 -filter_complex "[1:a] adelay=%RANDOM_TIME%s:%RANDOM_TIME%s [delayed]; [0:a][delayed] amix=inputs=2:duration=first" -c:a libmp3lame output.mp3
命令说明
adelay=${RANDOM_TIME}s:${RANDOM_TIME}s:给短音频添加随机时长的延迟,两个值对应立体声左右声道的延迟(单声道可只写一个值)。amix=inputs=2:duration=first:将长音频和延迟后的短音频混合,输出时长与长音频保持一致。-c:a libmp3lame:指定输出音频编码为MP3格式。
内容的提问来源于stack exchange,提问作者CoderPadwan
相关产品推荐
相关产品推荐

