playbackSercice
1、查询录制视频
描述
查询录制视频
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/recordFiles
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
单元测试
@Test
public void testGetRecordInfo() throws IOException, NoSuchAlgorithmException {
SeminarGetRecordInfoRequest seminarGetRecordInfoRequest = new SeminarGetRecordInfoRequest();
List<SeminarGetRecordInfoResponse> seminarGetRecordInfoResponse;
try {
String channelId = super.getChannelId();
seminarGetRecordInfoRequest.setChannelId(channelId)
.setStartDate(super.getDate(1643163720000L))
.setEndDate(super.getDate(1643163780000L));
seminarGetRecordInfoResponse = new SeminarPlaybackServiceImpl().getRecordInfo(seminarGetRecordInfoRequest);
Assert.assertNotNull(seminarGetRecordInfoResponse);
if (seminarGetRecordInfoResponse != null) {
//to do something ......
log.debug("测试查询录制视频成功 {}", JSON.toJSONString(seminarGetRecordInfoResponse));
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
单元测试说明
1、请求正确,返回SeminarGetRecordInfoResponse对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| channelId | true | String | 频道号 |
| userId | true | String | POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置) |
| startDate | false | Date | 开始日期,格式:yyyy-MM-dd |
| endDate | false | Date | 结束日期,格式:yyyy-MM-dd |
| sessionId | false | String | 直播的场次ID |
返回对象描述
返回对象是List<SeminarGetRecordInfoResponse>,SeminarGetRecordInfoResponse具体元素内容如下:
| 参数名 | 类型 | 说明 |
|---|---|---|
| channelId | String | 频道号 |
| fileId | String | 录制文件ID |
| url | String | 录制文件地址,优先返回MP4,若没有MP4会返回M3U8 |
| startTime | String | 开始录制时间,格式为:yyyyMMddHHmmss |
| endTime | String | 结束录制时间,格式为:yyyyMMddHHmmss |
| fileSize | Long | 录制文件大小(单位:字节) |
| duration | Integer | 时长(单位:秒) |
| bitrate | Integer | 录制文件码率(单位:字节) |
| resolution | String | 分辨率,示例:1280x720 |
| channelSessionId | String | 直播的场次ID |
| fileName | String | 录制文件名称 |
| daysLeft | Integer | 录制文件剩余天数,大于0:剩余天数,-1:永久,不会返回过期的录制文件记录 |
| origin | String | 录制文件来源 manual:手动录制 auto:自动录制 |
| originSessionId | String | 原始直播场次ID 当该录制文件为手动录制或自动录制时就等于当前直播场次ID |
| recordFileType | String | 录制文件类型 complete:完整回放,part:自动录制_片段,merge:手动合并,clip:裁剪 |
2、删除录制视频
描述
删除频道视频库中直播暂存的录制视频
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channel/recordFile/%s/delete-record
调用约束
1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看
2、请求参数sessionId和startTime不能同时为空,必须单独提交某一参数
单元测试
@Test
public void testDeleteRecord() throws IOException, NoSuchAlgorithmException {
SeminarDeleteRecordRequest seminarDeleteRecordRequest = new SeminarDeleteRecordRequest();
Boolean seminarDeleteRecordResponse;
try {
String channelId = super.getChannelId();
seminarDeleteRecordRequest.setChannelId(channelId).setStartTime(super.getDate(1643163515000L));
seminarDeleteRecordResponse = new SeminarPlaybackServiceImpl().deleteRecord(seminarDeleteRecordRequest);
Assert.assertTrue(seminarDeleteRecordResponse);
if (seminarDeleteRecordResponse) {
//to do something ......
log.debug("测试删除录制视频成功");
}
} catch (PloyvSdkException e) {
//参数校验不合格 或者 请求服务器端500错误,错误信息见PloyvSdkException.getMessage()
log.error(e.getMessage(), e);
// 异常返回做B端异常的业务逻辑,记录log 或者 上报到ETL 或者回滚事务
throw e;
} catch (Exception e) {
log.error("SDK调用异常", e);
throw e;
}
}
}
单元测试说明
1、请求正确,返回Boolean对象,B端依据此对象处理业务逻辑;
2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]
3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]
请求入参描述
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| channelId | true | String | 频道号 |
| sessionId | false | String | 录制视频的场次ID |
| startTime | false | Date | 录制视频的开始录制时间,格式为:yyyyMMddHHmmss,如:20210317181043【可通过查询频道录制视频信息获取】 |
返回对象描述
删除录制视频返回实体
