如何实现简单高效的移动剪辑框架
生活随笔
收集整理的這篇文章主要介紹了
如何实现简单高效的移动剪辑框架
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文整理自LiveVideoStack線上分享第三季,第八期的分享內容。隨著互聯網和智能設備的普及,之前需要大量專業人士和設備才能完成的視頻內容創作與剪輯過程在移動平臺的實現也逐漸成為可能,360視頻云部門經理,耿顯東老師將結合360視頻云的實踐介紹如何實現高效的移動剪輯框架與性能優化。
文/耿顯東整理/LiveVideoStack直播回放https://www2.tutormeetplus.com/v2/render/playback?mode=playback&token=1b6ec621bb7b43e3be108dd50a47e57b?
大家好,我是來自360視頻云的耿顯東,本次分享的主要內容是360視頻云在視頻剪輯中的一些實踐,希望能給大家帶來一些啟發。??本次分享的內容分為四個部分,首先是一個Overview,第二部分介紹剪輯工具與概念,第三部分會介紹一些關鍵技術,最后是360視頻云的延伸和展望。
1. Overview
??剪輯最初來源于法語Montage,中文名叫蒙太奇,上圖中最左邊是大衛·格里菲斯(D.W. Griffith),他是最早開始使用蒙太奇手法拍電影的導演。右邊三個都是蘇聯時期的學者,他們把蒙太奇整合成一套理論,變成一門學科。
1.2?庫勒雪夫效應
?上圖中的六張圖片分為三組,是當同一面部表情的畫面,配以不同的畫面,就能產生不同的情感效果,讓觀眾以不同的方式解讀人物的情緒,即使面部表情保持不變,這就是庫勒雪夫效應。
1.3 常見的剪輯手法
?目前被大眾普遍接受的剪輯是短視頻,其實在專業領域,包括電影后期制作、電視劇的拍攝都有很多專業工作人員去做專業的剪輯,針對不同的場景運用不同的剪輯手法,場景包括獵奇、新聞、炫酷、劇本和講故事等,剪輯手法的分類如上圖所示。
1.4?濾鏡效果展示
?上圖展示了同一張圖片加不同濾鏡的效果。?
2.?剪輯工具與概念
2.1 剪輯工具
?專業領域的工作者可能對傳統的收費軟件比較熟悉,比如Adobe Premiere、Final Cut Pro和Adobe After Effects等,這些軟件在PC平臺使用,需要一定的技術門檻,對設備配置也比較高。由于目前手機智能終端處理能力逐漸增強,移動平臺剪輯工具APP也慢慢普及,例如VideoLeap、VUE和InShot等,剪輯工具的整體發展趨勢是從PC轉到移動平臺,對使用工具的專業性要求降低。完成這樣的趨勢轉變的標準總結下來便是快速、酷炫、簡單。
2.2 內容創作流程和設備能力需求
2.3?剪輯的概念
?目前的剪輯都相當于是離線制作的過程,將所有的素材擺在時間軸上,在時間軸上可以分為不同的Track,調整每個素材接入和出去的位置,同一個Track上又分為音頻和視頻,同時在素材、時間軸和Track上都可以加一些效果,兩段素材間還可以添加轉場特效,這些是剪輯當中最基礎的概念。
2.4 剪輯處理邏輯流程
?對應每個Track上的素材而言,首先要對Clip進行解碼,之后要對素材進行空間布局和特效,這些操作都是針對每一幀來做的。不同的Clip之間可以做一個疊加,實現畫中畫或貼紙的效果。所有的剪輯特效分為素材級別、Track級別和時間軸級別,一層層處理完之后再去渲染存成輸出的文件。音頻和視頻相比少了空間效果,僅僅只是時間上的效果,在音頻之間可以做環音,層次也分為素材級別、Track級別和時間軸級別。
3.?關鍵技術
3.1 關鍵技術介紹大綱
?音視頻剪輯關鍵技術分為了四個部分展開,分別是靜態結構、動態流程、性能優化和兼容問題。
3.2 靜態結構
??360視頻云的剪輯實際上是做了一個SDK給公司計算生態的所有業務調用,但實質我們沒有涉及UI內層,所以這里只提供API的接口。做一個穩定的SDK一定要做崩潰收集和日志收集,以此幫助提高SDK穩定性和診斷問題。上圖中中間層為描述管理器,管理所有素材、效果以及屬性、草稿,主控器負責控制主體流程,監控器負責監控CPU/內存/GPU資源的監控。下半部分是中層管理器的延伸,主要特點是根據視頻生成預覽縮略圖和根據音頻生成音頻波形圖,渲染效果也是針對每一幀來操作,最終合成得到實時預覽和最終導出文件。實時預覽對速度要求不高,但最終導出文件的等待時間應該盡量縮短,提高用戶使用體驗。??剪裁、轉場、變速和順序調整都會帶來時間上的變化,因此在管理時用分層來應對這種變化。首先明確所有的效果屬性是加在素材級別、Track級別,還是時間軸級別上,這樣在每幀渲染時不會對整體造成影響。??畫面的空間布局類似Web開發中的CSS布局,通過類似CSS的方式來定義每個元素的屬性,比如寬高利用百分比來達到自適應的效果,渲染方式和填充方式也是根據顯示場景做不同的調試,Z軸完全借鑒CSS的布局來管理。
3.3 動態流程
?媒體處理的Pipeline大致分為IO線程、解碼線程、媒體處理線程和編碼線程四大塊,IO線程主要負責讀文件和解復用,解碼線程負責視頻解碼和音頻解碼,媒體處理大部分是在GPU上完成,最后編碼合成。整個流水線的隊列上游產生數據,下游消費數據,通過限制隊列長度來控制內存使用,在某個環節出現處理性能瓶頸的話,隊列的滿狀態就會傳遞到上游。?3.4 性能優化
?性能優化第一部分是低分辨率預覽,在預覽和縮略服務中,尺寸達不到合成輸出畫布尺寸,因此在縮略圖和預覽中的尺寸不同,以保證視頻處理速度跟上預覽速度,這主要對“大分辨率+低端機”的性能帶來挑戰。??
預覽時用戶會有對進度條的拖動操作,普通的播放器操作是跳到最近的關鍵幀,但剪輯中的素材大多是短視頻,關鍵幀很少,使得在拖動過程中畫面不連貫。因此需要做一個幀級別的Seek,但Seek所帶來的問題是解碼時必須從關鍵幀解,耗時比較長。所以我們采取在Seek時可以有選擇的進行解碼前丟幀,整體時間節省大約50%。??視頻是有結構的,播放視頻和編碼都是按照正常的順序去播放,但倒放需要滿足的效果是從后往前播放,但解碼有依賴的序列,不能隨機訪問,當GOP比較大時相對比較棘手。處理方案是首先對視頻進行預處理,預處理有三種方式,第一種是將視頻預處理成全I幀編碼,但I幀全是幀內編碼,壓縮比不高,存儲體積較大。第二種是將視頻預處理成小GOP的正序,播放時緩存整個GOP,渲染時調整順序,但對內存消耗比較高。第三種方式是將視頻預處理成小GOP的逆序文件,播放時不做特殊緩存。
3.5 兼容性處理
?兼容性處理分為輸入素材、處理中和輸出控制三部分,具體內容如上圖所示。?
4.?延伸和展望
4.1 3D和智能化
?目前傳統的剪輯技術隨著科技的發展,在未來一定會越來越多的與3D、AR結合。上圖中的3D+AR渲染示例中龍是虛擬的,但在顯示屏中還是可以顯示出龍的效果,右圖使用AI換臉技術將網紅主播的臉換成迪麗熱巴。
4.2 云+多端
??另一方面是關于云和端融合方面的展望,這其中又分為離線式和交互式兩種方式,離線式主要的應用場景是在端上做剪輯操作,但實際計算是在云端,比如在端上上傳幾張照片,云端套用模板自動生成復雜的視頻效果,使終端變成展示和操控的界面,操作生成的剪輯描述腳本可以在云端或其他端執行,也就是One Script,Run anywhere。
交互式類似于云桌面和云游戲,云端會將實時預覽畫面(低畫質)傳輸到終端,操作指令通過實時的信道傳給云端,在云端去做處理,這樣可以把計算能力分離,降低終端的算力要求,同時云端可以提供海量的素材,終端不用先下載后使用。
本次分享的內容只是360視頻云的在實踐過程中的一部分,更多精彩內容請報名參加LiveVideoStackCon 2019北京 音視頻技術大會與講師一起交流溝通。
LiveVideoStack? 招募
LiveVideoStack正在招募編輯/記者/運營,與全球頂尖多媒體技術專家和LiveVideoStack年輕的伙伴一起,推動多媒體技術生態發展。同時,也歡迎你利用業余時間、遠程參與內容生產。了解崗位信息請在BOSS直聘上搜索“LiveVideoStack”,或通過微信“Tony_Bao_”與主編包研交流。
總結
以上是生活随笔為你收集整理的如何实现简单高效的移动剪辑框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【大会】声音叫醒耳朵,语音连接网络
- 下一篇: 【大会】AI能解决哪些问题?