作者:luckyzhliu
這幾年短視頻行業(yè)的迅速發(fā)展,視頻內(nèi)容生產(chǎn)作為內(nèi)容生態(tài)的重要一環(huán)。智影是一個集素材搜集、視頻剪輯、后期包裝、渲染導(dǎo)出和發(fā)布于一體的免費在線剪輯平臺,能夠為用戶提供從端到端的一站式視頻剪輯及制作服務(wù)。智影已接入多個騰訊系內(nèi)容生態(tài)產(chǎn)品,幫助用戶提升視頻剪輯效率和成片優(yōu)質(zhì)率。背后的技術(shù)方案是如何實現(xiàn)的呢,一起來看看 TAVMedia。背景
這幾年短視頻行業(yè)的迅速發(fā)展,視頻內(nèi)容生產(chǎn)作為內(nèi)容生態(tài)的重要一環(huán),逐漸成為內(nèi)容平臺必備基礎(chǔ)能力,像手 Q、抖音、快手、視頻號等各種內(nèi)容或社交類產(chǎn)品,都需要音視頻編輯能力。除短視頻行業(yè)之外,AMS 廣告對于動態(tài)視頻需求也愈發(fā)強烈,游戲行業(yè)對于戰(zhàn)報視頻也成為剛性需求,比如頭部的王者戰(zhàn)報、吃雞戰(zhàn)報等等。
但是音視頻編輯相關(guān)業(yè)務(wù)復(fù)雜度,技術(shù)門檻比較高,已成為業(yè)務(wù)團隊最主要的發(fā)展瓶頸。從下邊的框架圖,可以看出視頻發(fā)布的技術(shù)需求非常復(fù)雜,最上層用戶可以感知的業(yè)務(wù)能力,比如視頻裁剪拼接、音樂或貼紙?zhí)砑印I 效果和模板應(yīng)用等等,而只是冰山浮出水面的一角,要實現(xiàn)這些復(fù)雜的視頻發(fā)布需求,需要設(shè)計一個龐大的渲染系統(tǒng),還要解決大量音視頻相關(guān)的硬件兼容性問題。
![]()
迭代與演進
當(dāng)前團隊的主要成員都是最早微視發(fā)布器的骨干,深耕視頻剪輯這個領(lǐng)域已有 4 年+,已接入騰訊 40 多款業(yè)務(wù)目前已對外開源的就是團隊的產(chǎn)物,視頻剪輯方案也經(jīng)歷了 TAVKit、Light SDK 這 2 個歷史版本迭代,最終走到了 TAVMedia。
TAVMedia 是什么
TAVMedia 全平臺視頻剪輯方案集合了跨平臺渲染框架、音視頻編解碼、PAG 動畫工作流、可自定義擴展的濾鏡框架、視頻生成云服務(wù)等能力,新的方案提供了行業(yè)領(lǐng)先的動效素材生產(chǎn)工具,動效素材資源商店,有利支撐了業(yè)務(wù)方海量動效素材需求,當(dāng)前已為 AMS 模板產(chǎn)量帶來了 16 倍的增速,為智影提供了 3500+可復(fù)用的素材;TAVMedia 實現(xiàn)了全平臺覆蓋,包括 Web 端、服務(wù)端、移動端、PC 端,并為各端提供了一致性對外接口,除了標(biāo)準(zhǔn)化原子素材格式 PAG,也統(tǒng)一了模板素材、自由剪輯模板的格式,讓視頻生成服務(wù)和特效素材可以在各個業(yè)務(wù)場景中打通復(fù)用。標(biāo)準(zhǔn)化了視頻渲染生成服務(wù),為騰訊智影、AMS 等業(yè)務(wù)服務(wù)端渲染效率提升了 3-5 倍,顯著降低了服務(wù)器成本,在騰訊視頻年中運營活動中,實現(xiàn)了僅 1 人天的開發(fā)成本就完成了服務(wù)對接。
TAVkit
TAVKit 以 Timeline 的軌道結(jié)構(gòu)與渲染鏈的組織方式來串聯(lián)了微視內(nèi)的視頻剪輯能力,靈活支持了 AI 特效、PAG 模板、一鍵出片等需求, 2019 年立項開發(fā),帶 UI 的版本 TAVCut 獲得騰訊 2020 年上半年卓越研發(fā)獎,目前已接入了王者榮耀、手 Q、微視、鵝剪等公司內(nèi)部業(yè)務(wù)。但由于 TAVKit 誕生自移動端業(yè)務(wù),因此只支持 Android、IOS 兩端,沒有做到跨平臺,且同時需要維護 2 套代碼。
Light SDK
為了解決視頻剪輯方案跨平臺的問題,2020 年 Light SDK 應(yīng)運而生,該方案通過 ECS 系統(tǒng),靈活組織了這些年積累的 100 多項能力;一套代碼應(yīng)用到移動端、PC 端,減少了代碼維護與問題解決的成本;統(tǒng)一了拍攝與視頻剪輯方案,該方案比較完美的解決了拍攝上的 AI 能力如何應(yīng)用到視頻剪輯上的問題,只是輸入源上一個來自 Camera,一個來自視頻畫面,當(dāng)前美攝 SDK、剪映 SDK 都是這種方式,但拍攝與視頻剪輯還存在許多差別,簡單列舉下:
-
同一時刻,拍攝的畫面只有一路而視頻剪輯可以有多路,所以在 AI 識別與特效處理上都有邏輯上的不同
-
拍攝中的 AI 事件與數(shù)據(jù)具有不確定性,而視頻剪輯中的畫面都是固定的,也就是 AI 時間與事件都是確定的,這點就可以做諸多優(yōu)化。
-
為了兼容拍攝,AI 觸發(fā)與腳本控制的玩法,需一開始時初始化耗時比較高的觸發(fā)需顯示的資源(相應(yīng)的內(nèi)存占用也高),在該資源顯示完后也不敢對其進行回收,因為怕又被觸發(fā)顯示,這樣會導(dǎo)致內(nèi)存占用高。
-
在 AI 觸發(fā)或者腳本控制的相關(guān)玩法中,seek 時的畫面與預(yù)覽畫面不一致,因為有可能 seek 會跳過視頻觸發(fā)點。
目前手 Q、微視 android 都已遷移到這種方案,該方案提供了可視化的玩法編輯器,一套玩法可同時應(yīng)用在拍攝與視頻編輯的場景,雖有些資源占用上的瑕疵,但微視與手 Q 這種移動端上的拍攝與后編輯都需要的業(yè)務(wù)不失為比較好的方案。
TAVMedia
針對 light sdk 里視頻編輯和拍攝合并的 ecs 架構(gòu)導(dǎo)致無法真正對視頻編輯進行優(yōu)化的問題,同時也有不少 web 端與服務(wù)端的業(yè)務(wù)過來咨詢視頻剪輯的方案,為了真正做到全平臺覆蓋(支持 Web、小程序和服務(wù)端),我們啟動了 TAVMedia。在 TAVCut、Light SDK 這 2 個方案的積累下,TAVMedia 做了如下的優(yōu)化:
-
業(yè)務(wù)中所有軌道數(shù)據(jù)(圖片、視頻、特效、濾鏡)在 TAVMedia 都有對應(yīng)的 clip,而非 Light SDK 中的模板數(shù)據(jù)。
-
所有渲染結(jié)構(gòu)都支持 CPUGPU 任務(wù)分離,充分利用每個渲染間隔,高并發(fā)渲染。
-
渲染節(jié)點之間絕大部分由紋理傳遞方式改為 FrameBuffer 傳遞方式,減少離屏的次數(shù)實現(xiàn)渲染合并。
-
在擴展性上,業(yè)務(wù)可自定義的 effect 效果,只需要將其 add 到 TAVMedia 的 Composition 中即可。
-
更加靈活的預(yù)加載策略,在視頻、特效、PAG 軌道確定的情況下,預(yù)初始化 CPU 資源。
針對 web 端和服務(wù)端的應(yīng)用場景,我們做了如下的優(yōu)化:
-
TAVMedia 支持渲染結(jié)構(gòu)實時序列化和反序列化,方便草稿存儲、web 端預(yù)覽與服務(wù)器導(dǎo)出間通信。
-
更加智能的分段導(dǎo)出策略,根據(jù)服務(wù)器的 CPU 數(shù)量,以及導(dǎo)出一段視頻所需的線程數(shù)量,智能分段導(dǎo)出。
-
純凈的視頻片段(該視頻段沒有特效濾鏡),無需渲染,只需要轉(zhuǎn)碼導(dǎo)出,減少渲染耗時。
上訴點的技術(shù)細節(jié),在后續(xù)的文章中逐一介紹。
![]()
工作流程
除 SDK 之外,我們還提供了可視化的制作工具,設(shè)計師只需要在自己最熟悉的動效制作環(huán)境 AE 中,設(shè)計完成后一鍵導(dǎo)出成 PAG,包括原子特效與視頻模板,并在桌面端提供了效果一致的預(yù)覽工具,來查看效果與性能,確認 OK 之后,可一鍵上傳到動池素材商店,當(dāng)然也可以私藏。各個垂直場景在自己動效產(chǎn)能不夠情況下,也可以在動池素材商店下單,內(nèi)外部設(shè)計師接單之后用制作工具設(shè)計完成后,再上傳到各業(yè)務(wù)的素材管理后端,通過 TAVMedia SDK 渲染導(dǎo)出成 MP4。另外這個視頻中所用到的 AI 事件比如游戲事件、AMS 廣告事件都前置識別,這樣有幾個優(yōu)點:
-
AI 事件識別庫與 TAVMedia 渲染庫,從流程上做到解耦。
-
解決在 AI 觸發(fā)或者腳本控制的相關(guān)玩法中,seek 時的畫面與預(yù)覽畫面不一致的問題
-
兼容各個業(yè)務(wù)情況,比如游戲事件、音樂卡點、AMS 廣告事件都是前置預(yù)設(shè)好的。
智影是 TAVMedia 第一個落地業(yè)務(wù),TAVMedia SDK 為智影帶來了:
-
為智影提供了 3500+可復(fù)用的素材。
-
從 Web 端到服務(wù)端全套解決方案,且 web 端和服務(wù)端協(xié)議數(shù)據(jù)打通。
-
渲染性能相比于原來老的渲染導(dǎo)出性能提升了將近 3.9 倍,也意味著服務(wù)器成本降低了 80%左右。
除提供 SDK 外,還可以提供標(biāo)準(zhǔn)化的視頻渲染 Paas 化服務(wù),以 AMS 廣告業(yè)務(wù)(之前已接入 PAG 的方案)為例,接入 TAVMedia Paas 服務(wù)可以為其帶來:
-
性能優(yōu)化:同樣的資源情況下,通過提升 CPU 利用率和優(yōu)化渲染鏈路,使得渲染耗時比降低 26.67% ,從 0.451 到 0.331
-
成本優(yōu)化:同樣任務(wù)量,同樣的任務(wù)完成時間,CPU 核心降低 24.6%,內(nèi)存降低 94.5%,總成本錢降低 39.2%。詳見(實驗設(shè)計,根據(jù) 52 個生產(chǎn)環(huán)境錄制請求和 16 個 consumer 實例集群測試結(jié)論)
-
穩(wěn)定性加固:解決自動擴縮容問題、增加監(jiān)控手段 7 個,定位問題手段 2 個,最終成功率 SLI 保障(內(nèi)網(wǎng)) 99.95%(原來舊集群 99.95%)
-
遷移成本低:1 人天完成開發(fā),協(xié)議兼容現(xiàn)有 AMS 業(yè)務(wù)請求,增加少量字段如鑒權(quán)和租戶信息
-
減少人力成本:不需要 AMS 運維
-
新業(yè)務(wù)接入效率高:增加 TAVMedia-Template 適配層,新業(yè)務(wù)進入服務(wù)端只需更新 js 文件即可
1.平均渲染耗時減少: 31.91%
2.平均渲染耗時比減少: 26.67%
![]()
智影,在云端剪出你的故事!
歡迎登錄智影:https://zenvideo.qq.com
歡迎關(guān)注智影公眾號智影 Zenvideo 了解最新產(chǎn)品與活動信息
![]()
![]()
![]()






