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【可透過查詢頻道錄製影片資訊取得】 |
回傳物件說明
刪除錄製影片回傳實體
