listService
更新時間:2023-09-22 17:47:34
1、查詢影片列表
描述
通过视频标题、分类、标签等条件分页查询视频列表
接口地址(仅做说明使用):https://api.polyv.net/v2/video/search-videos
呼叫限制
1、介面呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testGetVideoList() throws IOException, NoSuchAlgorithmException {
VodGetVideoListRequest vodGetVideoListRequest = new VodGetVideoListRequest();
VodGetVideoListResponse vodGetVideoListResponse = null;
try {
vodGetVideoListRequest.setFilters("basicInfo,metaData,transcodeInfo,snapshotInfo")
.setCategoryId("1602300731843")
.setTitle("junit-远程批量上传视频")
.setStatus("60,61")
.setTag("")
.setContainSubCate(Boolean.TRUE)
.setStartTime(super.getDate(2021, 1, 15, 9, 15, 15))
.setEndTime(super.getDate(2021, 3, 15, 9, 15, 15))
.setEncrypted(Boolean.FALSE)
.setPlayAuthEnable(Boolean.FALSE)
.setSort("creationTimeDesc")
.setCurrentPage(1)
.setPageSize(10);
vodGetVideoListResponse = new VodListServiceImpl().getVideoList(vodGetVideoListRequest);
Assert.assertNotNull(vodGetVideoListResponse);
if (vodGetVideoListResponse != null) {
log.debug("测试查询视频列表成功,{}", JSON.toJSONString(vodGetVideoListResponse));
}
} 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、請求正確,回傳VodGetVideoListResponse物件,B端依據此物件處理業務邏輯;
2、請求參數校驗不合格,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.VodxxxRequest]物件校驗失敗,失敗欄位 [pic不能為空 / msg不能為空] ]
3、伺服器處理異常,拋出PloyvSdkException,錯誤訊息見PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求入參描述
| 參數名 | 必選 | 類型 | 說明 |
|---|---|---|---|
| filters | false | String | 需要回傳的影片資訊,多個以英文逗號分隔,取值:basicInfo,metaData,transcodeInfo,snapshotInfo, 分別代表基礎資訊、元資料、轉碼資訊、截圖資訊,預設僅回傳基礎資訊 |
| categoryId | false | String | 影片分類ID【對應api文件的cateId欄位】 |
| title | false | String | 按標題模糊搜尋 |
| tag | false | String | 按影片標籤模糊搜尋 |
| uploader | false | String | 上傳者 |
| status | false | String | 影片狀態,60/61已發布;10等待編碼;20正在編碼;50等待審核;51審核不通過;-1已刪除;多個狀態以英文逗號分隔,查詢已發布狀態的影片只需傳61/60其中一個即可,如“61,50” |
| containSubCate | false | Boolean | 是否包含子分類, true:包含, false:不包含 |
| startTime | false | Date | 開始時間,格式:yyyy-MM-dd HH:mm:ss |
| endTime | false | Date | 結束時間,格式:yyyy-MM-dd HH:mm:ss |
| encrypted | false | Boolean | 是否加密 |
| playAuthEnable | false | Boolean | 是否開啟了播放授權 |
| sort | false | String | 結果排序,可以按建立時間或播放次數降序/升序排序,取值:creationTimeAsc(建立時間升序)、creationTimeDesc(建立時間降序)、playTimesAsc(播放次數升序)、playTimesDesc(播放次數降序),預設按建立時間升序排序 |
| currentPage | false | Integer | 頁數,預設為1【對應api文件的page欄位】 |
| pageSize | false | Integer | 每頁顯示的資料筆數,預設每頁顯示20筆資料 |
回傳物件描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| contents | Array | 回傳內容【詳見VodGetVideoList參數描述】 |
| pageSize | Integer | 每頁顯示的資料筆數,預設每頁顯示20筆資料 |
| currentPage | Integer | 目前頁【對應api文件的pageNumber欄位】 |
| totalItems | Integer | 記錄總筆數 |
| totalPage | Integer | 總頁數【對應api文件的totalPages欄位】 |
VodGetVideoList參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| videoId | String | 影片id【對應api文件的vid欄位】 |
| basicInfo | BasicInfo | 影片基礎資訊【詳見BasicInfo參數描述】 |
| metaData | MetaData | 元資料【詳見MetaData參數描述】 |
| transcodeInfos | Array | 轉碼資訊【詳見TranscodeInfos參數描述】 |
| snapshotInfo | SnapshotInfo | 截圖資訊【詳見SnapshotInfo參數描述】 |
BasicInfo參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| title | String | 影片標題 |
| description | String | 影片描述 |
| duration | Double | 來源影片時長,單位:秒 |
| coverURL | String | 首圖地址,大圖 |
| creationTime | Date | 建立時間,格式:yyyy-MM-dd HH:mm:ss |
| updateTime | Date | 更新時間,格式:yyyy-MM-dd HH:mm:ss |
| size | Long | 來源檔案大小,單位:Bytes |
| status | Integer | 影片狀態碼 |
| categoryId | String | 分類id【對應api文件的cateId欄位】 |
| categoryName | String | 分類名稱【對應api文件的cateName欄位】 |
| tags | String | 標籤 |
| uploader | String | 上傳者 |
MetaData參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| size | Long | 來源檔案大小,單位:Bytes |
| format | String | 影片容器類型,如mp4、flv等 |
| duration | Double | 來源影片時長,單位:秒 |
| bitrate | Integer | 影片碼率,單位:bps |
| fps | Integer | 影片幀率 |
| height | Integer | 解析度高,單位:px |
| width | Integer | 解析度寬,單位:px |
| codec | String | 編碼格式,如h264、h265等 |
TranscodeInfos參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| playUrl | String | 播放地址 |
| definition | String | 清晰度,SOURCE:原清晰度,LD:普清,SD:標清,HD:高清 |
| bitrate | Integer | 碼率kbps |
| duration | Double | 時長,秒 |
| encrypt | Boolean | 加密影片為true,非加密為false |
| format | String | 轉碼格式,如mp4、flv、pdx、hls |
| fps | Integer | 影片幀率 |
| height | Integer | 解析度高,單位:px |
| width | Integer | 解析度寬,單位:px |
| status | String | 影片狀態, normal:可以正常播放,unavailable:不能正常播放 |
SnapshotInfo參數描述
| 參數名 | 類型 | 說明 |
|---|---|---|
| imageUrl | Array | 截圖url陣列 |
