保利威文档中心

幫助中心

同步轉存錄製檔案到點播

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

介面描述

1、将直播录制文件转存至点播后台中
2、接口URL中的{channelId}为频道号
3、接口支持https协议

介面URL

http://api.polyv.net/live/v2/channel/recordFile/{channelId}/convert

請求方式

POST

介面限制

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

2、同一個POLYV帳號,呼叫該介面的間隔至少5分鐘

3、可以同時傳入fileUrl和sessionId,或必傳其中一個

請求參數描述

參數名 必選 類型 說明
appId true String 帳號appId【詳見取得金鑰
timestamp true Long 當前13位毫秒級時間戳,3分鐘內有效
sign true String 簽名,為32位大寫的MD5值,生成簽名的appSecret金鑰作為通訊資料安全的關鍵資訊,嚴禁儲存在用戶端直接使用,所有API都必須透過客戶自己伺服器中轉呼叫POLYV伺服器取得回應資料【詳見簽名生成規則
userId true String 直播帳號ID
fileName true String 轉存後的點播影片名稱
fileUrl false String 轉存到錄製檔案地址【可透過查詢頻道錄製影片資訊取得】
sessionId false String 直播場次ID,只傳此參數時,可將對應場次的直播錄製影片轉存到點播
cataid false String 目錄ID,不填或填寫錯誤即為預設分類
cataname false String 目錄名稱,預設為預設分類,當cataid設定為-1時,會新建一個名稱為cataname的目錄,並將影片放到該目錄下
toPlayList false String 是否存放到回放列表,預設為N,Y:存放到回放列表,N:不存放
setAsDefault false String 是否設為預設回放影片,預設為Y,Y:設定預設回放影片(轉存後在回放列表中位於第一個),N:轉存後在回放列表位於最後一個。此參數僅在toPlayList=Y時生效

回應參數描述

參數名 類型 說明
code Integer 回應狀態碼,200為成功返回,非200為失敗【詳見全域錯誤說明
status String 回應狀態文字資訊
message String 回應描述資訊,當code為400或500時,輔助描述錯誤原因
data String 回應結果,請求成功時返回轉存成功後的點播影片的id(即vid)

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 testRecordConvertSyn() 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/v2/channel/recordFile/%s/convert";
    String channelId = "2139283";
    String fileName = "测试同步转存";
    String fileUrl = "";
    String sessionId = "fvlyin8qz3";
    String cataId = "";
    String cataname = "默认分类";
    String toPlayList = "Y";
    String setAsDefault = "Y";
    
    url = String.format(url, channelId);
    Map<String, String> requestMap = new HashMap<>();
    requestMap.put("appId", appId);
    requestMap.put("timestamp", timestamp);
    requestMap.put("userId", userId);
    requestMap.put("fileName", fileName);
    requestMap.put("sessionId", sessionId);
    requestMap.put("cataId", cataId);
    requestMap.put("cataname", cataname);
    requestMap.put("toPlayList", toPlayList);
    requestMap.put("setAsDefault", setAsDefault);
    requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
    String response = HttpUtil.postFormBody(url, requestMap);
    log.info("测试同步转存录制文件到点播,返回值:{}", response);
    //do somethings
    
}

回應範例

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

成功範例

{
    "code":200,
    "status":"success",
    "message":"",
    "data":"1b448be32353f0f4638f70a9545c75bd_1"
}

異常範例

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