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

如何用Shell脚本+FFmpeg批量匹配同名图片与音频生成视频?

批量用FFmpeg按文件名匹配生成视频的Shell脚本实现

已知可用的单个FFmpeg命令

单个命令在终端可正常执行,实现单张图片+单段音频生成视频:

ffmpeg -loop 1 -i image.png -i audio.wav -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest output.mp4

现有脚本问题

  1. 嵌套循环脚本会生成所有图片与音频的组合,不符合一对一匹配需求:
#!/bin/sh
for img in *.png; do
    for wav in *.wav; do
        ffmpeg -loop 1 -i $img -i $wav -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest ../mb/$img.mp4
    done
done
  1. 自行编写的匹配脚本存在逻辑错误:img=*.png仅赋值字符串而非展开具体文件名,导致判断条件恒成立,且输出文件名格式错误($img.mp4会生成类似1.png.mp4的文件,若路径处理不当还可能覆盖原图片)。

简便实现方案

方案1:同一文件夹下一对一匹配

遍历所有PNG文件,提取文件名前缀后匹配对应WAV文件,生成同名MP4:

#!/bin/sh
# 遍历当前目录下所有PNG文件
for img in *.png; do
    # 提取文件名前缀(移除.png后缀)
    base_name="${img%.png}"
    # 对应音频文件路径
    wav_file="${base_name}.wav"
    
    # 检查音频文件是否存在
    if [ -f "$wav_file" ]; then
        # 执行FFmpeg命令,生成同名MP4
        ffmpeg -loop 1 -i "$img" -i "$wav_file" -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest "${base_name}.mp4"
    else
        echo "警告:${wav_file} 不存在,跳过 ${img}"
    fi
done

方案2:不同文件夹下按序号/文件名匹配

若图片、音频分属不同文件夹,可指定路径后按文件名前缀匹配:

#!/bin/sh
# 定义各文件夹路径
IMG_DIR="./images"    # 图片存放目录
WAV_DIR="./audios"    # 音频存放目录
OUTPUT_DIR="./outputs"# 视频输出目录

# 创建输出目录(不存在则自动创建)
mkdir -p "$OUTPUT_DIR"

# 遍历图片文件夹下的所有PNG文件
for img in "${IMG_DIR}"/*.png; do
    # 提取文件名前缀(移除路径和.png后缀)
    base_name=$(basename "$img" .png)
    # 对应音频文件路径
    wav_file="${WAV_DIR}/${base_name}.wav"
    # 输出视频路径
    output_file="${OUTPUT_DIR}/${base_name}.mp4"
    
    # 检查音频文件是否存在
    if [ -f "$wav_file" ]; then
        ffmpeg -loop 1 -i "$img" -i "$wav_file" -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest "$output_file"
    else
        echo "警告:${wav_file} 不存在,跳过 ${img}"
    fi
done

关键说明

  • 使用"${img%.png}"或basename "$img" .png"正确提取文件名前缀,避免通配符未展开的问题;
  • 用[ -f "$wav_file" ]检查音频文件是否存在,避免无效执行;
  • 所有变量用双引号包裹,防止文件名含空格时出现错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 09:15:37