SuperAPI AI 工具集

extract-audio

通用与其它

查看项目

更新于 10-15 22:11

技能介绍

用途:当用户要求“提取音频”“获取 mp3”“从视频剥离音频”“保存视频中的音频”或转换音频格式时使用本技能,从视频文件中导出音频轨道。

主要能力:提供格式决策树,按用途推荐输出格式与参数——音乐归档用 FLAC(-c:a flac,无损);音乐小体积且听感透明用 MP3 VBR(-c:a libmp3lame -q:a 0);播客/人声用 MP3 128k CBR(-c:a libmp3lame -b:a 128k);移动端/流媒体用 AAC 192k(-c:a aac -b:a 192k);DAW/编辑用 WAV(-c:a pcm_s16le -ar 44100);源已是目标格式则用 -c:a copy 直接复制,不重编码、无损且快速。

使用方式:先用 ffprobe 探测音频流,例如 ffprobe -v quiet -print_format json -show_streams "$INPUT" 配合 python3 解析,列出各音频流的编码、码率与声道布局;再按决策树确定格式,若源编码与目标一致则用 -c:a copy。存在多条音频流时,需询问用户选择哪条,或用 -map 0:a 提取全部,选定后用 -map 0:a:N(N 为从 0 开始的流索引)。随后构造命令,通用模式为 ffmpeg -i "$INPUT" -vn [FORMAT_FLAGS] "$OUTPUT",其中 -vn 丢弃视频流。执行前展示检测到的源编码与码率、所选输出格式和输出路径,等待用户批准后再运行;完成后用 ffprobe -v quiet -show_format "$OUTPUT" | grep -E "duration|size" 报告文件大小与时长。

适用场景:从视频中导出音乐、播客、语音或供剪辑软件使用的音频,以及需要保留原始音质或避免重复转码的场合。

限制与注意事项:核心原则是保留源音质,避免多次转码造成损失。若源本身是有损格式(MP3、AAC、OGG)而用户要求另一种有损格式,应警告重编码会降低质量,建议保留源格式或在容器兼容时使用 -c:a copy。对超过 1 小时的文件,需询问用户要完整文件还是指定区间,裁剪可在 -vn 前用 -ss 和 -to 实现。AAC 是编码、M4A 是容器:为兼容 Apple 设备使用 .m4a 扩展名,原始流用 .aac。本技能依赖 ffmpeg 与 ffprobe 环境,具体安装方式资料未提供。