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

如何批量修改整个目录下MP3等音频文件的元数据?

批量修改指定目录音频元数据Colab脚本

以下是适配批量处理的可直接运行脚本,兼容Colab环境,保留了你原有的处理逻辑,同时优化了路径解析的兼容性:

#@title » 批量修改音频元数据
import os
import re

# 待处理音频根目录,填写你的目录路径即可
audio_dir = "" #@param {type:"string"}
# 要设置的元数据内容,可自行增删修改
metadata_comment = "SAMPLECOMMENT" #@param {type:"string"}
metadata_note = "SAMPLENOTE" #@param {type:"string"}
# 支持处理的音频后缀,可按需补充格式
support_ext = ["mp3", "flac", "wav", "m4a", "ogg"]

for root, dirs, files in os.walk(audio_dir):
    for file in files:
        # 过滤非音频格式文件
        file_ext = file.split(".")[-1].lower()
        if file_ext not in support_ext:
            continue
        # 拼接完整输入文件路径
        input_file_path = os.path.join(root, file)
        # 提取无后缀的原始文件名
        filename_raw = os.path.splitext(file)[0]
        # 输出文件和原文件同目录,加-OK后缀避免覆盖原文件,可自行调整命名规则
        output_file_path = os.path.join(root, f"{filename_raw}-OK.{file_ext}")

        # 调用ffmpeg无损修改元数据
        os.system(f'''ffmpeg -hide_banner -y -i "{input_file_path}" \
        -metadata comment="{metadata_comment}" \
        -metadata note="{metadata_note}" \
        -codec copy "{output_file_path}"
        ''')

功能说明

  • 默认支持遍历所有嵌套子目录的音频文件,如果不需要处理子目录,把os.walk(audio_dir)替换为os.listdir(audio_dir)并调整路径拼接逻辑即可
  • 元数据字段可按需增删,在ffmpeg命令中按照-metadata 字段名="值"的格式添加即可
  • -codec copy参数保证音频不重新编码,处理速度快且无音质损失

注意事项

  • 操作前建议先备份重要音频文件,避免误操作导致数据损失
  • 如果需要直接覆盖原文件,可以将输出路径修改为原文件路径,ffmpeg命令中的-y参数会自动确认覆盖操作
  • 遇到含特殊字符的文件名也可正常处理,脚本已做路径转义适配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:24:03