该接口提供在云存储平台对视频进行切片的功能,用于支持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>¬ifyURL=<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"