Polyv Help Center

Help Center

Set Up Simulated Live Streaming

Updated: 2024-05-31 10:21:44

Interface Description

1、批量添加伪直播的视频,需预先将视频上传至点播系统或者视频来源于直播暂存录制
2、调用接口后,如果当前频道未在直播中,会自动设置直播方式为“伪直播“
3、如果当前使用其他直播推流方式直播中,则需要在直播结束后,调用”修改频道推流方式“接口修改为伪直播,才会在所设置的开始时间进行直播
4、接口支持https协议

Interface URL

http://api.polyv.net/live/v3/channel/stream/add-disk-videos

Online API Call

Request Method

POST

Interface Constraints

  1. The interface supports both HTTP and HTTPS. HTTPS is recommended for security. API calls have frequency limits. See details

  2. Only supports setting up simulated live streaming for pure video channels with normal latency.

  3. Encrypted videos and m3u8 format videos are not allowed.

Request Parameter Description

Parameter Required Type Description
appId true String Account appId See details on obtaining keys
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 for generating the signature is critical for communication data security. It must not be saved 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
channelId true String Channel ID. Only supports pure video channels with normal latency for simulated live streaming.
vids true String VOD video IDs or live temporary file fileIds for simulated live streaming. Separate multiple IDs with commas.
startTimes false String List of simulated live streaming start times, 13-digit millisecond timestamps. Separate multiple times with commas. Must match the number of vids.
If empty, no live streaming time is set.
If not empty, must be greater than the current time. This field cannot be empty when the vid is a live temporary file.
origin false String Source of the simulated live video. If empty or "vod", it is a VOD video. If "record", it comes from a live temporary file.

Example

http://api.polyv.net/live/v3/channel/stream/add-disk-videos

Form parameters:

vids=1b448be32389b93ea8be08bf0d257043_1&appId=frlr1zazn3&sign=2A861BD280299A4D7E6FF556C77C88D2&channelId=2149710&timestamp=1621843071824&startTimes=1616557881536

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
message String Response description. When code is 400 or 500, provides additional error details.
data String Returns an empty string for both success and failure.

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 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(ChannelOperateTest.class);
/**
 * 设置伪直播
 * @throws IOException
 * @throws NoSuchAlgorithmException
 */
@Test
public void testAddDiskVideos() 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/stream/add-disk-videos";
    String channelId = "2149710";
    String vids = "1b448be32389b93ea8be08bf0d257043_1";
    String startTimes = "1615356953000";
    
    Map<String, String> requestMap = new HashMap<>();
    requestMap.put("appId", appId);
    requestMap.put("timestamp", timestamp);
    requestMap.put("vids", vids);
    requestMap.put("startTimes", startTimes);
    requestMap.put("channelId", channelId);
    requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
    String response = HttpUtil.postFormBody(url, requestMap);
    log.info("测试设置伪直播,返回值:{}", response);
    //do somethings
    
}

Response Example

For system-wide global error descriptions, see Global Error Description

Success Example

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

Error Example

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