Polyv Help Center

Help Center

Synchronously Transfer Recording Files to VOD

Updated: 2022-09-02 18:08:07

Interface Description

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

Interface URL

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

Request Method

POST

Interface Constraints

  1. The interface supports both HTTP and HTTPS. HTTPS is recommended to ensure interface security. Interface calls have frequency limits. See details

  2. For the same POLYV account, the interval between calls to this interface must be at least 5 minutes.

  3. You can pass both fileUrl and sessionId, or at least one of them is required.

Request Parameter Description

Parameter Required Type Description
appId true String Account appId [See Get Secret Key]
timestamp true Long Current 13-digit millisecond timestamp, valid for 3 minutes
sign true String Signature, a 32-character uppercase MD5 value. The appSecret key used to generate the signature is critical for communication data security. It must not be stored or used directly on the client side. All APIs must be called through the customer's own server to relay requests to the POLYV server for response data. [See Signature Generation Rules]
userId true String Live streaming account ID
fileName true String Name of the VOD video after transfer
fileUrl false String Recording file address for transfer [Can be obtained via Query Channel Recording Video Information]
sessionId false String Live session ID. Passing only this parameter transfers the live recording video of the corresponding session to VOD
cataid false String Category ID. If not provided or incorrect, the default category is used
cataname false String Category name. Default is "Default Category". When cataid is set to -1, a new category named cataname is created and the video is placed under it
toPlayList false String Whether to save to the replay list. Default is N. Y: Save to replay list, N: Do not save
setAsDefault false String Whether to set as the default replay video. Default is Y. Y: Set as default replay video (appears first in the replay list after transfer), N: Appears last in the replay list after transfer. This parameter only takes effect when toPlayList=Y

Response Parameter Description

Parameter Type Description
code Integer Response status code. 200 indicates success, non-200 indicates failure [See Global Error Description]
status String Response status text information
message String Response description. When code is 400 or 500, it provides auxiliary error reason description
data String Response result. On success, returns the VOD video ID (vid) after successful transfer

Java Request Example

For quick integration of basic code, download the relevant dependency source code. Click here to download the source code. After downloading, add it to your own source project. The test cases include HttpUtil.java and LiveSignUtil.java, both contained in the downloaded file.

It is strongly recommended to use the Live Java SDK for API integration. The Live Java SDK provides unified encapsulation and optimization for API call logic, exception handling, data signing, and HTTP request thread pools.

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
    
}

Response Example

For global system error descriptions, see Global Error Description

Success Example

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

Error Example

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