保利威文档中心

幫助中心

將點播影片新增至影片庫

更新時間:2022-09-02 18:08:07

介面描述

1、添加账号对应的点播视频到直播频道下的视频库
2、接口支持https协议

介面URL

http://api.polyv.net/live/v3/channel/playback/add

線上API呼叫

請求方式

POST

介面限制

1、介面同時支援HTTP及HTTPS,建議使用HTTPS以確保介面安全,介面呼叫有頻率限制,詳細請查看

2、跨頻道設定三分屏回放,需呼叫修改影片資訊介面將vid對應影片tag修改為:頻道號|ppt,如:2566989|ppt

請求參數說明

參數名 必選 類型 說明
appId true String 帳號appId【詳見取得金鑰
timestamp true Long 當前13位毫秒級時間戳,3分鐘內有效
sign true String 簽名,為32位大寫的MD5值,產生簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名產生規則
channelId true String 頻道號
vid true String 點播影片vid【可透過點播API-搜尋影片取得】,若跨頻道請閱讀介面限制第二點
setAsDefault false String 新增至影片庫列表中的位置,預設為N
Y:回放列表中置頂
N:回放列表中置底
listType false String 列表類型,一般直播場景預設為vod,三分屏預設為playback
playback:回放列表
vod:點播列表

範例

http://api.polyv.net/live/v3/channel/playback/add

表單參數:

vid=1b448be32378ab852b8989f5cbf1359c_1&appId=frlr1zazn3&sign=A7AB37F4D0FC3EFFA4B40344E145410D&listType=playback&channelId=2191541&timestamp=1621841372083

回應參數說明

參數名 類型 說明
code Integer 回應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明
status String 回應狀態文字資訊
message String 回應描述資訊,當code為400或500時,輔助描述錯誤原因
data Object 請求失敗時為空,請求成功時為頻道錄製影片資訊 【詳見data欄位說明

data欄位說明

參數名 類型 說明
videoId String 直播系統產生的id
videoPoolId String 點播影片vid
userId String POLYV用戶ID,與保利威官網一致,取得路徑:官網->登入->直播(開發設定)
channelId String 回放影片對應的直播頻道號
title String 影片標題
firstImage String 影片首圖
duration String 影片長度,格式為HH:mm:ss
myBr String 預設影片的播放清晰度
1:流暢
2:高清
3:超清
qid String 訪客資訊收集id
seed Integer 影片加密狀態
1:加密
0:非加密
ordertime Integer 關聯點播影片的排序欄位
createdTime Long 新增為回放影片的日期,13位毫秒級時間戳
lastModified Long 影片最後修改日期,13位毫秒級時間戳
rank Integer 排序值,值越大優先級越高
asDefault String 是否為預設播放影片
Y:播放
N:不播放
url String 影片播放地址,注意:若影片為加密影片,則此地址無法存取
channelSessionId String 用於PPT請求資料,與PPT直播的回放相關,一般直播回放值為null
status String 關聯點播影片的狀態
fileUrl String 影片地址
fileId String 回放影片轉存前的暫存fileId
startTime String 直播開始時間,格式為:yyyyMMddHHmmss
liveType String 直播類型
alone:活動直播
ppt:三分屏
topclass:大班課
seminar:研討會
width Integer 影片寬度
height Integer 影片高度
origin String 轉存檔案來源
manual:手動錄製
auto:自動錄製
merge:合併
clip:裁剪
callbackUrl String 轉存影片時設定的回調地址
errorCount Integer 處理失敗的次數
lang String 語言類型,預設為中文
zh_CN:中文
EN:英文
videoIdEN String 英文回放videoId
enFileUrl String 英文回放檔案地址
mergeInfo String 影片合併資訊

Java請求範例

快速接入基礎程式碼請下載相關依賴原始碼點擊下載原始碼 ,下載後加入至自己的原始碼工程中即可。測試案例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下載檔案中。

強烈建議您使用直播Java SDK完成API的功能對接,直播Java SDK 對API呼叫邏輯、異常處理、資料簽名、HTTP請求執行緒池進行了統一封裝和最佳化。

private static final Logger log = LoggerFactory.getLogger(ChannelPlayBackTest.class);
/**
 * 将点播中的视频添加到视频库
 * @throws IOException
 * @throws NoSuchAlgorithmException
 */
@Test
public void testAddVodPlayback() throws IOException, NoSuchAlgorithmException {
    //公共参数,填写自己的实际参数
    String appId = super.appId;
    String appSecret = super.appSecret;
    String userId = super.userId;
    String timestamp = String.valueOf(System.currentTimeMillis());
    //业务参数
    String url = "http://api.polyv.net/live/v3/channel/playback/add";
    String channelId = "2191532";
    String vid = "1b448be323e68e4404332113a57353b2_1";
    String setAsDefault = "Y";
    String listType = "playback";
    
    Map<String, String> requestMap = new HashMap<>();
    requestMap.put("appId", appId);
    requestMap.put("timestamp", timestamp);
    requestMap.put("channelId", channelId);
    requestMap.put("vid", vid);
    requestMap.put("setAsDefault", setAsDefault);
    requestMap.put("listType", listType);
    requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
    String response = HttpUtil.postFormBody(url, requestMap);
    log.info("测试将点播中的视频添加到视频库,返回值:{}", response);
    //do somethings
    
}

回應範例

系統全域錯誤說明詳見全域錯誤說明

成功範例

{
    "code":200,
    "status":"success",
    "message":"",
    "data":{
        "videoId":"1b96d90bf5",
        "videoPoolId":"1b448be323e68e4404332113a57353b2",
        "userId":"1b448be323",
        "channelId":2191532,
        "title":"Spring 知识精讲1111",
        "firstImage":"1b448be323/2/1b448be323e68e4404332113a57353b2_0.jpg",
        "duration":"00:01:53",
        "myBr":"1",
        "qid":null,
        "seed":0,
        "ordertime":0,
        "createdTime":1615515464000,
        "lastModified":1615777234000,
        "rank":0,
        "asDefault":"N",
        "url":"https://hls.videocc.net/source/1b448be323/2/1b448be323e68e4404332113a57353b2_1.m3u8",
        "channelSessionId":"fwmnnydr06",
        "status":"Y",
        "fileUrl":"https://oss-live-2.videocc.net/record/record/recordf/1b448be323161536226913173df/1b448be323e68e4404332113a57353b2/2021-03-11-16-13-14_2021-03-11-16-15-07.m3u8",
        "fileId":"94ea693e1733389ae2e7693ebdacbd43",
        "startTime":"20210311161313",
        "liveType":"ppt",
        "width":1280,
        "height":720,
        "origin":"auto",
        "callbackUrl":null,
        "errorCount":0,
        "lang":"zh_CN",
        "videoIdEN":null,
        "enFileUrl":null,
        "mergeinfo":null
    }
}

異常範例

{
    "code": 400,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}
联系客服,在线咨询