保利威文档中心

帮助中心

channelPlayback

更新时间:2025-09-11 15:18:09

1、将点播中的视频添加到视频库

描述

将点播中的视频添加到视频库
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/playback/add

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、点播视频得设置标签为频道号,多个用英文逗号分隔

单元测试

    @Test
    public void testAddChannelVideoPlayback() throws Exception, NoSuchAlgorithmException {
        LiveCreateChannelVideoPlaybackRequest liveCreateChannelVideoPlaybackRequest =
                new LiveCreateChannelVideoPlaybackRequest();
        LiveCreateChannelVideoPlaybackResponse liveCreateChannelVideoPlaybackResponse;
        try {
            liveCreateChannelVideoPlaybackRequest.setChannelId(getAloneChannelId())
                    .setVideoId("1b448be323f85566b217d3988dbb35a8_1")
                    .setListType("vod")
                    .setSetAsDefault("Y");
            liveCreateChannelVideoPlaybackResponse = new LiveChannelPlaybackServiceImpl().addChannelVideoPlayback(
                    liveCreateChannelVideoPlaybackRequest);
            Assert.assertNotNull(liveCreateChannelVideoPlaybackResponse);
            if (liveCreateChannelVideoPlaybackResponse != null) {
                //to do something ......
                log.debug("测试将点播中的视频添加到视频库成功{}", JSON.toJSONString(liveCreateChannelVideoPlaybackResponse));
            }
        } 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、请求正确,返回LiveCreateChannelVideoPlaybackResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
channelId true String 频道号
videoId true String 要添加为回放的的点播视频【对应api文档的vid字段】
listType false String playback-回放列表,vod-点播列表;
setAsDefault false String 添加到视频库列表中的位置,默认为N Y:回放列表中置顶 N:回放列表中置底
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

参数名 类型 说明
videoId String 直播系统生成的id
videoPoolId String 点播视频vid
userId String 点播后台用户id
channelId String 回放视频对应的直播频道号
title String 视频标题
firstImage String 视频首图
duration String 视频长度,如:00:00:30
myBr String 默认视频的播放清晰度,1为流畅,2为高清,3为超清
qid String 访客信息收集id
seed String 视频加密状态,1表示为加密状态,0为非加密
createdTime Date 添加为回放视频的日期
lastModified Date 视频最后修改日期
url String 视频播放地址,注:如果视频为加密视频,则此地址无法访问
channelSessionId String 用于PPT请求数据,与PPT直播的回放相关,普通直播回放值为null
mergeInfo String 视频合并信息
startTime String 直播开始时间
liveType String 回放视频的场景类型






2、异步批量转存录制文件到点播

描述

异步批量转存录制文件到点播
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/record/convert

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testConvertChannelVideoListAsync() throws Exception, NoSuchAlgorithmException {
        LiveConvertChannelVideoListAsyncRequest liveConvertChannelVideoListAsyncRequest =
                new LiveConvertChannelVideoListAsyncRequest();
        Boolean liveConvertChannelVideoResponse;
        try {
            liveConvertChannelVideoListAsyncRequest.setChannelId("1951952")
                    .setFileIds("dfcfabd4e3db60892b625aeddf80b242,4329a8920588b257c3d66414bd37f8d8")
                    .setFileName("删除-直播录制转点播")
                    .setCataId(null)
                    .setCallbackUrl(null);
            liveConvertChannelVideoResponse = new LiveChannelPlaybackServiceImpl().convertChannelVideoListAsync(
                    liveConvertChannelVideoListAsyncRequest);
            Assert.assertNotNull(liveConvertChannelVideoResponse);
            if (liveConvertChannelVideoResponse) {
                //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 频道号
fileIds true String 要转存的录制视频文件id,多个id用英文逗号,分隔
fileName false String 转存后的文件名,目前暂不支持传多个文件名
cataId false Long 转存到点播的目录id,默认为点播的根目录id
callbackUrl false String 转存成功时候回调通知的url,通知的相关参数见附录
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

true为提交成功,false为提交失败,具体转存是否成功以回调为准




3、异步合并直播录制文件

描述

异步合并直播录制文件
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/record/merge

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testMergeChannelVideoAsync() throws Exception, NoSuchAlgorithmException {
        LiveMergeChannelVideoAsyncRequest liveMergeChannelVideoAsyncRequest = new LiveMergeChannelVideoAsyncRequest();
        Boolean liveMergeChannelVideoAsyncResponse;
        try {
            liveMergeChannelVideoAsyncRequest.setChannelId("1951952")
                    .setFileIds("dfcfabd4e3db60892b625aeddf80b242,4329a8920588b257c3d66414bd37f8d8")
                    .setFileName("测试合并-可删除")
                    .setCallbackUrl(null)
                    .setAutoConvert("Y")
                    .setMergeMp4("Y");
            liveMergeChannelVideoAsyncResponse = new LiveChannelPlaybackServiceImpl().mergeChannelVideoAsync(
                    liveMergeChannelVideoAsyncRequest);
            Assert.assertTrue(liveMergeChannelVideoAsyncResponse);
            if (liveMergeChannelVideoAsyncResponse) {
                //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 频道号
fileIds true String 要合并的录制视频文件ID,多个id用英文逗号,分隔,可通过调用查询视频库列表获取fileId
fileName false String 合并后的视频的文件名
callbackUrl false String 合并成功或失败回调的url,可以带上自定义参数
autoConvert false String 传入Y,自动转存到对应点播分类下(直播回放-频道号-场次)
mergeMp4 false String 传Y合并MP4文件,传N或者不传合并m3u8文件
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

true为提交成功,false为提交失败,具体合并是否成功以回调为准

回调说明

  该接口为异步处理,如果需要获取转存的结果,可以在请求接口时提交callbackUrl 参数,在程序转存成功或失败后,会对callbackUrl 进行回调通知

参数名 类型 说明
status String 接口处理结果,取值:success(成功),error(出错)
code String 错误码,userExpired-用户已过期;spaceOverSize-点播空间不足;unknown-未知异常
userId String 用户id
channelId String 频道号
fileId String 转存的文件ID
sign String 校验的加密字符串,生成的规则md5(AppSecret+timestamp),AppSecret是直播系统的用密匙
timestamp String 13位毫秒时间戳






4、查询频道录制视频信息

描述

查询频道录制视频信息
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channels/%s/recordFiles

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testListChannelVideo() throws Exception, NoSuchAlgorithmException {
        LiveChannelVideoListRequest liveChannelVideoListRequest = new LiveChannelVideoListRequest();
        LiveChannelVideoListResponse liveChannelVideoListResponse;
        try {
            liveChannelVideoListRequest.setChannelId("1951952")
                    .setStartDate(getDate(2020, 1, 1))
                    .setEndDate(getDate(2020, 10, 14))
                    .setSessionIds("fs4j2z8wcb,fs8p8eso44");
            liveChannelVideoListResponse = new LiveChannelPlaybackServiceImpl().listChannelVideo(
                    liveChannelVideoListRequest);
            Assert.assertNotNull(liveChannelVideoListResponse);
            if (liveChannelVideoListResponse != null) {
                //to do something ......
                log.debug("查询频道录制视频信息成功{}", JSON.toJSONString(liveChannelVideoListResponse));
            }
        } 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、请求正确,返回LiveChannelVideoListResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
userId false String POLYV用户ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
channelId true String 需要设置频道详情的频道号,例如:1938028
startDate false Date 开始日期(录制生成的日期),格式为:yyyy-MM-dd
endDate false Date 结束日期,格式为:yyyy-MM-dd
sessionIds false String 场次ID,多个用英文逗号分割(仅查询转存文件来源为频道录制的视频)
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

参数名 类型 说明
channelVedioInfos Array 视频库视频信息【详见ChannelVedioInfo参数描述
ChannelVedioInfo参数描述
参数名 类型 说明
fileId String 录制文件id
channelId String 频道号
url String 录制文件地址,优先返回mp4,若没有MP4会返回m3u8
startTime Date 开始录制时间
endTime Date 结束录制时间
fileSize Long 录制文件大小(单位:字节)
duration Integer 时长(单位:秒)
bitrate Integer 录制文件码率(单位:字节)
resolution String 分辨率
channelSessionId String 直播的场次id
fileName String 录制文件名称
daysLeft Integer 录制文件剩余天数,大于0:剩余天数,-1:永久,不会返回过期的录制文件记录
origin String 录制文件来源 manual:手动录制 auto:自动录制
originSessionId String 原始直播场次ID 当该录制文件为手动录制或自动录制时就等于当前直播场次ID
recordFileType String 录制文件类型 complete:完整回放,part:自动录制_片段,merge:手动合并,clip:裁剪






5、查询视频库列表

描述

查询视频库列表
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channel/recordFile/%s/playback/list

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testListChannelVideoLibrary() throws Exception, NoSuchAlgorithmException {
        LiveListChannelVideoLibraryRequest liveListChannelVideoLibraryRequest =
                new LiveListChannelVideoLibraryRequest();
        LiveListChannelVideoLibraryResponse liveListChannelVideoLibraryResponse;
        try {
            liveListChannelVideoLibraryRequest.setChannelId(super.createChannel())
                    .setListType("playback");
            liveListChannelVideoLibraryResponse = new LiveChannelPlaybackServiceImpl().listChannelVideoLibrary(
                    liveListChannelVideoLibraryRequest);
            Assert.assertNotNull(liveListChannelVideoLibraryResponse);
            if (liveListChannelVideoLibraryResponse != null) {
                //to do something ......
                log.debug("测试查询视频库列表成功{}", JSON.toJSONString(liveListChannelVideoLibraryResponse));
            }
        } 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、请求正确,返回LiveListChannelVideoLibraryResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
channelId true String 频道号
listType false String playback-回放列表,vod-点播列表;默认普通直播场景为vod,三分屏为playback
sessionIds false String 场次ID,多个用英文逗号分割(仅查询转存文件来源为频道录制的视频)
currentPage false Integer 页数,默认为1【对应api文档的page字段】
pageSize false Integer 每页显示的数据条数,默认每页显示20条数据
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

参数名 类型 说明
contents Array 视频库视频信息【详见ChannelVideoLibrary参数描述
pageSize Integer 每页显示的数据条数,默认每页显示20条数据
currentPage Integer 当前页【对应api文档的pageNumber字段】
totalItems Integer 记录总条数
totalPage Integer 总页数【对应api文档的totalPages字段】
ChannelVideoLibrary参数描述
参数名 类型 说明
videoId String 直播系统生成的id
videoPoolId String 点播视频vid
userId String 点播后台用户id
channelId String 回放视频对应的直播频道号
title String 视频标题
firstImage String 视频首图
duration String 视频长度,如:00:27:10
myBr Integer 默认视频的播放清晰度
1:流畅
2:高清
3:超清
qid String 访客信息收集id
seed Integer 视频加密状态,1表示为加密状态,0为非加密
createdTime Date 添加为回放视频的日期
lastModified Date 视频最后修改日期
asDefault String 是否为默认播放视频,值为Y/N
url String 视频播放地址,注:如果视频为加密视频,则此地址无法访问
channelSessionId String 用于PPT请求数据,与PPT直播的回放相关,普通直播回放值为null
mergeInfo String 视频合并信息,后续补充
startTime Date 直播开始时间
liveType String alone:活动直播,ppt:三分屏,topclass:大班课,seminar:研讨会
ordertime Integer 关联点播视频的排序字段
rank Integer 排序值,值越大优先级越高
width Integer 视频宽度
height Integer 视频高度
status String 关联点播视频的状态
fileUrl String 视频地址
fileId String 回放视频转存前的暂存fileId
origin String manual:手动录制,auto:自动录制,merge:合并,clip:裁剪
callbackUrl String 转存视频时设置的回调地址
errorCount Integer 处理失败的次数
lang String zh_CN:中文,EN:英文
videoIdEN String 英文回放videoId
enFileUrl String 英文回放文件地址
watchUrl String 观看回放视频的地址
originSessionId String 来源场次Id






6、查询频道直播场次信息

描述

查询频道直播场次信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/session/list

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testListChannelSessionInfo() throws Exception, NoSuchAlgorithmException {
        LiveListChannelSessionInfoRequest liveListChannelSessionInfoRequest = new LiveListChannelSessionInfoRequest();
        LiveListChannelSessionInfoResponse liveListChannelSessionInfoResponse;
        try {
            Calendar instance = Calendar.getInstance();
            instance.set(2020, 10, 1);
            liveListChannelSessionInfoRequest.setChannelId(createChannel())
                    .setStartDate(instance.getTime())
                    .setEndDate(new Date())
                    .setCurrentPage(1);
            liveListChannelSessionInfoResponse = new LiveChannelPlaybackServiceImpl().listChannelSessionInfo(
                    liveListChannelSessionInfoRequest);
            Assert.assertNotNull(liveListChannelSessionInfoResponse);
            if (liveListChannelSessionInfoResponse != null) {
                //to do something ......
                log.debug("测试查询频道直播场次信息成功{}", JSON.toJSONString(liveListChannelSessionInfoResponse));
            }
        } 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、请求正确,返回LiveListChannelSessionInfoResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
channelId true String 频道号
startDate false Date 开始日期,格式yyyy-MM-dd HH:mm:ss
endDate false Date 结束日期,格式yyyy-MM-dd HH:mm:ss
currentPage false Integer 页数,默认为1【对应api文档的page字段】
pageSize false Integer 每页显示的数据条数,默认每页显示20条数据
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

参数名 类型 说明
contents Array 频道直播场次信息【详见ChannelSessionInfo参数描述
pageSize Integer 每页显示的数据条数,默认每页显示20条数据
currentPage Integer 当前页【对应api文档的pageNumber字段】
totalItems Integer 记录总条数
totalPage Integer 总页数【对应api文档的totalPages字段】
ChannelSessionInfo参数描述
参数名 类型 说明
channelId String 频道号
sessionId String 场次id
startTime Date 直播开始时间
endTime Date 直播结束时间






7、查询频道的回放开关状态

描述

查询频道的回放开关状态
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/playback/get-enabled

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testGetChannelPlayBackEnabledInfo() throws Exception, NoSuchAlgorithmException {
        LiveChannelPlaybackEnabledInfoRequest liveChannelPlaybackEnabledInfoRequest =
                new LiveChannelPlaybackEnabledInfoRequest();
        String liveChannelPlaybackEnabledInfoResponse;
        try {
            liveChannelPlaybackEnabledInfoRequest.setChannelId(createChannel());
            liveChannelPlaybackEnabledInfoResponse = new LiveChannelPlaybackServiceImpl().getChannelPlayBackEnabledInfo(
                    liveChannelPlaybackEnabledInfoRequest);
            Assert.assertNotNull(liveChannelPlaybackEnabledInfoResponse);
            if ("Y".equals(liveChannelPlaybackEnabledInfoResponse)) {
                //to do something ......
                log.debug("测试查询频道的回放开关状态成功{}", liveChannelPlaybackEnabledInfoResponse);
            }
        } 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、请求正确,返回String对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
channelId true String 频道号
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

Y为开启,N为关闭




8、查询指定文件ID的录制文件信息

描述

查询指定文件ID的录制文件信息
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/record/get

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testGetChannelVideoOnly() throws Exception, NoSuchAlgorithmException {
        LiveChannelVideoOnlyRequest liveChannelVideoOnlyRequest = new LiveChannelVideoOnlyRequest();
        LiveChannelVideoOnlyResponse liveChannelVideoOnlyResponse;
        try {
            String channelId = super.getAloneNewChannelId();
            String fileId = listChannelFileIds(channelId).get(0);
            liveChannelVideoOnlyRequest.setChannelId(channelId)
                    .setFileId(fileId);
            liveChannelVideoOnlyResponse = new LiveChannelPlaybackServiceImpl().getChannelVideoOnly(
                    liveChannelVideoOnlyRequest);
            Assert.assertNotNull(liveChannelVideoOnlyResponse);
            if (liveChannelVideoOnlyResponse != null) {
                //to do something ......
                log.debug("测试查询指定文件ID的录制文件信息成功{}", JSON.toJSONString(liveChannelVideoOnlyResponse));
            }
        } 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、请求正确,返回LiveChannelVideoOnlyResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
channelId true String 频道号
fileId true String 文件ID
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

参数名 类型 说明
bitrate Integer 码率
channelId String 频道号
channelSessionId String 频道场次
originSessionId String 原始场次ID
createdTime Date 创建时间
duration Integer 时长
endTime Date 结束时间
fileId String 文件id
filename String 文件名
filesize Long 文件大小
height Integer
liveType String 直播类型
m3u8 String m3u8文件地址
mp4 String MP4地址
startTime Date 开始时间
userId String POLYV用户ID,和保利威官网一致,获取路径:官网->登录->直播(开发设置)
width Integer






9、设置频道回放设置

描述

设置频道回放设置
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/playback/set-setting

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、当请求参数type为single时,origin可设置为record,当设置为playback或vod时还需要设置videoId;

3、当请求参数type为list时,origin可以设置为playback以及vod;

单元测试

    @Test
    public void testUpdateChannelPlaybackSetting() throws Exception, NoSuchAlgorithmException {
        LiveChannelPlaybackSettingRequest liveChannelPlaybackSettingRequest;
        Boolean liveChannelPlaybackSettingResponse;
        try {
            String channelId = super.createChannel();
            //videoId可通过new LiveChannelPlaybackServiceImpl().listChannelVideoLibrary()获取
            List<String> videoIds = listChannelVideoIds(channelId);
            liveChannelPlaybackSettingRequest = new LiveChannelPlaybackSettingRequest();
            liveChannelPlaybackSettingRequest.setChannelId(channelId)
                    .setPlaybackEnabled("Y")
                    .setType("single")
                    .setOrigin("playback")
                    .setVideoId(videoIds.get(0))
                    .setSectionEnabled("N")
                    .setChatPlaybackEnabled("N");
            liveChannelPlaybackSettingResponse = new LiveChannelPlaybackServiceImpl().updateChannelPlaybackSetting(
                    liveChannelPlaybackSettingRequest);
            Assert.assertNotNull(liveChannelPlaybackSettingResponse);
            if (liveChannelPlaybackSettingResponse) {
                //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 频道号
playbackEnabled false String 回放开关,Y-开启,N-关闭
type false String 回放方式,single-单个回放,list-列表回放
origin false String 回放来源,record-暂存,playback-回放列表,vod-点播列表
videoId false String 单个回放的视频id
sectionEnabled false String 章节开关 Y:开启 N:关闭
chatPlaybackEnabled false String 聊天重放 Y:开启 N:关闭
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

true为设置成功,false为设置失败




10、设置后台回放开关

描述

设置后台回放开关
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channelSetting/%s/setPlayBackEnabled

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testUpdateChannelPlayBackEnabledSetting() throws Exception, NoSuchAlgorithmException {
        LiveChannelPlaybackEnabledRequest liveChannelPlaybackEnabledRequest = new LiveChannelPlaybackEnabledRequest();
        String liveChannelPlaybackEnabledResponse;
        try {
            liveChannelPlaybackEnabledRequest.setChannelId(createChannel())
                    .setPlayBackEnabled("Y");
            liveChannelPlaybackEnabledResponse =
                    new LiveChannelPlaybackServiceImpl().updateChannelPlayBackEnabledSetting(
                    liveChannelPlaybackEnabledRequest);
            Assert.assertNotNull(liveChannelPlaybackEnabledResponse);
            if (liveChannelPlaybackEnabledResponse != null) {
                //to do something ......
                log.debug("测试设置后台回放开关成功{}", liveChannelPlaybackEnabledResponse);
            }
        } 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、请求正确,返回String对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
userId false String POLYV用户ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
playBackEnabled true String 回放开关是开/关的状态,值为Y/N,必填
channelId false String 频道号,非必填,不填添加该用户的所有频道号的回放开关都设置为开/关
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

成功返回频道号




11、设置视频库列表排序

描述

设置视频库列表排序
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/playback/sort

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testSetChannelVideoSort() throws Exception, NoSuchAlgorithmException {
        LiveChannelVideoSortRequest liveChannelVideoSortRequest = new LiveChannelVideoSortRequest();
        Boolean liveChannelVideoSortResponse;
        try {
            List<String> videoIdList = listChannelVideoIds("1965681");//992d36fa40,f1574595e1
            Collections.shuffle(videoIdList);
            liveChannelVideoSortRequest.setChannelId("1965681")
                    .setVideoIds(videoIdList)
                    .setListType("playback");
            liveChannelVideoSortResponse = new LiveChannelPlaybackServiceImpl().setChannelVideoSort(
                    liveChannelVideoSortRequest);
            Assert.assertNotNull(liveChannelVideoSortResponse);
            if (liveChannelVideoSortResponse) {
                //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 频道号
videoIds true Array 完整回放视频ID列表,存放在请求体中,请求视频ID数量必须和回放列表数量一致,且不能少或者缺或者多
listType false String playback-回放列表,vod-点播列表;
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

true为设置成功,false为设置失败




12、设置视频库列表的默认视频

描述

设置视频库列表的默认视频
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channel/recordFile/%s/playback/set-Default

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testSetChannelDefaultVideo() throws Exception, NoSuchAlgorithmException {
        LiveChannelDefaultVideoRequest liveChannelDefaultVideoRequest = new LiveChannelDefaultVideoRequest();
        Boolean liveChannelDefaultVideoResponse;
        try {
            final String channelId = super.createChannel();
            liveChannelDefaultVideoRequest.setChannelId(channelId)
                    .setVideoId(super.listChannelVideoIds(channelId).get(0))
                    .setListType("playback");
            liveChannelDefaultVideoResponse = new LiveChannelPlaybackServiceImpl().setChannelDefaultVideo(
                    liveChannelDefaultVideoRequest);
            Assert.assertNotNull(liveChannelDefaultVideoResponse);
            if (liveChannelDefaultVideoResponse) {
                //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 频道号
videoId true String 直播系统生成的id,可在回放列表接口的返回数据获取
listType false String playback-回放列表,vod-点播列表;
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

true为设置成功,false为设置失败




13、删除直播暂存中的录制文件

描述

删除直播暂存中的录制文件
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channel/recordFile/%s/delete-record

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testDeleteChannelVideo() throws Exception, NoSuchAlgorithmException {
        LiveDeleteChannelVideoRequest liveDeleteChannelVideoRequest = new LiveDeleteChannelVideoRequest();
        Boolean liveDeleteChannelVideoResponse;
        try {
            liveDeleteChannelVideoRequest.setChannelId("1951952")
                    .setStartTime(getDate(2020, 10, 16, 11, 12, 34));
            liveDeleteChannelVideoResponse = new LiveChannelPlaybackServiceImpl().deleteChannelVideo(
                    liveDeleteChannelVideoRequest);
            Assert.assertNotNull(liveDeleteChannelVideoResponse);
            if (liveDeleteChannelVideoResponse) {
                //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 录制视频的开始录制时间,可从 获取频道录制信息 接口中获取
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

true为删除成功,false为删除失败




14、删除视频库列表中的视频

描述

删除视频库列表中的视频
接口地址(仅做说明使用):https://api.polyv.net/live/v2/channel/recordFile/%s/playback/delete

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testDeleteChannelPlaybackVideo() throws Exception, NoSuchAlgorithmException {
        LiveDeleteChannelPlaybackVideoRequest liveDeleteChannelPlaybackVideoRequest =
                new LiveDeleteChannelPlaybackVideoRequest();
        Boolean liveDeleteChannelPlaybackVideoResponse;
        try {
            String channelId = super.createChannel();
            String videoId = "07f5bbeb67";
            liveDeleteChannelPlaybackVideoRequest.setChannelId(channelId)
                    .setVideoId(videoId)
                    .setListType("playback");
            liveDeleteChannelPlaybackVideoResponse = new LiveChannelPlaybackServiceImpl().deleteChannelPlaybackVideo(
                    liveDeleteChannelPlaybackVideoRequest);
            Assert.assertNotNull(liveDeleteChannelPlaybackVideoResponse);
            if (liveDeleteChannelPlaybackVideoResponse) {
                //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 频道号
videoId true String 直播系统生成的id,可在回放列表接口的返回数据获取
listType false String playback-回放列表,vod-点播列表;
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

true为删除成功,false为删除失败




15、修改回放视频名称

描述

修改回放视频名称
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/playback/update-title

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testUpdatePlaybackTitle() throws Exception, NoSuchAlgorithmException {
        LiveUpdatePlaybackTitleRequest liveUpdatePlaybackTitleRequest = new LiveUpdatePlaybackTitleRequest();
        Boolean liveUpdatePlaybackTitleResponse;
        try {
            String channelId = super.createChannel();
            String videoId = "992d36fa40";
            liveUpdatePlaybackTitleRequest.setChannelId(channelId)
                    .setVideoId(videoId)
                    .setTitle("修改标题后");
            liveUpdatePlaybackTitleResponse = new LiveChannelPlaybackServiceImpl().updatePlaybackTitle(
                    liveUpdatePlaybackTitleRequest);
            Assert.assertTrue(liveUpdatePlaybackTitleResponse);
            if (liveUpdatePlaybackTitleResponse) {
                //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 频道号
videoId true String 回放视频ID
title true String 回放视频名称
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

true为修改成功,false为修改失败




16、导出合并的录制文件并回调mp4下载地址

描述

导出合并的录制文件并回调mp4下载地址
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/record/merge-mp4

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

2、该接口为文件合并过程为异步处理过程

3、该接口合并的录制文件必须在8小时内

4、三分屏的录制将自动经过重制课件后再合并mp4

5、mp4下载地址30天内有效,超出后需要重新导出

单元测试

    @Test
    public void testMergeMp4Record() throws Exception, NoSuchAlgorithmException {
        LiveMergeMp4RecordRequest liveMergeMp4RecordRequest = new LiveMergeMp4RecordRequest();
        LiveMergeMp4RecordResponse liveMergeMp4RecordResponse;
        try {
            String channelId = super.createChannel();
            liveMergeMp4RecordRequest.setChannelId(channelId)
                    .setStartTime(super.getDate(1603848613000l))
                    .setEndTime(super.getDate(1603854259000l))
                    .setCallbackUrl(null)
                    .setFileName("testMergeMp4");
            liveMergeMp4RecordResponse = new LiveChannelPlaybackServiceImpl().mergeMp4Record(liveMergeMp4RecordRequest);
            Assert.assertNotNull(liveMergeMp4RecordResponse);
            if (liveMergeMp4RecordResponse != null) {
                //to do something ......
                log.debug("测试导出合并的录制文件并回调mp4下载地址成功,{}", JSON.toJSONString(liveMergeMp4RecordResponse));
            }
        } 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、请求正确,返回LiveMergeMp4RecordResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
channelId true String 频道号
startTime true Date 录制文件开始时间,与endtime最大不能超过8小时
endTime true Date 录制文件结束时间,与startTime最大不能超过8小时
callbackUrl false String 合并成功或失败回调的url
fileName false String 合并后文件名
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

参数名 类型 说明
fileId String 文件ID
fileUrl String 已合并返回文件地址,合并中返回空字符串

回调说明

  该接口为异步处理,如果需要获取合并的结果,可以在请求接口时提交callbackUrl 参数,在程序合并成功后,会对callbackUrl 进行回调通知

参数名 类型 说明
status String 接口处理结果,取值:success(成功),error(出错)
channelId String 频道号,成功时返回
fileId String 合并后的文件ID,成功时返回
fileIds String 合并前的所有文件ID,成功时返回
fileUrl String 合并后的MP4的地址,成功时返回
fileName String 合并后的文件名称,成功时返回






17、查询多个频道回放设置

描述

查询多个频道回放设置和视频列表
接口地址(仅做说明使用):https://api.polyv.net/live/v4/channel/playback/list

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testGetPlaybackList() throws IOException, NoSuchAlgorithmException {
        LiveGetPlaybackListRequest liveGetPlaybackListRequest = new LiveGetPlaybackListRequest();
        List<LiveGetPlaybackListResponse> liveGetPlaybackListResponse;
        try {
            String channelId = super.createChannel();
            liveGetPlaybackListRequest.setChannelIds(channelId);
            liveGetPlaybackListResponse = new LiveChannelPlaybackServiceImpl().getPlaybackList(
                    liveGetPlaybackListRequest);
            Assert.assertNotNull(liveGetPlaybackListResponse);
            if (liveGetPlaybackListResponse != null) {
                //to do something ......
                log.debug("测试查询多个频道回放列表成功 {}", JSON.toJSONString(liveGetPlaybackListResponse));
            }
        } 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、请求正确,返回LiveGetPlaybackListResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
channelIds true String 用英文逗号隔开的频道号,如:10000,100001 最多100个
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

返回对象是List<LiveGetPlaybackListResponse>,LiveGetPlaybackListResponse具体元素内容如下:

参数名 类型 说明
channelId String 频道号
playBackEnabled String 观看回放功能开关 Y:开启 N:关闭
origin String 回放来源 record:暂存 playback:回放列表 vod:点播列表
type String 回放方式 single:单个视频回放 list:列表回放
videoList Array 视频列表,回放方式为单个视频时只会返回一个视频,列表回放时返回前10个视频,回放开关关闭时也会返回视频列表【详见PlaybackVideoList参数描述
globalSettingEnabled String 是否开启全局设置 Y:开启 N:关闭
PlaybackVideoList参数描述
参数名 类型 说明
videoId String 直播系统生成的id (回放来源为回放列表或点播列表有值)
videoPoolId String 点播视频videoPoolId (回放来源为回放列表或点播列表有值)
fileId String 回放视频转存前的暂存文件ID(回放来源为暂存时有值)
duration String 视频时长,格式为HH:mm:ss
name String 视频名称






18、裁剪录制文件

描述

裁剪直播录制视频文件,裁剪文件过程为异步处理过程
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/record/clip

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testClipRecordFile() throws IOException, NoSuchAlgorithmException {
        LiveClipRecordFileRequest liveClipRecordFileRequest = new LiveClipRecordFileRequest();
        Boolean liveClipRecordFileResponse;
        try {
            liveClipRecordFileRequest.setChannelId("3948351");
            liveClipRecordFileRequest.setFileId("c1a6650a221144b605b433fe6978f4b1");
            liveClipRecordFileRequest.setDeleteTimeFrame("[{\"start\":1, \"end\":30},{\"start\":50, \"end\":60}]");
            liveClipRecordFileResponse = new LiveChannelPlaybackServiceImpl().clipRecordFile(liveClipRecordFileRequest);
            Assert.assertNotNull(liveClipRecordFileResponse);
            if (liveClipRecordFileResponse != null) {
                //to do something ......
                log.debug("测试裁剪录制文件成功 {}", JSON.toJSONString(liveClipRecordFileResponse));
            }
        } 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 频道号
fileId true String 文件ID【可通过查询频道录制视频信息获取】
deleteTimeFrame true String 要裁剪移除的时间区间 传入格式要求: (1)start、end值是单位为秒的数值,格式为:[{"start":xx, "end":xx},{"start":xx, "end":xx}] (2)多个区间请按照时间顺序从小到大排列 (3)时间区间不允许重叠 (4)时间区间不得超过100个限制 【示例:要裁剪移除的是第1s到第14s,以及第25s到第30s的区间,则传入的字符串为 [{"start":1, "end":14},{"start":25, "end":30}] 】 误差说明: (1)裁剪区间存在一定的时间误差 (2)误差原因:回放默认为m3u8格式裁剪,由于m3u8的视频裁剪是精确到每片ts,所以裁剪时会判断裁剪要移除的时间区间所包含的ts片,进行裁剪移除,如需更精准的裁剪,可联系保利威客服人员开通mp4裁剪
callbackUrl false String 裁剪成功或失败回调的url
autoConvert false String 是否自动转存回放到点播,默认为N Y:是 N:否
fileName false String 裁剪后文件名
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

裁剪录制文件返回实体




19、查询频道回放设置

描述

查询频道回放设置
接口地址(仅做说明使用):https://api.polyv.net/live/v3/channel/playback/get-setting

调用约束

1、接口调用有频率限制,详细请查看,调用常见异常,详细请查看

单元测试

    @Test
    public void testGetPlaybackSetting() throws IOException, NoSuchAlgorithmException {
        LiveGetPlaybackSettingRequest liveGetPlaybackSettingRequest = new LiveGetPlaybackSettingRequest();
        LiveGetPlaybackSettingResponse liveGetPlaybackSettingResponse;
        try {
            String channelId = super.createChannel();
            liveGetPlaybackSettingRequest.setChannelId(channelId);
            liveGetPlaybackSettingResponse = new LiveChannelPlaybackServiceImpl().getPlaybackSetting(
                    liveGetPlaybackSettingRequest);
            Assert.assertNotNull(liveGetPlaybackSettingResponse);
            if (liveGetPlaybackSettingResponse != null) {
                //to do something ......
                log.debug("测试查询频道回放设置成功 {}", JSON.toJSONString(liveGetPlaybackSettingResponse));
            }
        } 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、请求正确,返回LiveGetPlaybackSettingResponse对象,B端依据此对象处理业务逻辑;

2、请求参数校验不合格,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 输入参数 [xxx.chat.LivexxxRequest]对象校验失败,失败字段 [pic不能为空 / msg不能为空] ]

3、服务器处理异常,抛出PloyvSdkException,错误信息见PloyvSdkException.getMessage(),如 [ 保利威请求返回数据错误,请求流水号:66e7ad29fd04425a84c2b2b562d2025b,错误原因: invalid signature. ]

请求入参描述

参数名 必选 类型 说明
channelId true String 频道号
appId false String POLYV用户APP_ID,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)
appSecret false String POLYV用户APP_SECRET,多账号调用时该参数必填(即调用了initMultiAccount()设置多账号调用),通过注册保利威官网获取,路径:官网->登录->直播(开发设置)

返回对象描述

参数名 类型 说明
channelId String 频道号
type String 回放类型 single:单个视频回放 list:列表回放
playbackEnabled String 回放的开关 Y:开启 N:关闭
origin String 回放的视频来源 record:录制文件 playback:回放列表 vod:点播列表
videoId String 回放的视频ID
videoName String 回放的视频名称
sectionEnabled String 回放设置,章节开关 Y:开启 N:关闭
globalSettingEnabled String 是否应用通用设置 Y:是 N:否
chatPlaybackEnabled String 聊天重放 Y:开启 N:关闭

联系客服,在线咨询