基于 FFmpeg 引擎的音频压缩脚本,支持 MP3 / AAC / OGG / OPUS / M4A 五种输出格式,档位式压缩强度一键减小音频体积,支持批量处理、定时任务与节点联动。
- 5 种输出格式:MP3 / AAC / OGG / OPUS / M4A 有损压缩
- 档位式压缩强度:轻度 / 标准 / 高效 / 强力 / 极致,自动映射目标码率,不用懂技术
- 自动生成启动界面:运行前弹出参数表单,压缩强度、格式、采样率、声道、输出目录一次配好
- 右键菜单一键压缩:选中音频 → 右键 → 一键批量压缩
- 全局快捷键:为脚本设置快捷键,选中音频按下即执行
- 批量处理:同时选中多个音频文件一次压缩
- 自定义输出目录:可指定输出位置,留空则保存到原文件所在目录
- 采样率 / 声道可调:原始 / 44.1kHz / 32kHz / 24kHz / 16kHz;立体声 / 单声道
- 智能跳过:已存在的文件自动跳过(可开启覆盖),绝不覆盖原文件
- 元数据保留:自动保留标题、艺术家、专辑等元数据
- 定时任务:配置到定时任务中无人值守自动压缩
- 节点联动:可被其他盒子脚本调用,回传输出路径与结果摘要
本脚本的运行环境、依赖组件及参数界面均依赖"不忙脚本盒子",建议仅通过盒子安装和使用本脚本。
前置条件:安装好 不忙脚本盒子
- 打开盒子 → 脚本市场 → 搜索 「音频压缩」
- 点击「安装」
✅ 盒子会自动配置 Python 环境、安装 FFmpeg,并为你提供右键、快捷键、定时任务、参数表单能力。
- 直接启动
- 在盒子里点击「音频压缩」卡片
- 在弹出的参数表单中设置压缩强度、输出格式、采样率、声道、输出目录
- 点击「执行」即开始压缩;表单会记住上次的配置
- 右键启动
- 在文件管理器中选中音频文件(可多选)
- 右键 → 音频压缩 → 一键批量压缩
- 快捷键启动
- 在盒子里为脚本设置全局快捷键
- 选中音频文件,按下快捷键即可执行
- 定时任务
- 在盒子的定时任务中为「音频压缩」配置计划(来源文件 + 压缩参数)
- 到点自动无人值守压缩,结果自动记录
- 压缩强度:目标码率越大体积越小、音质越低。日常推荐「高效压缩 (128kbps)」,兼顾体积与音质
- 输出格式:MP3 兼容性最好;AAC / M4A 同码率下体积更小;OPUS 压缩率最高
- 声道:单声道体积约减半,语音类内容首选
- 覆盖模式:默认跳过已存在的输出文件;需要重新压缩时勾选「覆盖已存在文件」
「音频压缩」已声明为节点,可被其他盒子脚本通过联动调用:
import json, sys, requests
payload = json.load(open(sys.argv[1], encoding="utf-8"))
api_base = payload["environment"]["api_base"]
r = requests.post(f"{api_base}/api/link", json={
"script_id": "cb97b582-a0e7-4f22-8bf7-8e1b8134b0af",
"data": {"target_paths": ["C:/a.mp3"]},
"params": {"compression_level": "compress", "output_format": "mp3"},
}, timeout=3600)
body = r.json()
if not body.get("success"):
raise RuntimeError(body.get("message", "联动调用失败"))
result = body["result"]
if result.get("code") != 0:
raise RuntimeError(result.get("msg"))
print(result["output_paths"]) # 压缩成功的输出文件路径列表
print(result["summary"]) # 结果摘要(成功/跳过/失败数量)返回业务键:
| 业务键 | 类型 | 说明 |
|---|---|---|
output_paths |
list | 压缩成功的输出文件路径列表 |
summary |
str | 结果摘要(成功/跳过/失败数量) |
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10+(64 位) |
| 运行环境 | Python 3.8+、FFmpeg(盒子自动安装) |
