AI MediaKit 的音频转码工具,可以将一个音频文件从一种格式转换为另一种格式。这不仅包括容器格式(如 WAV 转 MP3)的转换,还支持对编码参数(如采样率、码率、声道数)和音量进行精细化调整。无论是为了适配不同的播放终端、优化网络传输,还是为了标准化媒资库中的音频响度,音频转码都是一个基础且关键的环节。
本篇开发指南将引导您:
- 快速体验如何将一个音频文件转换为标准的 MP3 格式。
本节将以最常见的场景为例,演示如何将一个 WAV 音频文件转换为 MP3 文件。
- 获取访问凭证:在开始之前,请访问 AI MediaKit 控制台的 API Key 管理页面,创建并获取 MediaKit API Key。
- 准备音频文件:准备一个待处理的音频文件,并将其上传至公网可访问的服务器或视频点播服务中,以获取可供 API 调用的 URL。为方便您快速测试,本文后续步骤的示例代码中提供了一个可直接使用的演示音频 URL。
音频转码是一个异步任务,其标准流程如下:
- 调用 POST /api/v1/tools/transcode-audio,获得一个用于查询的 task_id。
- 轮询 GET /api/v1/tasks/{task_id} 直至任务完成,然后从 result.audio_url 字段中获取转码后音频的下载地址。
说明
需替换参数:
- 将 {Your_API_Key} 替换为您的有效 API Key。
- audio_url:示例中已提供可直接用于测试的演示音频 URL。您也可以将其替换为您自己的音频地址。
- 在不指定任何转码参数时,系统将执行默认操作:将音频转码为 MP3 格式,码率为 128kbps,采样率为 48000Hz。如果您需要更精细的控制,请见进阶使用。
请求成功后,您会收到如下包含 task_id 的响应,请保存此 ID 用于后续查询。
转码任务需要一定的处理时间。您需要轮询查询任务信息 API,直到任务状态 status 变为 completed。 当任务成功完成后,您将收到如下响应。您可以在 result.audio_url 字段中找到最终生成的音频文件下载地址(默认有效期为 24 小时)。
bitrate_mode 和 bitrate_kbps 参数共同决定了音频的码率。
- cbr(恒定码率模式):编码器严格保持码率恒定。文件大小可被精确预测,适合对带宽稳定性要求高的流式传输场景。
- cae(自适应码率模式,仅 AAC 支持):编码器根据音频复杂度动态调整码率,在相同平均码率下,通常能提供更好的音质和更小的文件体积。
以下示例演示了如何使用 cae 模式将音频转码为高质量的 M4A (AAC) 文件,平均码率设为 128kbps。
为确保不同来源的音频在播放时具有一致的听感,您可以使用音量均衡功能。将 volume_method 设置为 "2Pass",并配置 volume_integrated_loudness(目标响度)和 volume_true_peak(安全峰值)参数。
以下示例演示了在转码的同时,将音频响度标准化到流媒体平台常用的 -14 LUFS,并确保真实峰值不超过 -1.5 dBTP。
在转码过程中,您可以精细化地保留、更新或添加音频的元信息(如标题、艺术家等)。
- metadata_keep_tags:指定需要从源文件保留的元信息标签列表。
- metadata_add_tags:新增或覆盖元信息标签。如果此处的 key 与保留的标签同名,其 value 将覆盖源文件的值。
以下示例演示了如何保留源文件的 title 和 artist,同时更新 album 信息,并新增一个 encoded_by 标签。