暴风云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

标签: