保利威文档中心

幫助中心

videoCutAndMerge

更新時間:2023-09-22 17:47:34

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 欄位】

联系客服,在线咨询