Playback Sercice

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【可通过查询频道录制视频信息获取】

返回对象描述

删除录制视频返回实体

Last updated