CDN加速

音频转码

更新时间:2021-07-19 16:06:53

一. 功能简介

    音频转码功能,支持MP3、AAC、WMA等任一音频封装格式输入,MP3、AAC、WMA等任一音频封装格式输出,满足客户不同终端不同应用场景需求。

    音频转码包括以下功能:音频格式转换、音频转码率、音频声道和采样率设置等。

二. 功能说明

    音频转码功能,支持多种视频/音频封装格式,如:

(1) 视频格式:MP4、FLV、M3U8、TS、MKV、MOV、WMV、AVI、VP8、VP9、RealVideo、Windows Media Video等;

(2) 音频格式:AAC、AC-3、MP1、MP2、MP3、PCM、RealAudio、Windows Media Audio(WMA)、OGG等;

(3) 编码格式:H.265、H.264、H.263、MPEG等。

    客户上传视频文件或音频文件的时候,可以同时配置音频转码参数,也可以同时配合使用视频转码、视频转封装、音视频操作等功能,即可通过同一条API命令实现多个功能。

2.1. 请求说明


    请求参数以如下格式组织,作为请求内容提交:


bucket=<Urlsafe_Base64_Encoded_Bucket>&key=<Urlsafe_Base64_Encoded_Key>&fops=<Urlsafe_Base64_Encoded_Fops>&notifyURL=<Urlsafe_Base64_Encoded_PersistentNotifyUrl>&force=<Force>&separate=<Separate>

表1 请求参数说明
参数 必填 描述
bucket 空间名,即:原文件所在的空间
key 文件名,即:原文件的文件名
fops 音频转码参数列表;支持同时请求多个处理,参数列表之间用; 分隔,即:fops=Urlsafe_Base64_Encode(操作1;操作2;……)
notifyURL 处理结果通知接收URL,通知数据详细说明处理后的内容信息,比如视频码率、时长等。请参考通知数据内容说明
force 是否强制执行数据处理。支持设置以下数值:
(1)0:指定的数据处理结果如果存在,返回文件已存在,不进行处理,避免重复处理浪费资源;
(2)1:强制执行数据处理并覆盖已有文件;
默认为0。
separate 处理是否分开通知。支持设置以下数值:
(1)0:表示所有转码指令执行完后再一次性通知notifyURL
(2)1:表示每个转码指令执行完后都通知notifyURL
默认为0。

    使用以下格式填充参数后,并将其URL安全的Base64编码后的值填充到fops参数中:


<op>/<Format>
    /an/<AudioNo>
    /vn/<VideoNo>
    /acodec/<AudioCodec>
    /aq/<AudioQuality>
    /ab/<BitRate>
    /ar/<SamplingRate>
    /ac/<AC>
|saveas/<Urlsafe_Base64_Encode(bucket:filekey)>
表2 音频转码参数表
参数 必填 描述
<op> avthumb(操作类型-音视频处理)
<format> 1.仅输出音频:输出的目标音频格式,如mp3、aac、wma等。
2.输出视频: 输出的目标视频格式,如flv、mp4、m3u8等。
/an/<AudioNo> 输出视频时使用,表示是否去除音频流,0为保留,1为去除。默认值为0。
/vn/<VideoNo> 输出视频时使用,表示是否去除视频流,0为保留,1为去除。默认值为0。
/acodec/<AudioCodec> 音频编码方案,支持方案:libmp3lame,libfaac,libvorbis等。同时支持copy参数,保持原有音频的编码方案。
/volume/<VolumeAdjustment> 设置音频音量调节。支持按倍数调节以及按声音分贝调节。
1. 倍数调节范围:0-2(0表示无声,1原声,2表示放大一倍,1.5表示音量放大为原来1.5倍);
2. 按分贝调节:建议配置到 -10dB~10dB,负数表示音量降低,正数表示增加。配置过大将导致音频失真。
/loudnorm/<VolumeNormalization> 设置音量归一化响度。单位为LUFS(Loudness Units relative to Full Scale)。范围为-70到-5。负数值越大,声音越小;负数值越小,声音越大。 不建议同时使用volume参数
注:输出视频的音频编码格式若为:
(1)eac3,必须配置ar参数,取值只能为:48000/44100/32000。暂不支持eac3格式的编码
(2)ac3,必须配置ar参数,取值只能为:48000/44100。
/aq/<AudioQuality> 音频质量,取值范围为0-9(mp3),值越小质量越高;10-500(aac),值越大质量越高。仅支持mp3和aac。不能与音频码率参数ab共用。
/ab/<BitRate> 音频码率,单位:比特每秒(bit/s),常用码率:64k,128k,192k,256k,320k等。
/ar/<SamplingRate> 音频采样频率,单位:赫兹(Hz)。
常用采样频率:8000,12050,22050,44100等。
注:flv只支持44100、22050、11025
/ac/<AC> <数值>设定声道数,1就是单声道,2就是立体声
|saveas/<bucket:filekey> 保存为指定文件,参数中需要填入"空间: 文件名"URL安全的Base64编码后的值。

2.2. 响应说明


    如果请求成功,则返回如下内容的Json串:

{ "persistentId": <persistentId> }  

    如果请求失败,则返回如下内容的Json串:

{
  "code": "<code string>",
  "message":  "<ErrMsg string>"
} 
表3 响应参数说明
字段名 必填 描述
persistentId 上传预处理或者触发持久化处理的进程ID
code HTTP请求响应码,参见HTTP响应状态码<返回码>
message 处理失败的提示信息

2.3. 使用范例


    实现将vod-wcs-test001空间下的test.mp4视频去除视频流,只保留音频,并将音频转为libmp3lame编码方式、码率转为64k,并存到vod-wcs-test001空间下,命名为test_audio.mp3。


 curl -v -X POST –d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test.mp4)&fops=Urlsafe_Base64_Encode(avthumb/mp3/acodec/libmp3lame/ab/64k|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test_audio.mp3))&force=1&separate=1" –H "Authorization:mgrAuthorization_A:mgrAuthorization_B" --url "http://mgrDomain/fops"

加密后为:


curl -v -X POST -d"bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5tcDQ=&fops=YXZ0aHVtYi9tcDMvYWNvZGVjL2xpYm1wM2xhbWUvYWIvNjRrfHNhdmVhcy9kbTlrTFhkamN5MTBaWE4wTURBeE9uUmxjM1JmWVhWa2FXOHViWEF6&force=1&separate=1" -H "Authorization:mgrAuthorization_A:mgrAuthorization_B" --url "http://mgrDomain/fops"

其中:

  (1) mgrAuthorization_A:mgrAuthorization_B:管理凭证,由AK(访问密钥)、SK(安全密钥)、Path、Path、Body通过管理凭证生成工具生成,其中AK、SK从“控制台-账号管理-用户信息管理-AccessKey管理”处获取,Path为/fops,Body为请求内容。

  (2) mgrDomain:管理域名,从“控制台-对象存储-对应存储空间-概览”处获取。

三. 应用场景

  (1) 多种音频格式输入,mp3音频格式输出,适用于:跨平台、跨终端播放;

  (2) 视频文件或音频文件输入,只保留音频,并配置音频转码,适用于:弱网播放音频。

四. 注意事项

  (1) 音频转码功能只能对存储于云存储(WCS)上的视频文件/音频文件进行操作,因此必须同时开通点播和云存储功能。

  (2) 音频转码功能属于增值服务,若要使用需另行付费。