音视频切片(m3u8)

描述

该接口提供在云存储平台对视频进行切片的功能,用于支持HTTP Live Streaming播放。

HTTP Live Streaming是由Apple提出的基于HTTP的流媒体传输协议。它将一整个音视频流切割成可由HTTP下载的一个个小的音视频流,并生成一个播放列表(M3U8),客户端只需要获取资源的 M3U8 播放列表即可播放音视频。以下用HLS代指HTTP Live Streaming 。

请求说明

POST /fops
Host: <MgrDomain>
Authorization: <AccessToken>

头部说明

参数 必填 描述
Host 管理域名,可在用户管理界面获取
Authorization 管理凭证

参数说明

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

bucket=<Urlsafe_Base64_Encoded_Bucket>&key=<Urlsafe_Base64_Encoded_Key>&fops=<Urlsafe_Base64_Encoded_Fops>&notifyURL=<Urlsafe_Base64_Encoded_PersistentNotifyUrl>&force=<Force>&separate=<Separate>
参数 必填 描述
bucket 空间名
key 文件名
fops 处理参数列表,参数含义请参见音视频切片Ops参数格式;支持同时请求多个处理,参数列表之间用 ; 分隔。
notifyURL 处理结果通知接收URL,需要使用URL安全的Base64编码,请参考通知数据内容说明
force 是否强制执行数据处理。支持设置以下数值:
0:指定的数据处理结果如果存在,返回文件已存在,不进行处理,避免重复处理浪费资源
1:强制执行数据处理并覆盖已有文件
默认缺省为0
separate 处理是否分开通知。支持设置以下数值:
0:表示所有转码指令执行完后再一次性通知notifyURL
1:表示每个转码指令执行完后都通知notifyURL
默认缺省为0

fops参数示例

自定义:

fops=Urlsafe_Base64_Encode(avthumb/m3u8/segtime/20/ab/64k|saveas/dGVzdDoxLm0zdTg=;avthumb/m3u8/ab/64k/t/10)

使用HLS预设集

fops=Urlsafe_Base64_Encode(avthumb/m3u8/segtime/20/preset/audio_64k|saveas/dGVzdDoxLm0zdTg=)

预设集是一组事先配置好的切片参数,一个预设集的名称代表一组参数,可以直接调用。使用预设集时,可以同时指定其他参数以覆盖对应预设参数。

响应说明

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

  {"persistentId":"<persistentId string>"}
字段名 必填 描述
persistentId 上传预处理或者触发持久化处理的进程ID

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

{
        "code":     "<code string>",
        "message":  "<message string>"
}
字段名 必填 描述
code HTTP请求响应码,参见HTTP响应状态码<返回码>
message 音视频处理失败的提示信息

范例

curl -v -X POST -d "bucket=aW1hZ2Vz&key=dGVzdC5tcDM==&fops=YXZ0aHVtYi9tM3U4L2FiLzE5Mmsvci8xfHNhdmVhcy9hVzFoWjJWek9tZHFhRzB6ZFRndWJUTjFPQT09&force=1&separate=0" -H "Authorization:86622e227a50d49d858c2494a935bc2e4ac543a7:MjQ3NGQxMzZkMWVkN2U0OWRiYmIyMDQ2NzljNDY3Y2FhZjMwMzdjZA==" --url "http://mgrDomain/fops"