智能生產製作提供專業的線上視訊剪輯能力,支援音視頻、文字等素材的剪輯與合成,從而製作出新的視頻。本文為您介紹如何進行雲剪輯創作,包括建立剪輯工程、管理剪輯工程以及編輯剪輯內容等操作。支援使用者進行視訊剪輯、直播剪輯和進階模板剪輯,並利用智能功能添加貼紙、濾鏡、特效、字幕等效果。
功能簡介
視訊剪輯:支援對多個視頻片段、音頻、圖片等素材進行裁剪、拼接、添加特效等操作。
直播剪輯:支援在直播過程中即時剪輯並輸出視頻內容。
進階模板剪輯:基於預設模板快速產生高品質視頻。
前提條件
通過控制台進行雲剪輯
進入雲剪輯介面
登入智能媒體服務控制台。
在左側導覽列選擇,進入雲智能剪輯介面。
建立剪輯工程
建立視訊剪輯工程
智能媒體生產提供直播流剪輯、錄製檔案剪輯服務,支援您在直播過程中即時剪輯並輸出視頻內容。
單擊進入視訊剪輯工程頁簽。
單擊建立剪輯工程,輸入工程名稱,並單擊確定。
單擊已建立工程操作列的剪輯,進入普通剪輯工程介面。關於普通剪輯具體操作,請參見。
建立直播剪輯工程
單擊進入直播剪輯工程頁簽。
單擊建立直播剪輯,根據實際需求輸入或選擇直播剪輯工程配置參數,並單擊確定。

參數
描述
直播剪輯名稱
自訂直播剪輯工程的名稱,直播剪輯只可使用中英文、數字、空格或底線命名,且長度最多不超過60個字元。
直播流地址
輸入您需要剪輯的阿里雲直播流地址。直播流地址擷取方式詳情請參見產生推流地址和播流地址。當前僅支援HLS協議,即https的m3u8直播流。
儲存方式
配置直播剪輯產生後的儲存方式。支援儲存至OSS或ApsaraVideo for VOD。
儲存地址
支援添加點播系統Bucket和在點播系統中添加的OSS自有Bucket。如果沒有可用的,您也可以到ApsaraVideo for VOD控制台新增Bucket,ApsaraVideo for VOD系統會在每一個儲存地區分配一個儲存地址,開通ApsaraVideo for VOD服務後需要啟用該地址才能使用,具體操作,請參見管理儲存Bucket。
支援添加Object Storage Service Bucket。如果沒有可用的,您也可以到Object Storage Service控制台新增Bucket,具體操作,請參見控制台建立儲存空間。
開始時間
選擇直播剪輯的開始時間,支援立即開始或從預約時間開始。直播開始前您可在雲剪輯列表修改預約資訊,直播開始後自動錄製,同時可即時剪輯。
單擊已建立工程操作列的查看,進入直播剪輯工程介面。關於直播剪輯具體操作,請參見剪輯功能介紹。
建立進階模板剪輯工程
單擊進階模板剪輯工程頁簽。
單擊建立剪輯工程,根據提示單擊確定,進入進階模板頁面。
單擊指定的進階模板操作列的使用模板,輸入工程名稱並單擊確定,進入進階模板剪輯工程介面。關於進階模板剪輯具體操作,請參見剪輯功能介紹。
管理剪輯工程
您可以單擊操作列的剪輯、複製、匯出模板或單擊
後再單擊刪除,實現對工程的剪輯、複製、匯出模板及刪除功能。
此處以查看普通剪輯工程為例進行介紹,其他類型剪輯工程與之類似,不再重複介紹。

剪輯功能介紹
視訊剪輯
進入視訊剪輯工程介面。

普通剪輯介面地區如下所示:
序號
描述
①
素材區
②
預覽區
③
屬性編輯區
④
剪輯操作區
匯入素材。
添加素材至剪輯操作區。
單擊素材上的
或拖動素材至剪輯操作區的軌道。
您也可以添加貼紙、濾鏡、特效等公用資源,產生多軌道素材並即時預覽效果。
剪輯素材。
裁剪、預覽或調整素材的屬性
在剪輯操作區選中軌道中的素材,您可以在剪輯操作區通過左上方工具對視頻進行裁剪或刪除等操作;在預覽區進行素材預覽、拖動、縮放、位置調整等;在屬性編輯區進行屬性調整。

添加轉場特效
在剪輯操作區選擇待添加轉場的視頻或圖片,單擊素材區轉場,選擇指定轉場特效(例如:旋渦),在預覽區查看轉場特效。

智能產生字幕
在剪輯操作區選擇待產生字幕的視頻,在屬性編輯區基礎頁簽下單擊智能產生字幕,產生的字幕會自動載入到軌道中。

展示有聲視頻的音訊波形
在剪輯操作區選擇視頻,通過
選擇要展示的波形類型,對應波形會在軌道中視頻下部展示。
智能產生配音
在剪輯操作區選擇待產生配音的字幕,單擊
設定人聲類型,再單擊智能產生配音,產生的配音會自動載入到軌道中。
說明如果提示請先配置儲存路徑,您需要先配置儲存路徑。具體操作,請參見配置儲存地址。
委任標記點或標記片段
在剪輯操作區選擇視頻,拖動時間軸到指定位置,單擊
新增標記點;單擊
或
新增標記片段入出點。您也可以單擊
和
,或軌道中視頻上部的標記點和標記片段查看對應詳情。
分離視頻音軌
在剪輯操作區選擇視頻,在屬性編輯區的基礎頁簽下單擊分離視頻音軌,分離出來的音軌會自動載入到軌道中。

數字人形象定製(公測)
公測期,智能生產製作提供4種官方數字人供免費試用。您可在素材區添加基於文字或語音驅動的數字人,根據實際需求配置參數,然後單擊發起數字人並產生視頻,數字人會在合成結束後加入視頻軌中。
由於官方數字人非真人學習訓練成果,因此效果並非最佳,如果您有更高要求,歡迎通過DingTalk加入群84650000851,體驗專業版數字人功能。

編輯完成後,單擊右上方儲存,儲存當前的剪輯工程。
您也可以單擊右上方產生為模板或匯出為,將此工程產生模板或匯出到媒資庫中。
直播剪輯
進入直播剪輯工程介面。

直播剪輯介面地區如下所示:
序號
描述
①
直播訊號源區
②
視頻預覽區
③
剪輯操作區
④
片段列表區
進行視頻拆條。
單擊剪輯操作區左上方的
或
,然後按住滑鼠左鍵,調整片段長度,再單擊產生片段,片段產生後會自動儲存。您可以在片段列表區查看產生的視頻片段。
您也可以單擊
或預覽片段進行撤回操作或預覽片段。對視頻片段進行剪輯。
在片段列表區選中指定視頻片段,單擊右上方匯出到視訊剪輯,進行視頻片段剪輯。具體操作請參見剪輯功能介紹。
進階模板剪輯
進入進階模板剪輯工程介面。

進階模板剪輯介面地區如下所示:
序號
描述
①
視頻預覽區
②
編輯組列表區
③
編輯組素材區
在編輯組列表區單擊指定的編輯組,替換編輯組素材。
替換視頻或圖片素材。
在編輯組素材區單擊視頻或圖片,然後單擊更換素材,開啟目前範圍媒資庫列表,根據實際需求選擇替換後的素材。

如果媒資庫列表沒有您所需的素材,您可以上傳指定素材到媒資庫。具體操作,請參見控制台上傳。
替換文字素材。
在預覽區編輯文本,或在編輯組素材區設定文字屬性。

可選:預覽視頻。
合成視頻。
單擊右上方合成視頻,根據實際需求輸入匯出視頻的參數,單擊確定,將合成後的視頻匯出到媒資庫中。
通過OpenAPI進行雲剪輯
視訊剪輯
視訊剪輯是將多個視頻片段、音頻、圖片等素材按照時間軸(Timeline)邏輯組合,產生新的視頻檔案的過程。
介面介紹
提交剪輯合成作業:調用SubmitMediaProducingJob - 提交剪輯合成作業介面,可以將一個或多個視頻、音頻、圖片、字幕素材合成為成品,該介面支援複雜的Timeline配置,滿足多樣化的剪輯需求。
查詢剪輯合成作業:調用GetMediaProducingJob - 查詢剪輯合成作業,通過傳入
JobId查詢任務狀態和結果。
時間軸(Timeline)配置
視訊剪輯的核心在於Timeline配置,它是定義剪輯邏輯的關鍵區段。Timeline是一個時間軸,用於描述視頻、音頻、圖片等素材在時間上的排列和組合方式。時間軸主要包含軌道、素材、效果三種對象,詳細配置說明請參考:Timeline配置說明。
Timeline基本結構
{
"VideoTracks": [
{
"VideoTrackClip": [
{
"MediaId": "素材ID",
"MediaURL":"視頻軌素材片段對應的OSS地址"
}
]
}
],
"AudioTracks": [
{
"AudioTrackClip": [
{
"MediaId": "音頻素材ID",
"MediaURL":"音頻軌素材片段對應的OSS地址"
}
]
}
]
}VideoTracks:視頻軌道,用於放置視頻或圖片素材。
AudioTracks:音頻軌道,用於放置音頻素材。
Clips:每個軌道中的片段,包含素材ID、起始時間和持續時間長度。
Timeline應用樣本
實踐教程中包含了大量樣本,展示了如何使用Timeline配置實現各種複雜的視訊剪輯需求。以下是常見的應用情境和配置樣本:
Timeline配置樣本 | 描述 |
可使用視訊橫轉豎、視頻截取、視頻與圖片混剪、添加浮水印/貼紙/GIF貼紙等功能。 | |
支援靜音、調節音量、混音、提取音頻、音量歸一等功能。 | |
可使用視訊添加字幕、設定花字、字幕自動換行、字幕對齊、字幕特效等功能。 | |
支援多種轉場效果(如淡入淡出)、視覺特效(如模糊、銳利化)、濾鏡(如黑白、複古)。 | |
支援語音轉文字並將字幕合并到視頻中、文字轉語音並將語音合并到視頻中、通過SSML控制節奏或讀音等功能。 | |
支援添加全域背景圖、全域浮水印LOGO等。 |
調用SDK進行音視訊剪輯
安裝IMS服務端SDK,並完成相關配置。詳情請參見準備工作。
直播剪輯
提交直播剪輯任務:調用SubmitLiveEditingJob - 提交直播剪輯任務,提交直播剪輯任務後,任務將進入後台排隊,非同步執行。
查詢直播剪輯作業:調用GetLiveEditingJob - 查詢直播剪輯作業,根據 jobId 來查詢作業狀態。
擷取媒資內容資訊:調用GetMediaInfo - 擷取媒資內容資訊介面根據 MediaId 來查詢產生媒資的資訊。
進階模板剪輯
擷取模板資訊。
調用GetTemplate擷取模板資訊,傳入
TemplateId。GetTemplateRequest request = new GetTemplateRequest(); request.setTemplateId("****20b48fb04483915d4f2cd8ac****"); GetTemplateResponse response = iceClient.getTemplate(request); GetTemplateResponseBody.GetTemplateResponseBodyTemplate template = response.getBody().getTemplate(); System.out.println("templateId : " + template.getTemplateId()); System.out.println("clipsParam : " + template.getClipsParam());返回樣本如下所示:
{ "RequestId":"******11-DB8D-4A9A-875B-275798******", "Template":{ "TemplateId":"****20b48fb04483915d4f2cd8ac****", "Name":"進階模板測試", "Type":"VETemplate", "Status":"Available", "ModifiedSource":"OpenAPI", "CreateSource":"OpenAPI", "Config":"{\"oss_url\":\"http://your-bucket.oss-cn-shanghai.aliyuncs.com/object.zip\"}", "ClipsParam":"{\"Text7\":\"text\",\"Text6\":\"text\",\"Text5\":\"text\",\"Text4\":\"text\",\"Text3\":\"text\",\"Text2\":\"text\",\"Text1\":\"text\",\"Text0\":\"text\",\"Media3\":\"mediaId\",\"Media2\":\"mediaId\",\"Media1\":\"mediaId\",\"Media0\":\"mediaId\"}", "PreviewMedia":"", "CoverURL":"" } }說明您也可以使用系統內建模板,使用方式與上述使用個人建立模板類似,不再重複介紹。系統內建模板請參見公用模板庫——進階模板。
根據實際需求替換以上步驟返回樣本中
ClipsParam參數的text和mediaId欄位。{ "Text0":"字幕0", "Text1":"字幕1", "Text2":"字幕2", "Text3":"字幕3", "Text4":"字幕4", "Text5":"字幕5", "Text6":"字幕6", "Text7":"字幕7", "Media0":"****20b48fb04483915d4f2cd8ac****", "Media1":"****20b48fb04483915d4f2cd8ac****", "Media2":"****20b48fb04483915d4f2cd8ac****", "Media3":"****20b48fb04483915d4f2cd8ac****" }說明ClipsParam為合成服務的參數,您可以根據實際需求替換text為指定的文案,替換mediaId為指定的媒資ID或對應的OSS地址(包括視頻和圖片),支援混合使用。如果參數
ClipsParam只設定了部分欄位,未設定的字幕預設為空白,媒資預設為模板的原始素材。字幕支援設定字型,視頻、圖片支援設定適配模式,詳情請參見擴充功能。
調用合成服務。
調用SubmitMediaProducingJob提交剪輯合成作業,傳入
TemplateId和ClipsParam。SubmitMediaProducingJobRequest request = new SubmitMediaProducingJobRequest(); request.setTemplateId("****20b48fb04483915d4f2cd8ac****"); request.setClipsParam("{\"Text7\":\"字幕7\",\"Text6\":\"字幕6\",\"Text5\":\"字幕5\",\"Text4\":\"字幕4\",\"Text3\":\"字幕3\",\"Text2\":\"字幕2\",\"Text1\":\"字幕1\",\"Text0\":\"字幕0\",\"Media3\":\"****20b48fb04483915d4f2cd8ac****\",\"Media2\":\"****20b48fb04483915d4f2cd8ac****\",\"Media1\":\"****20b48fb04483915d4f2cd8ac****\",\"Media0\":\"****20b48fb04483915d4f2cd8ac****\"}"); request.setOutputMediaConfig("{\"MediaURL\":\"http://your-bucket.oss-cn-shanghai.aliyuncs.com/object.mp4\"}"); SubmitMediaProducingJobResponse response = iceClient.submitMediaProducingJob(request); System.out.println("jobid : " + response.getBody().getJobId());
