暴風(fēng)云API接口文檔1.12
暴風(fēng)云API 接口文檔1. 點(diǎn)播1.1. 點(diǎn)播發(fā)布狀態(tài)查詢域名:http://access.baofengcloud.com協(xié)議:HTTP POST請(qǐng)求包POST /query HTTP/1.1Ho
暴風(fēng)云API 接口文檔
1. 點(diǎn)播
1.1. 點(diǎn)播發(fā)布狀態(tài)查詢
域名:http://access.baofengcloud.com
協(xié)議:HTTP POST
請(qǐng)求包
POST /query HTTP/1.1
Host: access.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
{"token":"RzcS42tk1jLuoY4KdSH5XwcHKvYjb-SC9aGhakBH:EmZts8IUJhyGD1LSdFAOqF/g458=:eyJmaWxlbmFtZSI6IjkubXA0IiwiZmlsZWtleSI6IiIsInNlcnZpY2V0eXBlIjoxfQ=="} token 內(nèi)容包含:
filename='abc.mp4' //文件名
filekey='tom' //文件防重名加擾,可以為空
servicetype=0 //1是點(diǎn)播服務(wù),0是視頻云托管服務(wù)
應(yīng)答包:
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:網(wǎng)絡(luò)錯(cuò)誤
* 99:系統(tǒng)錯(cuò)誤
* 101:文件已成功發(fā)布完成
* 102:文件上傳中
* 103:文件轉(zhuǎn)碼中
* 104:用戶未購(gòu)買對(duì)應(yīng)服務(wù)
* 105:用戶空間不足
* 106:用戶已被禁
,* 107:用戶余額不足
* 131:用戶請(qǐng)求不支持
* 132:非法用戶
* 133:校驗(yàn)錯(cuò)誤
* 134:用戶請(qǐng)求無(wú)法解析或缺少字段
* 135:文件格式不支持
* 136:文件長(zhǎng)度超長(zhǎng)
* 137:請(qǐng)求時(shí)間戳過(guò)期
* 138:文件不存在
* 200:發(fā)布中
* 210:上傳成功
* 211:轉(zhuǎn)碼成功
* 212:審核通過(guò)
* 214:CDN 發(fā)布成功
* 220:上傳失敗
* 221:轉(zhuǎn)碼失敗
* 222:審核不通過(guò)
* 224:CDN 發(fā)布失敗
* 230:超時(shí)失敗
1.2. 視頻刪除接口
域名:http://access.baofengcloud.com
協(xié)議:HTTP POST
請(qǐng)求包
POST /delete HTTP/1.1
Host: access.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
{"token":"RzcS42tk1jLuoY4KdSH5XwcHKvYjb-SC9aGhakBH:EmZts8IUJhyGD1LSdFAOqF/g458=:eyJmaWxlbmFtZSI6IjkubXA0IiwiZmlsZWtleSI6IiIsInNlcnZpY2V0eXBlIjoxfQ=="}
token 內(nèi)容包含:
filename='abc.mp4' //文件名
filekey='tom' //文件防重名加擾,可以為空
deadline=1451491200 //過(guò)期時(shí)間
callbackurl='http://tom.test.com' //刪除成功后回調(diào)的url ,可為空
servicetype = 1 //1是點(diǎn)播服務(wù),0是視頻云托管服務(wù),不能為空
應(yīng)答包:
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
協(xié)議:HTTP POST
請(qǐng)求包
POST /changeproperty HTTP/1.1
Host: access.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
{"token":"RzcS42tk1jLuoY4KdSH5XwcHKvYjb-SC9aGhakBH:EmZts8IUJhyGD1LSdFAOqF/g458=:eyJmaWxlbmFtZSI6IjkubXA0IiwiZmlsZWtleSI6IiIsInNlcnZpY2V0eXBlIjoxfQ=="}
token 內(nèi)容包含:
filename='abc.mp4' //文件名
filekey='test' //文件防重名加擾,可以為空
filetype=1 //希望更改成的文件類型,0表示私有,1表示公開(kāi)
servicetype = 1 //1是點(diǎn)播服務(wù),0是視頻云托管服務(wù)
應(yīng)答包:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 23
Cache-Control: no-store
Connection: close
{"status": errorcode}
返回碼為:
同上
1.4. 點(diǎn)播回調(diào)接口
上傳回調(diào)
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 ”}
,● 刪除回調(diào)
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. 點(diǎn)播大圖獲取接口
一個(gè)點(diǎn)播文件會(huì)有8張截圖,獲取方式如下所示。
● http://filepry.baofengcloud.com ● /15/11618581
● ● ● ● ●
訪問(wèn)域名 和用戶綁定,可以認(rèn)為是不動(dòng)的,其中15是由11618581 MOD 256再轉(zhuǎn) 換為16進(jìn)制得到的
0表示云托管,1表示點(diǎn)播 目錄名,可以認(rèn)為是不動(dòng)的 文件id ,每個(gè)文件都對(duì)應(yīng)一個(gè)id 取值0-7,分別對(duì)應(yīng)8個(gè)截圖 圖片擴(kuò)展名
/0 /common /9039D72FF3DF7191693287121FD8D598.cov .0 .jpg
1.6. 點(diǎn)播小圖獲取接口
點(diǎn)播文件有一個(gè)截圖伴隨文件kfp 文件,這個(gè)文件中包含視頻文件的全程截圖(每隔10s )。這個(gè)文件的作用主要是用于圖片審核、播放器進(jìn)度條展示。
kfp 文件格式如下所示:

整個(gè)文件由文件頭部和文件體組成。
文件頭包括:picnum ,headsize ,videotime 和 全部的PicMetaData 文件體包括:各個(gè)Pic 圖片文件 各部分說(shuō)明:
picnum :整個(gè)文件中包含圖片的個(gè)數(shù)
,Headsize :文件頭部的長(zhǎng)度
Videotime: 視頻時(shí)長(zhǎng),單位秒
PicMetaData :
PicName 圖片名
PicPos 圖片文件相對(duì)于文件頭的偏移
PicTime 圖片文件相對(duì)于的視頻起始位置的秒數(shù)
PicSize 圖片文件的大小單位字節(jié)
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. 創(chuàng)建頻道
域名:http://channelmgr.baofengcloud.com
協(xié)議:HTTP POST
HTTP 頭部:
POST /createchannel HTTP/1.1
Host: channelmgr.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
HTTP 包體:
{"token": "createtoken"}
說(shuō)明:
createtoken 的內(nèi)容包括:
* ifpublic:0是私有頻道,1是公有頻道
* channelname:頻道名字
* callback:回調(diào)地址,可以為空,如果不指定該字段則不回調(diào)。該回調(diào)地址會(huì)被直播開(kāi)始、直播結(jié)束、錄制結(jié)束等操作觸發(fā)
* ifrecord:是否允許錄制,0表示不錄制,1表示錄制,取1時(shí)下面的參數(shù)有效
* recordname:錄制文件名前綴,可以為空,如果不指定該字段則錄制文件以頻道名稱為前綴
* sizelimit:錄制文件最大字節(jié)數(shù),以B 為單位,最小不低于10M ,最大不超過(guò)2G ,與timelimit 二選一
* timelimit:錄制文件最大時(shí)長(zhǎng),以秒為單位,最小不低于3分鐘,最大不超過(guò)3小時(shí),與sizelimit 二選一
* recordposition :錄制文件存儲(chǔ)位置,0表示云托管,1表示點(diǎn)播,可以為空,如果不指定該字段則默認(rèn)存儲(chǔ)到云托管
* deadline=1451491200 //該token 過(guò)期時(shí)間,Unix 時(shí)間
,返回包
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表示創(chuàng)建直播頻道成功, 并帶有channelid(頻道ID) 和gcid(使用ID) 。頻道ID 指的是頻道上傳ID ,用戶利用頻道上傳ID ,可使用軟件將視頻直播流上傳到云平臺(tái)中。頻道ID 是用戶私有信息,用戶應(yīng)保證不讓第三方知道,如果頻道ID 泄露,用戶可以在管理頻道頁(yè)面修改頻道ID (修改頻道ID 將不會(huì)影響視頻播放)。
{"status":returncode}
返回碼為:
*0表示操作成功
* 99表示系統(tǒng)錯(cuò)誤
* 100表示請(qǐng)求的方法不支持
* 101表示token 無(wú)效
* 102表示創(chuàng)建直播頻道失敗,參數(shù)值有錯(cuò)誤
* 103表示json 數(shù)據(jù)格式錯(cuò)誤
* 104表示頻道個(gè)數(shù)超上限
* 105表示非法用戶
2.2. 刪除頻道
域名:http://channelmgr.baofengcloud.com
協(xié)議:HTTP POST
HTTP 頭部:
POST /deletechannel HTTP/1.1
Host: channelmgr.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
HTTP 包體:
{"token": "deletetoken"}
說(shuō)明:
deletetoken 的內(nèi)容包括:
* channelid = "EF57D8EBF286B7D6E80050970F3B59FC " //頻道id ,創(chuàng)建頻道成功時(shí),從返回http 包體中獲得
* deadline=1451491200 //該token 過(guò)期時(shí)間,Unix 時(shí)間
返回包
HTTP/1.1 200 OK
Content-Type: application/json
,Content-Length: 1234
Cache-Control: no-store
{"status":returncode}
返回碼為:
* 0表示操作成功
* 99表示系統(tǒng)錯(cuò)誤
* 100表示請(qǐng)求的方法不支持
* 101表示token 無(wú)效
* 102表示刪除直播頻道失敗,參數(shù)值有錯(cuò)誤
* 103表示json 數(shù)據(jù)格式錯(cuò)誤
* 104表示頻道個(gè)數(shù)超上限
* 105表示非法用戶
2.3. 修改頻道
域名:http://channelmgr.baofengcloud.com
協(xié)議:HTTP POST
HTTP 頭部:
POST /modifychannel HTTP/1.1
Host: channelmgr.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
HTTP 包體:
{"token": "modifytoken"}
說(shuō)明:
modifytoken 的內(nèi)容包括:
* ifpublic:0是私有頻道,1是公有頻道
* channelname:頻道名字
* callback:回調(diào)地址,可以為空,如果不指定該字段則不回調(diào)。該回調(diào)地址會(huì)被直播開(kāi)始、直播結(jié)束、錄制結(jié)束等操作觸發(fā)
* ifrecord:是否允許錄制,0表示不錄制,1表示錄制,取1時(shí)下面的參數(shù)有效
* recordname:錄制文件名前綴,可以為空,如果不指定該字段則錄制文件以頻道名稱為前綴
* sizelimit:錄制文件最大字節(jié)數(shù),以B 為單位,最小不低于10M ,最大不超過(guò)2G ,與timelimit 二選一
* timelimit:錄制文件最大時(shí)長(zhǎng),以秒為單位,最小不低于3分鐘,最大不超過(guò)3小時(shí),與sizelimit 二選一
* recordposition :錄制文件存儲(chǔ)位置,0表示云托管,1表示點(diǎn)播,可以為空,如果不指定該字段則默認(rèn)存儲(chǔ)到云托管
* deadline=1451491200 //該token 過(guò)期時(shí)間,Unix 時(shí)間
返回包
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1234
,Cache-Control: no-store
{"status":returncode}
返回碼為:
* 0表示操作成功
* 99表示系統(tǒng)錯(cuò)誤
* 100表示請(qǐng)求的方法不支持
* 101表示token 無(wú)效
* 102表示修改直播頻道失敗,參數(shù)值有錯(cuò)誤
* 103表示json 數(shù)據(jù)格式錯(cuò)誤
* 104表示頻道個(gè)數(shù)超上限
* 105表示非法用戶
2.4. 錄制開(kāi)始
域名:http://recordmgr.baofengcloud.com
協(xié)議:HTTP POST
請(qǐng)求包:
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 :回調(diào)地址
recordname :錄制文件名前綴
sizelimit :錄制文件最大字節(jié)數(shù),以B 為單位,最大不能超過(guò)2G
timelimit :錄制文件最大時(shí)長(zhǎng),以秒為單位,最大不能超過(guò)2小時(shí)
recordposition :錄制文件存儲(chǔ)位置,0表示云托管,1表示點(diǎn)播
返回包
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1234
Cache-Control: no-store
{"status":0}
status 值定義:
0:操作成功
99:系統(tǒng)錯(cuò)誤
,300:磁盤空間滿
301:頻道不存在
302:不允許錄制
303:處理超時(shí)
2.5. 結(jié)束錄制
域名:http://recordmgr.baofengcloud.com
協(xié)議:HTTP POST
請(qǐng)求包:
POST /stoprecord HTTP/1.1
Host: recordmgr.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
{"channelid":"01234567890123456789012345678901"}
channelid :直播頻道上傳id
應(yīng)答包:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1234
Cache-Control: no-store
{"status":0}
status 值定義:
0:操作成功
99:系統(tǒng)錯(cuò)誤
2.6. 獲取錄制列表
域名:http://recordlist.baofengcloud.com
協(xié)議:HTTP POST或者GET
POST 請(qǐng)求包:
POST /getrecordlist HTTP/1.1
Host: recordlist.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
{"channelid":"72BC7FD637503A68985186CF464C47DC"}
channelid :直播頻道上傳id
GET 請(qǐng)求包:
GET /getrecordlist?channelid=72BC7FD637503A68985186CF464C47DC Host: storm.cloud.com HTTP/1.1
,Content-Type: application/json
應(yīng)答包:
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 :錄制文件播放時(shí)長(zhǎng),以毫秒為單位
ifpublic :視頻屬性,0表示私有,1表示公有
url :文件移動(dòng)端代碼
servicetype: 業(yè)務(wù)類型,0表示云存儲(chǔ),1表示點(diǎn)播
uploadstatus: 上傳狀態(tài),0發(fā)布中,1發(fā)布成功,2發(fā)布失敗
pictureurl :錄制文件截圖下載地址
servicetype :業(yè)務(wù)類型,0表示云存儲(chǔ),1表示點(diǎn)播
status 值定義:
0:操作成功
-1:沒(méi)有錄制文件
2.7. 刪除錄制文件
域名:http://recordlist.baofengcloud.com
協(xié)議:HTTP POST
請(qǐng)求包:
POST /delrecordfile HTTP/1.1
Host: recordlist.baofengcloud.com
Content-Type: application/json
Content-Length: 1234
{"channelid":"01234567890123456789012345678901",”filename ”:”test.mp4”}
channelid :直播頻道上傳id