暴風云API接口文檔1.12
暴風云API 接口文檔1. 點播1.1. 點播發(fā)布狀態(tài)查詢域名:http://access.baofengcloud.com協(xié)議:HTTP POST請求包POST /query HTTP/1.1Ho
暴風云API 接口文檔
1. 點播
1.1. 點播發(fā)布狀態(tài)查詢
域名:http://access.baofengcloud.com
協(xié)議: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:系統(tǒng)錯誤
* 101:文件已成功發(fā)布完成
* 102:文件上傳中
* 103:文件轉碼中
* 104:用戶未購買對應服務
* 105:用戶空間不足
* 106:用戶已被禁
,* 107:用戶余額不足
* 131:用戶請求不支持
* 132:非法用戶
* 133:校驗錯誤
* 134:用戶請求無法解析或缺少字段
* 135:文件格式不支持
* 136:文件長度超長
* 137:請求時間戳過期
* 138:文件不存在
* 200:發(fā)布中
* 210:上傳成功
* 211:轉碼成功
* 212:審核通過
* 214:CDN 發(fā)布成功
* 220:上傳失敗
* 221:轉碼失敗
* 222:審核不通過
* 224:CDN 發(fā)布失敗
* 230:超時失敗
1.2. 視頻刪除接口
域名:http://access.baofengcloud.com
協(xié)議: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
協(xié)議: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 圖片文件的大小單位字節(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"}
說明:
createtoken 的內容包括:
* ifpublic:0是私有頻道,1是公有頻道
* channelname:頻道名字
* callback:回調地址,可以為空,如果不指定該字段則不回調。該回調地址會被直播開始、直播結束、錄制結束等操作觸發(fā)
* ifrecord:是否允許錄制,0表示不錄制,1表示錄制,取1時下面的參數有效
* recordname:錄制文件名前綴,可以為空,如果不指定該字段則錄制文件以頻道名稱為前綴
* sizelimit:錄制文件最大字節(jié)數,以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表示創(chuàng)建直播頻道成功, 并帶有channelid(頻道ID) 和gcid(使用ID) 。頻道ID 指的是頻道上傳ID ,用戶利用頻道上傳ID ,可使用軟件將視頻直播流上傳到云平臺中。頻道ID 是用戶私有信息,用戶應保證不讓第三方知道,如果頻道ID 泄露,用戶可以在管理頻道頁面修改頻道ID (修改頻道ID 將不會影響視頻播放)。
{"status":returncode}
返回碼為:
*0表示操作成功
* 99表示系統(tǒng)錯誤
* 100表示請求的方法不支持
* 101表示token 無效
* 102表示創(chuàng)建直播頻道失敗,參數值有錯誤
* 103表示json 數據格式錯誤
* 104表示頻道個數超上限
* 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"}
說明:
deletetoken 的內容包括:
* channelid = "EF57D8EBF286B7D6E80050970F3B59FC " //頻道id ,創(chuàng)建頻道成功時,從返回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表示系統(tǒng)錯誤
* 100表示請求的方法不支持
* 101表示token 無效
* 102表示刪除直播頻道失敗,參數值有錯誤
* 103表示json 數據格式錯誤
* 104表示頻道個數超上限
* 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"}
說明:
modifytoken 的內容包括:
* ifpublic:0是私有頻道,1是公有頻道
* channelname:頻道名字
* callback:回調地址,可以為空,如果不指定該字段則不回調。該回調地址會被直播開始、直播結束、錄制結束等操作觸發(fā)
* ifrecord:是否允許錄制,0表示不錄制,1表示錄制,取1時下面的參數有效
* recordname:錄制文件名前綴,可以為空,如果不指定該字段則錄制文件以頻道名稱為前綴
* sizelimit:錄制文件最大字節(jié)數,以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表示系統(tǒng)錯誤
* 100表示請求的方法不支持
* 101表示token 無效
* 102表示修改直播頻道失敗,參數值有錯誤
* 103表示json 數據格式錯誤
* 104表示頻道個數超上限
* 105表示非法用戶
2.4. 錄制開始
域名:http://recordmgr.baofengcloud.com
協(xié)議: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 :錄制文件最大字節(jié)數,以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:系統(tǒng)錯誤
,300:磁盤空間滿
301:頻道不存在
302:不允許錄制
303:處理超時
2.5. 結束錄制
域名:http://recordmgr.baofengcloud.com
協(xié)議: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:系統(tǒng)錯誤
2.6. 獲取錄制列表
域名:http://recordlist.baofengcloud.com
協(xié)議: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: 業(yè)務類型,0表示云存儲,1表示點播
uploadstatus: 上傳狀態(tài),0發(fā)布中,1發(fā)布成功,2發(fā)布失敗
pictureurl :錄制文件截圖下載地址
servicetype :業(yè)務類型,0表示云存儲,1表示點播
status 值定義:
0:操作成功
-1:沒有錄制文件
2.7. 刪除錄制文件
域名:http://recordlist.baofengcloud.com
協(xié)議: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