在視頻製作過程中,如果您有添加標題、片尾、直播錄製視頻拼接或截取視頻中的關鍵內容等需求,可以通過ApsaraVideo for Media Processing的拼接剪輯功能實現。拼接是指把多個不同格式 、不同編碼、解析度的視頻拼接在一起,輸出成一個格式、編碼、解析度相同的新視頻。剪輯是指裁剪視頻的某一段,輸出成一個新視頻。本文為您介紹ApsaraVideo for Media Processing中如何對視頻進行拼接剪輯。
視頻拼接
在視頻拼接時,您需要關注以下參數:
設定標題視頻的OSS輸入檔案。
說明OSS的Location必須和ApsaraVideo for Media Processing服務的地區對應。例如,OSS的oss-cn-hangzhou對應ApsaraVideo for Media Processing的cn-hangzhou。
在輸出參數中,您需要關注以下參數:
Video
設定輸出最終視頻的寬、高、碼率等。如果多個拼接視頻(包括標題、片尾)的寬、高比和最終輸出的不一致,會自動填滿黑邊。建議您根據不同業務的解析度實際情況,準備幾個不同寬、高比的標題、片尾視頻,以達到最好的效果。
MergeList
列表的順序代表了拼接順序,所以列表的最後一個元素是片尾,最多支援5個(包含標題、片尾)視頻拼接在一起。如果您需要拼接更多視頻,請使用
MergeConfigUrl
參數。說明MergeList
和MergeConfigUrl
不支援同時設定,您只能選擇其中一個設定。每個拼接視頻都包含3個參數:
MergeURL
設定拼接視頻的OSS URL地址。
說明拼接視頻的OSS地區必須和標題一致,不支援跨地區視頻的拼接。
Start
拼接視頻時,如果您期望只截取部分內容輸出到最終視頻,可以設定截取的開始時間點。預設值:0。
Duration
拼接視頻時,如果您期望只截取部分內容輸出到最終視頻,可以設定相對於開始時間點(Start)的截取時間長度。預設從開始時間點(Start)到結尾的全部內容。
MergeConfigUrl
設定拼接視頻的設定檔的OSS URL地址。檔案的內容就是一個JSON對象,和
MergeList
參數的值完全一樣。說明列表的順序代表了拼接順序,所以列表的最後一個元素是片尾,最多支援100個(包含標題、片尾)視頻拼接在一起。
視訊剪輯
在視訊剪輯中,您需要關注以下參數:
設定待剪輯視頻的OSS輸入檔案。
說明OSS的Location必須和ApsaraVideo for Media Processing服務的地區對應。例如,OSS的oss-cn-hangzhou對應ApsaraVideo for Media Processing的cn-hangzhou。
在輸出參數中,您需要關注以下參數:
TimeSpan
剪輯的時間區間。您可以根據實際需要設定不同的時間節點與剪輯時間長度。
每個時間區間包含三個參數:
Seek
剪輯開始的時間點。
Duration
剪輯持續時間長度。
End
截尾時間長度,表示切掉尾部的若干時間長度。
說明設定此值時,參數Duration失效。
ConfigToClipFirstPart
是否剪輯第一片。可設定的值為false(拼接完後剪輯)、true(先剪輯第一片後拼接)。預設值為false。
範例程式碼
例如一個720P(1280×720)的正片視頻,拼接上標題片尾是480P(640×480)的MP4視頻,輸出解析度是1280×720。所以在播放輸出視頻時,標題和片尾會出現垂直黑邊,正片視頻顯示正常。
具體程式碼範例如下: