videoCutAndMerge
1、提交影片裁剪任務
描述
通过视频id、时间范围裁剪视频并生成新的视频
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/clip
呼叫限制
1、API 呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testClipVideo() throws IOException, NoSuchAlgorithmException {
VodClipVideoRequest vodClipVideoRequest = new VodClipVideoRequest();
String vodClipVideoResponse = null;
try {
vodClipVideoRequest
//可通过 new VodQueryServiceImpl().queryVideoList()获取
.setVideoId("1b448be3238618df117f9302327f28d6_1")
.setTitle("junit裁剪")
.setTimeFrame("[{\"start\":1,\"end\":6}]");
vodClipVideoResponse = new VodEditServiceImpl().clipVideo(vodClipVideoRequest);
Assert.assertNotNull(vodClipVideoResponse);
if (vodClipVideoResponse != null) {
log.debug("测试提交视频裁剪任务成功,{}", JSON.toJSONString(vodClipVideoResponse));
}
} 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.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| videoId | true | String | 影片 ID【對應 API 文件的 vid 欄位】 |
| title | true | String | 裁剪後的影片名稱 |
| timeFrame | true | String | JSON 格式的特定時間段,格式為 [{"start":1,"end":6},{"start":10,"end":16}]。時間段數量不能超過 5 個,每個片段開始時間不能大於結束時間,開始與結束時間間隔需超過或等於 5 秒,結束時間不能超過影片的播放長度 |
回傳物件說明
API 請求成功會回傳裁剪後新影片的 videoId
2、合併影片
描述
通过视频id合并视频并生成新的视频
接口地址(仅做说明使用):https://api.polyv.net/v2/video/%s/concat
呼叫限制
1、API 呼叫有頻率限制,詳細請查看,呼叫常見異常,詳細請查看
單元測試
@Test
public void testConcatVideo() throws IOException, NoSuchAlgorithmException {
VodConcatVideoRequest vodConcatVideoRequest = new VodConcatVideoRequest();
VodConcatVideoResponse vodConcatVideoResponse = null;
try {
vodConcatVideoRequest
//可通过 new VodQueryServiceImpl().queryVideoList()获取
.setVideoIds("1b448be3238618df117f9302327f28d6_1,1b448be3234406608b7838c7ef6b597c_1")
.setTitle("junit合并")
.setCategoryId("1602300731843")
.setScreenCap(1);
vodConcatVideoResponse = new VodEditServiceImpl().concatVideo(vodConcatVideoRequest);
Assert.assertNotNull(vodConcatVideoResponse);
if (vodConcatVideoResponse != null) {
log.debug("测试合并视频成功,{}", JSON.toJSONString(vodConcatVideoResponse));
}
} 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、請求正確,回傳 VodConcatVideoResponse 物件,B 端依據此物件處理業務邏輯;
2、請求參數驗證不合格,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 輸入參數 [xxx.chat.VodxxxRequest] 物件驗證失敗,失敗欄位 [pic 不能為空 / msg 不能為空] ]
3、伺服器處理異常,拋出 PloyvSdkException,錯誤訊息見 PloyvSdkException.getMessage(),如 [ 保利威請求回傳資料錯誤,請求流水號:66e7ad29fd04425a84c2b2b562d2025b,錯誤原因: invalid signature. ]
請求參數說明
| 參數名 | 必填 | 類型 | 說明 |
|---|---|---|---|
| videoIds | true | String | 影片 ID,用逗號分隔,只支援合併 2 個或 3 個【對應 API 文件的 vids 欄位】 |
| title | false | String | 影片標題,預設為「合併-」+ 第一個影片的標題。標題長度超過 128 會被截斷 |
| categoryId | false | String | 分類 ID,預設為預設分類【對應 API 文件的 cataId 欄位】 |
| screenCap | false | Integer | 是否開啟錄屏最佳化,1 表示開啟,0 表示關閉,預設為關閉【對應 API 文件的 luping 欄位】 |
回傳物件說明
| 參數名 | 類型 | 說明 |
|---|---|---|
| concatVideoId | String | 合併後的影片 videoId【對應 API 文件的 concatVid 欄位】 |
