雲端智創 | 批次化生產,如何利用Timeline快速合成短視訊?

2023-02-14 12:01:18

本文內容整理自「智慧媒體生產」系列課程第三講:開發者實戰,由阿里雲智慧視訊雲技術專家分享雲剪輯Timeline的功能及使用方法、雲剪輯OpenAPI的使用流程、短視訊批次生產的基本原理以及使用Timeline合成常見的短視訊效果。課程回放見文末。

01 Timeline簡化之道

什麼是時間線Timeline?Timeline是一個完整的資料結構,通過資料結構把整個剪輯表示出來。在雲剪輯編輯器中,介面可分為軌道、素材、預覽視窗、特效設定四個部分。

軌道分為視訊軌、音訊軌、字幕軌以及特效軌,上面的軌道會蓋住下面的軌道,而一個軌道上可以包含多個素材。

比如,視訊軌是按照視訊的先後順序拼接起來的,視訊上可新增多個特效,像調色、蒙層、裁剪等,視訊中可新增轉場,也可以通過特效軌的方式,在視訊中新增全域性特效。字幕軌,可以設定字號、字型以及字幕樣式等。

設定每一個素材的開始、結束時間,並通過一系列引陣列成完整的視訊剪輯。

Timeline剪輯合成

通過視訊合成介面提交剪輯,合成以下視訊。把多個視訊拼接起來,新增設定過樣式的字幕和貼紙,同時又補充了上下黑邊,將原本的橫屏視訊素材轉成豎屏視訊。

Timeline可能包含多個軌道、每個軌道包含多個素材、而每個素材又包含很多設定資訊,通過組裝時間線,使用者呼叫OpenAPI就可以剪輯出自己的視訊。

Timeline範例合成效果展示:https://v.youku.com/v_show/id_XNTk0MTY3NTU0OA==.html

Timeline資料結構

Timeline中可包含多種軌道,包括視訊軌、音訊軌、字幕軌、特效軌等,而視訊軌中也可以包含多個視訊或圖片素材。

素材最重要的資訊是其來源,將OSS檔案或VOD媒資ID引入到Timeline中,以此指定唯一的視訊或圖片。此外,還可以設定素材的開始、結束時間,位置、尺寸等資訊。

在Timeline中,上面的軌道會蓋住下面的軌道,表現在資料結構中是陣列後面的軌道會放置在上面,如下圖程式碼所示:上面的軌道是視訊,下面的軌道是圖片。而字幕軌也可以包含多個片段,可以是標題、底部的翻譯等資訊。

文中形如 「https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-video.mp4」 的OSS URL均為範例地址,實際執行需替換成客戶真實OSS地址執行。

接下來介紹每類軌道素材的詳細引數設定:

l VideoTrackClip

VideoTrackClip是視訊軌上的片段,比如視訊或圖片,可以設定其在成片畫布上的位置,如XY座標、寬高,以及在時間線中的位置等。

例如,想把一個視訊素材的第5秒到第10秒擷取出來,放在時間線第15秒到第20秒的位置,那可以將它的In、Out、Timelinein、Timelineout分別設定為5、10、15、20。

同時還可以給視訊增加特效,除了轉場、濾鏡外還有一些基礎特效,比如音量調整、倍速、裁剪、視訊水平翻轉、旋轉、AI特效、字幕樣式、綠幕摳圖、智慧遮標等。

l AudioTrackClip

AudioTrackClip是音訊軌上的素材,與視訊軌不同,音訊沒有畫布的概念,可以設定其在時間線中的位置,比如第幾秒出現、第幾秒結束,也可以設定其在原素材中擷取的位置。

此外,音訊也可以增加一些特效,比如音量、倍速、是否迴圈播放、淡入淡出、語音識別等。

音訊軌中的素材,可以是音訊或有音訊流的視訊,也支援把一段文字轉成人聲,作為音訊播放。文字轉人聲可以設定人聲的型別、語速、音調等,同時,在合成過程中,也可以把文字轉換為字幕,新增到視訊中。

l SubtitleTrackClip

SubtitleTrackClip是字幕軌上的素材,可以是文字或是字幕檔案。

如果是一段文字,可以設定這段文字在成片畫布中的位置,x、y座標,在時間線中的位置,還可以設定字型、字號、顏色、描邊及陰影屬性、動畫等。

如果素材為字幕檔案,則支援SRT或者ASS字幕,同時,字幕樣式包含在字幕檔案裡,可以直接合成到視訊中。

l EffectTrackClip

EffectTrackClip是特效軌,一般在特效軌中設定全域性特效,比如氛圍類特效、濾鏡、調色等,也可以設定特效在視訊中的開始和結束時間。在素材中也可以設定特效,把它加入Effects裡即可。特效的關鍵引數是其型別,部分特效可以設定調色等引數。

Timeline簡化

Timeline軌道中引數繁多,剪輯場景非常複雜,因而對Timeline進行簡化至關重要。

在剪輯過程中,Timeline會先分析使用者傳入的素材,然後根據素材補全引數。

比如在兩個10s視訊前後拼接的場景中,使用者只需要傳入兩個視訊的MediaURL,Timeline就可以自動進行推導,而不再需要傳入時間、座標等引數。

由此,開發人員在使用雲剪輯時,不但可以進行非常複雜的剪輯操作,也可以進行一些簡單的視訊處理工作。

比如視訊的拼接,開發人員只需傳入兩個視訊的地址,組裝成一個簡單的Timeline即可進行拼接。

比如視訊的裁剪,使用者只需傳入視訊素材以及裁剪位置,而無需傳入解析度等其他資訊。

再比如文字轉語音,音訊軌的輸入可以是一段文字,在實際剪輯過程中,會把文字轉成語音進行合成。使用者將文字轉為音訊和字幕,併合成到視訊中,只需製作一個Timeline即可。

合成效果展示:https://v.youku.com/v_show/id_XNTk0MTY3NTYwOA==.html

02 OpenAPI 呼叫指南

Timeline有何作用?

有了Timeline,呼叫OpenAPI提交剪輯合成任務,就可以合成出成片。提交剪輯合成作業的介面是SubmitMediaProducingJob,輸入是Timeline,OutputMediaConfig輸出地址和輸出設定,可以設定成片的寬高、位元速率以及其他的轉碼引數。

基於此,使用者只需提交一個介面就可以合成視訊。提交成功後會返回JobId,根據JobId查詢剪輯合成作業的狀態,當狀態為成功的時候,代表成片合成完成。

查詢剪輯合成作業的介面是GetMediaProducingJob,輸入JobId,輸出Job資訊,由此查詢到任務狀態。

使用者提交剪輯合成作業的整體流程為:提交Timeline和OutputMediaConfig之後,同步返回JobId、ProjectId和MediaId,其中ProjectId和MediaId可以方便使用者進行一些後續的操作。

當剪輯完成以後,使用者可以通過輪詢的方式,根據JobId不斷請求Job資訊,最後拿到結果。同時,也支援回撥的方式,傳入回撥地址或者MNS佇列,在剪輯完成以後回撥給使用者。

簡單來說,使用者提交一次剪輯只需用到以上兩個介面,從而可以把更多的精力放在Timeline的組裝上。

03 行銷短視訊是怎樣合成的?

實踐部分將以口播文案為索引,分步演示如何使用Timeline和OpenAPI剪輯合成行銷短視訊。

利用素材合成短視訊的流程是:先把文案轉化成人聲,配上背景音樂,然後和視訊素材拼接到一起,最後補充特效、Logo以及標題,由此合成最終的成片。

合成效果展示:https://v.youku.com/v_show/id_XNTk0MTY3NTY4OA==.html那麼,如何使用Timeline來合成此視訊?

首先分析該視訊,不難發現,該視訊是由以下幾個主要軌道組成:視訊軌包含了全部視訊素材,是一個主要的軌道;文案轉成了字幕,組成了主要的字幕軌;文案轉成的人聲組成了一個音訊軌,此外,背景音樂構成了另外一個音訊軌;疊加的全域性特效組成了特效軌。

接下來分別看這些軌道是如何合成的。l 視訊橫轉豎上述提到,把視訊素材拼接起來,只需填入關鍵資訊即可。

該Timeline 的功能是把每個素材擷取前兩秒,按照時間順序拼接到一起。

此外,視訊素材是橫屏的,如果希望輸出一個豎版視訊在手機上播放,只需要在輸出設定裡面設定解析度即可,比如720✖️280,由此輸出了一個720P的視訊。

同時,會預設把每個素材進行等比縮放,並按照成片的解析度居中展示,不足部分補充上下黑邊,即可實現視訊橫轉豎效果。

合成效果展示:https://v.youku.com/v_show/id_XNTk0Mjc3ODY1Mg==.htmll
背景模糊當然,上下黑邊的效果仍不夠好,我們期望在不足部分補充上毛玻璃效果,把整個視訊用內容填滿。

在Timeline上的實現是這樣的:新增Effects,Type是Background,新增背景模糊效果,同時SubType為Blur,並設定模糊半徑。

合成效果展示:https://v.youku.com/v_show/id_XNTk0Mjc3ODY5Mg==.htmll 字幕轉人聲、背景音樂接下來補充人聲和背景音樂,分別為兩個音訊軌,實現同時播放效果。

在人聲的音訊軌中,設定人聲型別,將文案素材合成到視訊中,同時,新增Effects為AI_ASR,把識別出來的人聲轉成字幕並設定字幕樣式。

在背景音樂的音訊軌中,只需設定其URL,就可以從第0秒播放到視訊的結束。

合成效果展示:https://v.youku.com/v_show/id_XNTk0Mjc3NzM4MA==.htmll 新增標題、修改字幕樣式標題作為字幕,新增時只需新增一個字幕軌並將其置入即可。

字幕可以設定各種屬性,比如字號、字型、顏色、描邊、陰影等。在短視訊中還經常使用花字、字幕動畫等,將字幕居中對齊,設定為TopCenter並確定居頂的外座標即可。


標題和AI_TTS中新增字幕樣式屬性

合成效果展示:https://v.youku.com/v_show/id_XNTk0MDkwMjc2NA==.htmll 轉場、特效轉場即Transition,需要設定其型別以及持續時間,需要注意的是,轉場會佔用前後兩個視訊的時間,因為轉場是上下兩個視訊之間的過渡。

比如,把兩個1秒的視訊拼接起來,中間加一個0.3秒的轉場,那麼最後成片的時間為1.7秒,即需要減去轉場的時間。特效即VFX,比如電影特效、氛圍特效等。

合成效果展示:https://v.youku.com/v_show/id_XNTk0MDkwMjc2NA==.htmll 隨機特效、隨機擷取隨機效果是剪輯過程中經常會使用到的功能,使用者期望只使用一個時間線,實現每次剪輯時隨機挑選一個特效和轉場進行使用的效果。

隨機效果有很多,這裡介紹隨機特效和隨機擷取。轉場和特效的SubType可以設定為多個,並用英文逗號隔開,這樣在實際合成過程中,就可以隨機選取一個進行合成。

擷取可以新增一個Effect:Clip,再新增SubType為RandomClip,並設定隨機擷取的時長,比如2秒,這樣在每次剪輯過程中,會在素材裡隨機擷取2秒,如果素材不足2秒則直接使用素材的全部時長。

合成效果展示:https://v.youku.com/v_show/id_XNTk0Mjc3ODgzMg==.html

以上講解了短視訊每個軌道的製作過程、Timeline展示以及使用的功能,完整的時間線和程式碼見文末課程回放。

l 字幕對齊

上述場景中,是把每個素材隨機擷取2秒進行前後拼接,更好的效果是把每個素材和每句話的開始結束時間一一對應,以此更富有節奏感。

合成效果展示:https://v.youku.com/v_show/id_XNTk0MTY3NTY4OA==.html

如何合成有節奏感的視訊呢?

首先,可以根據文字素材生成字幕和音訊,以此獲取每句話的開始、結束時間。

基於此資訊,即可根據字幕擷取素材,然後再把截出來的片段按照順序進行拼接,使得每個素材正好和句子對齊,從而達到預期效果。

這裡要額外用到一個介面,即提交智慧生產作業。此介面有三個引數,FunctionName為AsyncTextToSpeech,即文字轉語音;Input是一段文案,需要將其放到OSS檔案裡;Output是音訊和句子的時間戳。

提交完成後會返回一個JobId,根據JobId呼叫QueryIProductionJob獲取任務資訊,當任務狀態為Success時即可得到任務結果。

整體流程為:首先,用文案呼叫SubmitIProductionJob,提交文字轉語音任務,呼叫QueryIProductionJob查詢任務的結果。

當任務狀態為Success時,獲取人聲的音訊,以及每句話的開始、結束時間。

其次,基於此資訊封裝時間線,把素材正好卡在每一句話的開始、結束時間上,進行一一對齊。

然後,呼叫SubmitMediaProducingJob提交剪輯合成任務,根據剪輯合成任務的JobId呼叫MediaProducingJob,等待剪輯任務合成完成。

當任務狀態為Success時,獲取最終成片。(具體程式碼見文末課程回放)

除了以文案為主線擷取視訊素材之外,還可以根據音樂卡點、劇本等實現視訊的「節奏感」,組裝時間線進行視訊合成,就能實現視訊批次生產的效果。

04 Tips:經驗分享

最後分享一些雲剪輯的相關經驗。

視訊的批次生產、批次混剪,在雲剪輯中非常常見。

隨著短視訊的興起,客戶需要在不同的行銷號上分發不同的廣告內容,從而達到宣傳的目的。

由於分發到不同行銷號上,分發的視訊之間不能重複,此時雲剪輯就發揮了重大作用。

客戶一般會準備很多素材,分成不同的組,然後通過套用不同的劇本,加上特效、轉場、字幕、背景音樂,製作出很多成片,最後再通過自動化的方式進行分發,從而達到批次生產的目的,同時也大大節省了人力成本。

以下是批次混剪多個成片的效果,可以看到,不同成片之間,選擇的素材、素材的順序、擷取素材的位置是不一樣的,再加上不同的特效、貼紙、字幕、轉場等,就能實現較好的去重效果。

合成效果展示:https://v.youku.com/v_show/id_XNTk0MTY3NTg2MA==.html

節奏卡點

視訊的批次混剪內含很多小技巧,比如卡點。

卡點能讓視訊更有節奏感,從而達到更好的效果。除了口播文案外,也可以通過卡點相簿來達到效果,並且音樂卡點的節奏感更強,能給人一種打擊感。

合成效果展示:https://v.youku.com/v_show/id_XNTk0MTY3NTk1Ng==.html

上一節課介紹過,視訊AI能夠自動識別出一首歌的副歌部分和節奏卡點,由此就可以自動製作出卡點相簿,從而達到批次化和自動化製作視訊的效果。

除此之外,歌曲歌詞、小說、劇本製作等都可以全自動地生成視訊。

分鏡時長

卡點作為一個很小的劇本,決定了視訊以什麼樣的結構展開,而劇本製作也包含了一些小技巧:比如分鏡,即一個視訊片段,一個分鏡的時間不建議超過3s,太長的分鏡會讓使用者視覺疲勞,尤其是在看短視訊時,使用者都想以最快速度看到自己想要的內容。

因此,無論是口播文案、卡點還是劇本,每個片段的時間都不要太長。(分鏡時長差異效果詳見文末課程回放)

素材挑選

除此之外,片段時長短還有另一個好處:挑選素材會更方便。

合成效果展示:https://v.youku.com/v_show/id_XNTk0MTY5ODEzMg==.html

以上述素材舉例,此類素材的特點為視訊內容並沒有發生太大的變化,可以擷取任意部分套入劇本進行剪輯。

在剪輯中時常存在一種誤區,即人們往往想保證素材的完整性,而這其實是不對的。

在剪輯中,首先要保證劇本的完整性,因為劇本才是視訊的靈魂,要以素材適配劇本,而不是以劇本適配素材。

此外,更重要的是能提高開發的效率。使用者上傳的素材多種多樣,如果針對素材去做適配非常繁瑣,但如果先準備好劇本,然後讓使用者的素材來適配劇本,則能夠極大地簡化開發量。

還有一種情況是,使用者上傳的每個素材都很短,比如都是1秒,但劇本里需要一個2秒的素材,這種情況下更建議準備多個劇本,適配不同的素材,當拿到使用者素材以後,直接挑選對應的劇本進行合成即可。

而智慧媒體生產的模板工廠功能,則可以把使用者常見的時間線沉澱到模板中,即剛才所說的劇本,將其做成一個個模板供剪輯使用。

總結視訊批次生產的整體流程:首先建立劇本,劇本來源可以是口播文案、音樂卡點、或是自己創作的劇本。

其次,準備多個用來適配不同劇本的素材,可以是長視訊或是短視訊。

最後,在使用者傳完素材之後,根據使用者的素材挑選對應的劇本並進行合成。

由此,可以減少很多不必要的適配工作,提高開發效率,降低開發成本,同時還能獲得很多模板沉澱,從而提高視訊批次生產效率。

視訊剪輯場景複雜,在實際的工作中更考察創作者的靈感與創意。運用雲剪輯工具,智慧媒體生產依託雲端算力,讓剪輯工作更快捷、更高效、更智慧,進一步提升媒體生產製作效率。

更多完整內容詳見課程回放:https://v.youku.com/v_show/id_XNTk0MzQ1NTY4OA==.html

阿里雲視訊雲將行業資深導師分享的視訊生產精彩演講內容,濃縮成智慧媒體生產領域的實用寶典《雲端智創》電子書,與各位開發者和視訊製作技術朋友分享。

《雲端智創》電子書獲取路徑:關注【視訊雲技術】公眾號,回覆「電子書」即可領取。