暴风云API接口文档1.12
暴风云API 接口文档1. 点播1.1. 点播发布状态查询域名:http://access.baofengcloud.com协议:HTTP POST请求包POST /query HTTP/1.1Ho
暴风云API 接口文档
1. 点播
1.1. 点播发布状态查询
域名:http://access.baofengcloud.com
协议:HTTP POST
请求包
POST /query HTTP/1.1
Host: access.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
{"token":"RzcS42tk1jLuoY4KdSH5XwcHKvYjb-SC9aGhakBH:EmZts8IUJhyGD1LSdFAOqF/g458=:eyJmaWxlbmFtZSI6IjkubXA0IiwiZmlsZWtleSI6IiIsInNlcnZpY2V0eXBlIjoxfQ=="} token 内容包含:
filename='abc.mp4' //文件名
filekey='tom' //文件防重名加扰,可以为空
servicetype=0 //1是点播服务,0是视频云托管服务
应答包:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 124
Cache-Control: no-store
Connection: close
{"status":0,"fileid":"7A3526BEBD2A3063E2F4DCD852A34033","servicetype":1,"filename":"9.mp4","showname":"9.mp4","filekey":"","filesize":202853188,"duration":3903226,"uploadtime":"2015-12-09 23:09:02","publishtime":"2015-12-10 00:10:57","ifpublic":1,"url":"servicetype=1&uid=5294383&fid=7A3526BEBD2A3063E2F4DCD852A34033"}
返回码为:
* 0:操作成功
* 90:网络错误
* 99:系统错误
* 101:文件已成功发布完成
* 102:文件上传中
* 103:文件转码中
* 104:用户未购买对应服务
* 105:用户空间不足
* 106:用户已被禁
,* 107:用户余额不足
* 131:用户请求不支持
* 132:非法用户
* 133:校验错误
* 134:用户请求无法解析或缺少字段
* 135:文件格式不支持
* 136:文件长度超长
* 137:请求时间戳过期
* 138:文件不存在
* 200:发布中
* 210:上传成功
* 211:转码成功
* 212:审核通过
* 214:CDN 发布成功
* 220:上传失败
* 221:转码失败
* 222:审核不通过
* 224:CDN 发布失败
* 230:超时失败
1.2. 视频删除接口
域名:http://access.baofengcloud.com
协议:HTTP POST
请求包
POST /delete HTTP/1.1
Host: access.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
{"token":"RzcS42tk1jLuoY4KdSH5XwcHKvYjb-SC9aGhakBH:EmZts8IUJhyGD1LSdFAOqF/g458=:eyJmaWxlbmFtZSI6IjkubXA0IiwiZmlsZWtleSI6IiIsInNlcnZpY2V0eXBlIjoxfQ=="}
token 内容包含:
filename='abc.mp4' //文件名
filekey='tom' //文件防重名加扰,可以为空
deadline=1451491200 //过期时间
callbackurl='http://tom.test.com' //删除成功后回调的url ,可为空
servicetype = 1 //1是点播服务,0是视频云托管服务,不能为空
应答包:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 23
Cache-Control: no-store
Connection: close
,{"status": errorcode}
返回码为:
同上
1.3. 视频更改属性接口
域名:http://access.baofengcloud.com
协议:HTTP POST
请求包
POST /changeproperty HTTP/1.1
Host: access.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
{"token":"RzcS42tk1jLuoY4KdSH5XwcHKvYjb-SC9aGhakBH:EmZts8IUJhyGD1LSdFAOqF/g458=:eyJmaWxlbmFtZSI6IjkubXA0IiwiZmlsZWtleSI6IiIsInNlcnZpY2V0eXBlIjoxfQ=="}
token 内容包含:
filename='abc.mp4' //文件名
filekey='test' //文件防重名加扰,可以为空
filetype=1 //希望更改成的文件类型,0表示私有,1表示公开
servicetype = 1 //1是点播服务,0是视频云托管服务
应答包:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 23
Cache-Control: no-store
Connection: close
{"status": errorcode}
返回码为:
同上
1.4. 点播回调接口
上传回调
POST /callback HTTP/1.1
Host: baofengcloud.com
Content-Length: 197
Content-Type: application/json
Accept: */*
{“status ”:0,”type ”:”upload ”, ”filename ”:”hello.mp4”, ”filekey ”:”yhc ”, ”filesize ”:102400,”duration ”:5400, ”servicetype ”:0,”ifpublic ”:0,”url ”:”xxxxxxxxxx ”}
,● 删除回调
POST /callback HTTP/1.1 Host: baofengcloud.com Content-Length: 197
Content-Type: application/json Accept: */*
{“status ”:0,”type ”:”delete ”, ”filename ”:”hello.mp4”, ”filekey ”:”yhc ”, ”filesize ”:102400,”duration ”:5400, ”servicetype ”:0,”ifpublic ”:0,”url ”:”xxxxxxxxxx ”}
1.5. 点播大图获取接口
一个点播文件会有8张截图,获取方式如下所示。
● http://filepry.baofengcloud.com ● /15/11618581
● ● ● ● ●
访问域名 和用户绑定,可以认为是不动的,其中15是由11618581 MOD 256再转 换为16进制得到的
0表示云托管,1表示点播 目录名,可以认为是不动的 文件id ,每个文件都对应一个id 取值0-7,分别对应8个截图 图片扩展名
/0 /common /9039D72FF3DF7191693287121FD8D598.cov .0 .jpg
1.6. 点播小图获取接口
点播文件有一个截图伴随文件kfp 文件,这个文件中包含视频文件的全程截图(每隔10s )。这个文件的作用主要是用于图片审核、播放器进度条展示。
kfp 文件格式如下所示:
整个文件由文件头部和文件体组成。
文件头包括:picnum ,headsize ,videotime 和 全部的PicMetaData 文件体包括:各个Pic 图片文件 各部分说明:
picnum :整个文件中包含图片的个数
,Headsize :文件头部的长度
Videotime: 视频时长,单位秒
PicMetaData :
PicName 图片名
PicPos 图片文件相对于文件头的偏移
PicTime 图片文件相对于的视频起始位置的秒数
PicSize 图片文件的大小单位字节
Pic :图片文件
headsize = 4 4 4 sizeof(PicMetaData) * picnum
PicPos[1] = headsize
PicPos[2] = PicPos[1] PicSize[1]
PicPos[3] = PicPos[2] PicSize[2]
...
PicPos[n] = PicPos[n-1] PicSize[n-1]
2. 直播
2.1. 创建频道
域名:http://channelmgr.baofengcloud.com
协议:HTTP POST
HTTP 头部:
POST /createchannel HTTP/1.1
Host: channelmgr.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
HTTP 包体:
{"token": "createtoken"}
说明:
createtoken 的内容包括:
* ifpublic:0是私有频道,1是公有频道
* channelname:频道名字
* callback:回调地址,可以为空,如果不指定该字段则不回调。该回调地址会被直播开始、直播结束、录制结束等操作触发
* ifrecord:是否允许录制,0表示不录制,1表示录制,取1时下面的参数有效
* recordname:录制文件名前缀,可以为空,如果不指定该字段则录制文件以频道名称为前缀
* sizelimit:录制文件最大字节数,以B 为单位,最小不低于10M ,最大不超过2G ,与timelimit 二选一
* timelimit:录制文件最大时长,以秒为单位,最小不低于3分钟,最大不超过3小时,与sizelimit 二选一
* recordposition :录制文件存储位置,0表示云托管,1表示点播,可以为空,如果不指定该字段则默认存储到云托管
* deadline=1451491200 //该token 过期时间,Unix 时间
,返回包
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1234
Cache-Control: no-store
{"status":0,"channelid":"EF57D8EBF286B7D6E80050970F3B59FC",
"gcid":"545ED44113C2557662DD3E2321FF40D2F0579C58",
"url":"servicetype=2&uid=4995606&fid=545ED44113C2557662DD3E2321FF40D2F0579C58"}
status 为0表示创建直播频道成功, 并带有channelid(频道ID) 和gcid(使用ID) 。频道ID 指的是频道上传ID ,用户利用频道上传ID ,可使用软件将视频直播流上传到云平台中。频道ID 是用户私有信息,用户应保证不让第三方知道,如果频道ID 泄露,用户可以在管理频道页面修改频道ID (修改频道ID 将不会影响视频播放)。
{"status":returncode}
返回码为:
*0表示操作成功
* 99表示系统错误
* 100表示请求的方法不支持
* 101表示token 无效
* 102表示创建直播频道失败,参数值有错误
* 103表示json 数据格式错误
* 104表示频道个数超上限
* 105表示非法用户
2.2. 删除频道
域名:http://channelmgr.baofengcloud.com
协议:HTTP POST
HTTP 头部:
POST /deletechannel HTTP/1.1
Host: channelmgr.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
HTTP 包体:
{"token": "deletetoken"}
说明:
deletetoken 的内容包括:
* channelid = "EF57D8EBF286B7D6E80050970F3B59FC " //频道id ,创建频道成功时,从返回http 包体中获得
* deadline=1451491200 //该token 过期时间,Unix 时间
返回包
HTTP/1.1 200 OK
Content-Type: application/json
,Content-Length: 1234
Cache-Control: no-store
{"status":returncode}
返回码为:
* 0表示操作成功
* 99表示系统错误
* 100表示请求的方法不支持
* 101表示token 无效
* 102表示删除直播频道失败,参数值有错误
* 103表示json 数据格式错误
* 104表示频道个数超上限
* 105表示非法用户
2.3. 修改频道
域名:http://channelmgr.baofengcloud.com
协议:HTTP POST
HTTP 头部:
POST /modifychannel HTTP/1.1
Host: channelmgr.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
HTTP 包体:
{"token": "modifytoken"}
说明:
modifytoken 的内容包括:
* ifpublic:0是私有频道,1是公有频道
* channelname:频道名字
* callback:回调地址,可以为空,如果不指定该字段则不回调。该回调地址会被直播开始、直播结束、录制结束等操作触发
* ifrecord:是否允许录制,0表示不录制,1表示录制,取1时下面的参数有效
* recordname:录制文件名前缀,可以为空,如果不指定该字段则录制文件以频道名称为前缀
* sizelimit:录制文件最大字节数,以B 为单位,最小不低于10M ,最大不超过2G ,与timelimit 二选一
* timelimit:录制文件最大时长,以秒为单位,最小不低于3分钟,最大不超过3小时,与sizelimit 二选一
* recordposition :录制文件存储位置,0表示云托管,1表示点播,可以为空,如果不指定该字段则默认存储到云托管
* deadline=1451491200 //该token 过期时间,Unix 时间
返回包
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1234
,Cache-Control: no-store
{"status":returncode}
返回码为:
* 0表示操作成功
* 99表示系统错误
* 100表示请求的方法不支持
* 101表示token 无效
* 102表示修改直播频道失败,参数值有错误
* 103表示json 数据格式错误
* 104表示频道个数超上限
* 105表示非法用户
2.4. 录制开始
域名:http://recordmgr.baofengcloud.com
协议:HTTP POST
请求包:
POST /startrecord HTTP/1.1
Host: recordmgr.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
{"channelid":"01234567890123456789012345678901","callback":"api.examples.com","filename":"xxxlive",”recordname ”:”test ”,"sizelimit":1232141,”recordposition”:0}
或
{"channelid":"01234567890123456789012345678901","callback":"api.examples.com","filename":"xxxlive",”recordname ”:”test ”,"timelimit":300,”recordposition”:0}
channelid :直播频道上传id
callback :回调地址
recordname :录制文件名前缀
sizelimit :录制文件最大字节数,以B 为单位,最大不能超过2G
timelimit :录制文件最大时长,以秒为单位,最大不能超过2小时
recordposition :录制文件存储位置,0表示云托管,1表示点播
返回包
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1234
Cache-Control: no-store
{"status":0}
status 值定义:
0:操作成功
99:系统错误
,300:磁盘空间满
301:频道不存在
302:不允许录制
303:处理超时
2.5. 结束录制
域名:http://recordmgr.baofengcloud.com
协议:HTTP POST
请求包:
POST /stoprecord HTTP/1.1
Host: recordmgr.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
{"channelid":"01234567890123456789012345678901"}
channelid :直播频道上传id
应答包:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1234
Cache-Control: no-store
{"status":0}
status 值定义:
0:操作成功
99:系统错误
2.6. 获取录制列表
域名:http://recordlist.baofengcloud.com
协议:HTTP POST或者GET
POST 请求包:
POST /getrecordlist HTTP/1.1
Host: recordlist.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
{"channelid":"72BC7FD637503A68985186CF464C47DC"}
channelid :直播频道上传id
GET 请求包:
GET /getrecordlist?channelid=72BC7FD637503A68985186CF464C47DC Host: storm.cloud.com HTTP/1.1
,Content-Type: application/json
应答包:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1234
Cache-Control: no-store
{ "status":0,"channelid":"CD9EE463EF5324C36F20CD8748F8E0F8","recordlist":
[{"filename":"record_test_20160106124240_8561.mp4","duration":186130,"url":"servicetype=0&uid=5263465&fid=3238EE7CE532AE117DF4FC41EFC39D5C","servicetype":0,"updatetime":"2016-01-06 12:45:54"
,"uploadstatus":0,"pictureurl":"http://filepry.baofengcloud.com/69/5263465/0/common/record_test_20160106124240_8561.jpg"},{"filename":"record_test_20160106124547_7752.mp4","duration":187488,"url":"servicetype=0&uid=5263465&fid=067AF4DFC6B6322C2D4894E2B18BC1D8","servicetype":0,"updatetime":"2016-01-06 12:45:54"
,"uploadstatus":0,"pictureurl":"http://filepry.baofengcloud.com/69/5263465/0/common/record_test_20160106124547_7752.jpg"}}
channelid :直播频道上传id
recordlist :直播录制文件列表
filename :录制文件名称
duration :录制文件播放时长,以毫秒为单位
ifpublic :视频属性,0表示私有,1表示公有
url :文件移动端代码
servicetype: 业务类型,0表示云存储,1表示点播
uploadstatus: 上传状态,0发布中,1发布成功,2发布失败
pictureurl :录制文件截图下载地址
servicetype :业务类型,0表示云存储,1表示点播
status 值定义:
0:操作成功
-1:没有录制文件
2.7. 删除录制文件
域名:http://recordlist.baofengcloud.com
协议:HTTP POST
请求包:
POST /delrecordfile HTTP/1.1
Host: recordlist.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
{"channelid":"01234567890123456789012345678901",”filename ”:”test.mp4”}
channelid :直播频道上传id