如何批量给同一个视频配不同的背景音乐?可能很多朋友有这样的需求,前段时间在做一个项目的时候,有生成大量视频的需求,需求就是给同一个视频配不同的音乐。如果用软件一个一个操作,非常的麻烦。

期间使用了RPA自动化操作剪映来生成视频,虽然不用手动操作,但是效率很低,一个视频也需要1分钟左右时间。

最后使用了 FFmpeg + 脚本来处理,速度真的是太快了,一分钟可以生成十几二十个视频。

具体步骤如下:

  1. 安装 FFmpeg :从官网下载并配置环境变量。
  2. 准备文件

    • 视频文件:input.mp4
    • 背景音乐文件夹:bgm_library/(包含 music1.mp3, music2.mp3...)
  3. 编写批处理脚本
#!/bin/bash

input_video="input.mp4"
bgm_dir="bgm_library"
output_dir="output"

mkdir -p "$output_dir"

for bgm in "$bgm_dir"/*.{mp3,wav,m4a}; do
    # 跳过不匹配的文件
    [ -e "$bgm" ] || continue

    filename=$(basename -- "$bgm")
    output_name="${filename%.*}"

    # 执行 FFmpeg 命令
    ffmpeg -y \
        -i "$input_video" \
        -i "$bgm" \
        -filter_complex "[1:a]atrim=0:60,volume=1[a]" \
        -map 0:v \
        -map "[a]" \
        -t 60 \
        -c:v copy \
        -c:a aac \
        -shortest \
        "$output_dir/$output_name.mp4"
done

我的脚本如上,仅供参考,因为我的每个视频时长都一样,因此没有对歌曲时长等进行判断限制。

文件目录

整个文件目录如下图,bgm_library 是放你的所有音乐文件的。output是生成视频的目录。input.mp4是需要配音的视频文件。video_bgm_batch.sh就是批处理文件。

image.png

如何运行

Windows电脑安装Git Bash软件来运行批处理文件。点击下载Git Bash

下载安装好之后,在文件目录里面右键选择open git bash here 会出现下面界面:

image.png

接下来输入运行代码:

#赋予脚本执行权限
chmod +x video_bgm_batch.sh
#执行脚本
bash -x video_bgm_batch.sh
#代码一行一行运行哦

接下来,脚本就自动在跑了,可以在output 文件夹里面看到生成的视频了。

不懂的,联系我。

最后修改:2025 年 05 月 15 日
如果觉得我的文章对你有用,请随意赞赏