本文介绍了利用智能媒体管理(IMM)媒体转码接口来实现音频转码的能力。
功能简介
音频转码功能是指将一种音频格式转换为另一种格式的技术,其目的是提升音频文件的兼容性、在不降低音质的情况下减少文件体积。
使用场景
音频格式兼容性:不同设备和播放器支持的音频格式可能各异,转码可以确保音频文件在目标设备上正常播放。
音频流媒体:在网络直播或流媒体服务中,音频格式的转码能够有效优化传输效率,以适应不同的网络条件和用户设备。
音频压缩:为了节省存储空间或带宽,音频文件通常需要转码为更高效或压缩的格式,例如将WAV格式转码为MP3或AAC格式。
参数调整:根据需求调整音频的采样率和声道数。
支持音视频格式列表
分类 | 格式 |
分类 | 格式 |
音频 | AAC、MP3、WAV、FLAC、WMA、AC3、OPUS等所有主流格式。 |
视频 | MP4、MPEG-TS、MKV、MOV、AVI、FLV、M3U8、WebM、WMV、RM、VOB等所有主流格式。 |
如何使用
前提条件
已创建并获取AccessKey。具体操作,请参见创建AccessKey。
已开通OSS服务、创建存储空间。具体操作,请参见创建存储空间。
已开通智能媒体管理服务。具体操作,请参见开通产品。
已通过智能媒体管理控制台创建项目。具体操作,请参见创建项目。
您也可以调用API接口创建项目。具体操作,请参见CreateProject - 创建项目。
您可以调用ListProjects - 列出所有项目信息的列表接口列出指定地域下已创建的所有项目信息。
步骤一:上传文件
请使用OSS管理控制台将媒体文件上传至IMM项目所在地域的Bucket。
步骤二:使用IMM音频转码
调用CreateMediaConvertTask - 创建媒体转码任务接口创建音频转码任务。
参数示例
以下示例使用IMM项目test-project来进行音频转码处理。
更多有关媒体处理各功能介绍和使用,请参见概述。
您可以通过OpenAPI 门户使用媒体转码接口对音频文件进行处理,可参考SDK代码。
将音频转码为aac格式
转码信息
输入文件路径:oss://test-bucket/video-demo/test.mp3
编码格式:mp3 -> aac
音频配置:码率96Kbps,双声道,采样率44.1kHz
输出音频保存路径:oss://test-bucket/video-demo/test.aac
转码完成消息通知:发送MNS消息到MNS主题“test-mns-topic”
SDK示例请参见OpenAPI门户,已为您自动填充示例的参数,请您按需修改后再进行调试。
请求参数如下
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"Subtitles": [],
"URI": "oss://test-bucket/video-demo/test.mp3"
}
],
"Targets": [
{
"Audio": {
"TranscodeAudio": {
"Bitrate": 96000,
"Channel": 2,
"Codec": "aac",
"SampleRate": 44100
}
},
"Container": "aac",
"URI": "oss://test-bucket/video-demo/test.{autoext}"
}
]
}
将音频转码为mp3格式
转码信息
输入文件路径:oss://test-bucket/video-demo/test.aac
编码格式: aac -> mp3
音频配置:码率128Kbps,双声道,采样率44.1kHz
输出音频保存路径:oss://test-bucket/video-demo/test.mp3
转码完成消息通知:发送MNS消息到MNS主题“test-mns-topic”
SDK示例请参见OpenAPI门户,已为您自动填充示例的参数,请您按需修改后再进行调试。
请求参数如下
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/test.aac"
}
],
"Targets": [
{
"Audio": {
"TranscodeAudio": {
"Bitrate": 128000,
"Channel": 2,
"Codec": "mp3",
"SampleRate": 44100
}
},
"Container": "mp3",
"URI": "oss://test-bucket/video-demo/test.{autoext}"
}
]
}
提取视频中的音频
提取视频中的单个音频,在不改变采样率与声道数的前提下独立保存为音频文件。
转码信息
输入文件路径:oss://test-bucket/video-demo/test.mp4
音频配置:提取视频中单个音频流,转为aac编码格式
输出音频保存路径:oss://test-bucket/video-demo/test-audio-%d.aac
转码完成消息通知:发送MNS消息到MNS主题“test-mns-topic”
SDK示例请参见OpenAPI门户,已为您自动填充示例的参数,请您按需修改后再进行调试。
请求参数如下
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/test.mp4"
}
],
"Targets": [
{
"Audio": {
"TranscodeAudio": {
"Codec": "aac"
}
},
"Container": "aac",
"URI": "oss://test-bucket/video-demo/test-audio-{streamindex}.{autoext}"
}
]
}
若文件中有多个音频需要提取,在不改变采样率与声道数的前提下独立保存为音频文件。
转码信息:
输入文件路径:oss://test-bucket/video-demo/test.mp4
音频配置:提取视频中所有音频流,转为aac编码格式,码率256Kbps
输出音频保存路径:oss://test-bucket/video-demo/test-audio-%d.aac
转码完成消息通知:发送MNS消息到MNS主题“test-mns-topic”
SDK示例请参见OpenAPI门户,已为您自动填充示例的参数,请您按需修改后再进行调试。
请求参数如下:
{
"ProjectName": "test-project",
"Notification": {
"MNS": {
"TopicName": "test-mns-topic"
}
},
"Sources": [
{
"URI": "oss://test-bucket/video-demo/test.mp4"
}
],
"Targets": [
{
"Audio": {
"Stream": [
101
],
"TranscodeAudio": {
"Bitrate": 256000,
"Codec": "aac"
}
},
"Container": "aac",
"URI": "oss://test-bucket/video-demo/test-audio-{streamindex}.{autoext}"
}
]
}
- 本页导读 (1)
- 功能简介
- 使用场景
- 支持音视频格式列表
- 如何使用
- 前提条件
- 步骤一:上传文件
- 步骤二:使用IMM音频转码
- 参数示例
- 将音频转码为aac格式
- 将音频转码为mp3格式
- 提取视频中的音频