You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用FFmpeg批量为视频添加新音频(不混音)?

批量用FFmpeg给视频添加音频的解决方案

当然可以实现!FFmpeg本身没有内置的批量文件遍历功能,但我们可以结合shell脚本(Linux/macOS)或PowerShell(Windows)来完成这个批量处理任务,完美匹配你的目录结构需求。


Linux/macOS 解决方案(Bash脚本)

  1. 新建一个名为batch_add_audio.sh的脚本文件,填入以下内容:
#!/bin/bash

# 确保输出目录ready存在,不存在则自动创建
mkdir -p ./ready

# 遍历videos目录下的所有.mp4文件
for video_file in ./videos/*.mp4; do
    # 提取原视频的纯文件名(去掉路径)
    base_filename=$(basename "$video_file")
    # 对每个视频执行FFmpeg命令,输出到ready目录并保留原文件名
    ffmpeg -i "$video_file" -i ./audio/audio.mp3 -codec copy -shortest "./ready/$base_filename"
done
  1. 给脚本添加执行权限:
chmod +x batch_add_audio.sh
  1. 运行脚本即可开始批量处理:
./batch_add_audio.sh

Windows 解决方案(PowerShell脚本)

如果是Windows系统,用PowerShell就能实现:
打开PowerShell,直接运行以下代码即可:

# 确保输出目录ready存在
New-Item -ItemType Directory -Force -Path .\ready

# 遍历videos目录下的所有.mp4文件并逐个处理
Get-ChildItem -Path .\videos -Filter *.mp4 | ForEach-Object {
    $output_path = Join-Path -Path .\ready -ChildPath $_.Name
    ffmpeg -i $_.FullName -i .\audio\audio.mp3 -codec copy -shortest $output_path
}

关键细节说明

  • -codec copy:直接复制视频和音频流,不会重新编码,处理速度超快。如果遇到罕见的音频格式与MP4容器不兼容问题(MP3本身是兼容MP4的),可以把命令改成-c:v copy -c:a aac,这样视频流直接复制,音频流转为更通用的AAC格式。
  • -shortest:保证输出文件的时长等于视频和音频中较短的那个,避免出现一个流结束后另一个流继续播放的尴尬情况。
  • 空格兼容:脚本里用双引号包裹了所有文件路径变量,哪怕你的视频文件名带空格也能正常处理。

内容的提问来源于stack exchange,提问作者Kris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:39:28