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

使用FFmpeg批量转换嵌套文件夹多格式音频至AIFF并保留元数据

批量转换嵌套目录音乐至AIFF格式的脚本方案

核心需求对应实现

针对你提出的5项要求,以下脚本完整覆盖所有功能:

最终可执行脚本

# 提前创建统一输出目录(不存在则自动生成)
mkdir -p ./aiff_output

# 遍历所有嵌套子目录中的目标音频文件并处理
find ./ -type f \( -name "*.mp3" -o -name "*.wav" -o -name "*.m4a" \) | while read -r src_file; do
    # 提取原文件名(不含路径)
    filename=$(basename "$src_file")
    # 生成基础输出文件名(替换原后缀为.aiff)
    dest_file="./aiff_output/${filename%.*}.aiff"
    
    # 处理重名文件:自动添加数字后缀区分
    counter=1
    while [ -f "$dest_file" ]; do
        dest_file="./aiff_output/${filename%.*}_$counter.aiff"
        ((counter++))
    done

    # FFmpeg核心转换命令
    ffmpeg -i "$src_file" \
        -ar 44100 \
        -acodec pcm_s16be \
        -map_metadata 0 \
        -map 0:v? \
        -c:v copy \
        "$dest_file" \
        -hide_banner -loglevel error
done

关键参数详解

  • -ar 44100:强制设置采样率为44kHz,符合需求
  • -acodec pcm_s16be:指定AIFF标准的16bit大端PCM编码,保证输出格式合规
  • -map_metadata 0:完整复制原文件的所有元数据(歌手、专辑、标题等)
  • -map 0:v?:自动识别原文件中的内嵌封面(视频流),无封面则跳过该步骤
  • -c:v copy:直接复制封面编码,不重新编码避免画质损失
  • -hide_banner -loglevel error:屏蔽冗余输出,仅显示错误信息方便排查问题

使用步骤

  1. 将上述代码保存为convert_aiff.sh文件
  2. 在音乐库根目录执行:chmod +x convert_aiff.sh && ./convert_aiff.sh
  3. 所有转换完成的AIFF文件会统一存放在当前目录下的aiff_output文件夹中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:59:18