批量创建接收转播的频道
接口描述
1、根据发起转播的频道,批量创建接收转播的频道
2、(channelId, timestamp, appId)参与sign签名,并和sign一起通过url传递,请求体参数不参与签名,通过post请求体传递【请设置请求头contentType:application/json】
3、接口支持https协议
接口URL
http://api.polyv.net/live/v3/channel/transmit/batch-create
请求方式
POST
接口约束
1、接口同时支持HTTP 、HTTPS ,建议使用HTTPS 确保接口安全,接口调用有频率限制,详细请查看
2、最大支持一次性创建100个接收转播的频道,发起转播的频道最多支持500个接收转播的频道
请求参数描述
请求体参数描述
Array
true
接收转播的频道名称列表,例:["保利威接收转播测试频道"]
示例
http://api.polyv.net/live/v3/channel/transmit/batch-create?appId=frlr1zazn3&sign=D02FA683640135D843D485EE84F6632A&channelId=2588188×tamp=1632809855078
请求体json参数:
[
"接收转播频道1",
"接收转播频道2"
]
响应参数描述
status
String
响应状态文本信息
message
String
响应描述信息,当code为400或者500的时候,辅助描述错误原因
ChannelInfo参数描述
channelId
Integer
频道号
name
String
频道名称
channelPasswd
String
频道密码
authType
String
频道观看条件
playBackEnabled
String
频道是否开启回放,Y:开启,N:关闭
streamType
String
频道推流方式
debugEnabled
String
频道是否开启调试,Y:开启,N:关闭
stream
String
频道流名
status
String
频道状态
categoryId
Integer
频道所在分类Id
categoryName
String
频道所在分类名称
isSmallClass
String
频道是否为小班课,Y:开启,N:关闭
newScene
String
频道直播场景,和发起转播的频道一致
template
String
频道直播模板,和发起转播的频道一致
createdTime
Long
频道创建时间
coverImage
String
频道封面图片
type
String
频道类型,transmit:发起转播,normal:普通的频道,receive:接收转播
startTime
Long
频道开始时间
publisher
String
频道主持人
splashImg
String
频道引导图图片地址
splashEnabled
String
频道引导图开关,Y:开启,N:关闭
pureRtcEnabled
String
频道无延迟直播开关,Y:开启,N:关闭
roomIds
String
频道分房间信息,没有则返回null
Java请求示例
快速接入基础代码请下载相关依赖源码, 点击下载源代码 ,下载后加入到自己的源码工程中即可。测试用例中的HttpUtil.java 和 LiveSignUtil.java 都包含在下载文件中。
@Test
public void testBatchCreateTransmitChannel() 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/transmit/batch-create";
String channelId = "2588188";
//http 调用逻辑
Map<String, String> requestMap = new HashMap<>();
requestMap.put("appId", appId);
requestMap.put("timestamp", timestamp);
requestMap.put("channelId", channelId);
requestMap.put("sign", LiveSignUtil.getSign(requestMap, appSecret));
url = HttpUtil.appendUrl(url,requestMap);
List<String> list = new ArrayList<>();
list.add("接收转播频道1");
list.add("接收转播频道2");
String json= JSON.toJSONString(list);
String response = HttpUtil.postJsonBody(url, json,null);
log.info("测试修改频道信息,返回值:{}", response);
}
响应示例
成功示例
{
"code": 200,
"status": "success",
"message": "",
"data": [
{
"channelId": 2588440,
"name": "接收转播频道1",
"channelPasswd": "8pWtmd",
"authType": "phone",
"streamType": "client",
"debugEnabled": "N",
"playBackEnabled": "N",
"stream": "1b448be3231632809860172afac",
"status": "客户端推流/直播结束",
"categoryId": 340019,
"categoryName": "默认分类",
"isSmallClass": "N",
"scene": "ppt",
"newScene": null,
"template": null,
"createdTime": 1632809860000,
"appId": null,
"coverImage": "",
"type": "receive",
"startTime": null,
"publisher": "主持人",
"channelLogo": null,
"splashImg": "//liveimages.videocc.net/uploaded/images/2021/09/g2bta2pjbw.jpg",
"splashEnabled": "Y",
"pureRtcEnabled": "N",
"watchTimes": null,
"roomIds": null,
"transmitType": null,
"rtcType": null,
"channelSessionId": null,
"lastPushStreamTime": null
},
{
"channelId": 2588441,
"name": "接收转播频道2",
"channelPasswd": "8pWtmd",
"authType": "phone",
"streamType": "client",
"debugEnabled": "N",
"playBackEnabled": "N",
"stream": "1b448be323163280986017418fb",
"status": "客户端推流/直播结束",
"categoryId": 340019,
"categoryName": "默认分类",
"isSmallClass": "N",
"scene": "ppt",
"newScene": null,
"template": null,
"createdTime": 1632809860000,
"appId": null,
"coverImage": "",
"type": "receive",
"startTime": null,
"publisher": "主持人",
"channelLogo": null,
"splashImg": "//liveimages.videocc.net/uploaded/images/2021/09/g2bta2pjbw.jpg",
"splashEnabled": "Y",
"pureRtcEnabled": "N",
"watchTimes": null,
"roomIds": null,
"transmitType": null,
"rtcType": null,
"channelSessionId": null,
"lastPushStreamTime": null
}
]
}
异常示例
{
"code": 400,
"status": "error",
"message": "application not found.",
"data": ""
}
Last updated
Was this helpful?