網(wǎng)站制作李志強(qiáng):影視級(jí)跨平臺(tái)視頻制作技術(shù)本身的技術(shù)架構(gòu)如何制作免費(fèi)網(wǎng)站
2022-08-28
編者按:近年來,視頻的多種呈現(xiàn)形式得到了更多行業(yè)的認(rèn)可,視頻技術(shù)在跨行業(yè)的應(yīng)用被賦予了更多的可能性和興趣。不同行業(yè)制作內(nèi)容的多樣性和差異化進(jìn)一步增加了視頻內(nèi)容升級(jí)的需求。作為專業(yè)的音視頻技術(shù)服務(wù)商,騰云網(wǎng)絡(luò)提出了影視級(jí)跨平臺(tái)視頻制作技術(shù)解決方案并應(yīng)用于實(shí)際案例。在場(chǎng)景中。 2022影音技術(shù)大會(huì)上海站特邀騰云網(wǎng)絡(luò)李志強(qiáng)先生與我們分享影視級(jí)跨平臺(tái)視頻制作技術(shù)的實(shí)施實(shí)踐。主要包括3個(gè)部分:1.解決方案背景下的痛點(diǎn)分析和技術(shù)解決方案; 2.應(yīng)用案例效果分享與展示; 3. 技術(shù)挑戰(zhàn)與實(shí)戰(zhàn)方案分享。
文/李志強(qiáng)
組織/
大家好,我是騰云網(wǎng)絡(luò)的李志強(qiáng),我叫節(jié)子。我們目前正在研究的解決方案是 VE 視頻引擎。這次想和大家分享的是電影級(jí)跨平臺(tái)視頻制作技術(shù)的落地實(shí)踐。這里想和大家討論兩個(gè)話題:一是電影級(jí)跨平臺(tái)視頻制作技術(shù)本身的技術(shù)架構(gòu),以及它在場(chǎng)景中能解決哪些問題。其次,在復(fù)雜的跨平臺(tái)場(chǎng)景下,我們可以通過哪些方式向客戶呈現(xiàn)電影級(jí)的畫面?
1、背景與方案
首先,我想和大家分享一下我們觀察到的行業(yè)對(duì)影視視頻制作技術(shù)需求的變化。
我簡(jiǎn)單將整體市場(chǎng)需求背景分為三個(gè)主要方面:一是追求視頻內(nèi)容質(zhì)量升級(jí)。很多參加上海站的大佬,比如快手等短視頻平臺(tái),都在短視頻內(nèi)容方面對(duì)中國(guó)網(wǎng)民進(jìn)行了很多教育。當(dāng)用戶熟悉了一種內(nèi)容形式后,就必須開始對(duì)內(nèi)容形式追求更高品質(zhì)的審美。同樣,在視頻領(lǐng)域,用戶在受到大量短視頻的教育后,開始追求更高質(zhì)量的視頻內(nèi)容。但是我們遇到的問題是,當(dāng)各個(gè)細(xì)分行業(yè)都在追求更多的視頻內(nèi)容時(shí),有一些我們可以通過C端的短視頻制作工具來創(chuàng)作,但是在專業(yè)的場(chǎng)景中,比如廣告、企業(yè)宣傳片,甚至對(duì)于廣電使用的大量視頻內(nèi)容,我們用一些純C端的工具可能無法滿足需求。這種類型的內(nèi)容制作仍然是由傳統(tǒng)的專業(yè)設(shè)計(jì)師使用專業(yè)的設(shè)計(jì)工具手工制作的。如果這種需求爆發(fā),傳統(tǒng)手工制作的效率將捉襟見肘。因此,我們想探索是否可以將專業(yè)設(shè)計(jì)師的創(chuàng)意賦能給非專業(yè)設(shè)計(jì)師的普通用戶,讓每個(gè)人或大多數(shù)人都能擁有專業(yè)級(jí)的視頻創(chuàng)作能力。
我們簡(jiǎn)單地將主流的視頻制作方案分為幾類:一種是移動(dòng)端的視頻制作技術(shù)網(wǎng)站制作,或者是C端的視頻制作技術(shù)。主要解決C端用戶的表達(dá)需求。二是SaaS工具,為偏尾的運(yùn)營(yíng)內(nèi)容制作提供視頻制作工具。人們傾向于基于H5渲染技術(shù)或視頻技術(shù)為用戶解決創(chuàng)意問題,但這些技術(shù)存在一些不足。渲染能力缺乏相應(yīng)的支持。而對(duì)于整個(gè)視頻元素本身的動(dòng)畫,它只支持比較簡(jiǎn)單的基礎(chǔ)變換動(dòng)畫,不支持更復(fù)雜的面向設(shè)計(jì)師的運(yùn)動(dòng)曲線,包括表情和基于物理模擬生成動(dòng)畫的能力。另外,對(duì)于圖片本身的調(diào)整,只支持基本的調(diào)整,比如下沉市場(chǎng)中經(jīng)常出現(xiàn)的卡片動(dòng)畫或者視頻效果。
那么,我們希望幫助用戶創(chuàng)作什么樣的視頻?在視頻中可以看到,戶外裸眼3D大屏和3D場(chǎng)景渲染都可以讓用戶實(shí)時(shí)創(chuàng)作。對(duì)我們來說最重要的是如何讓用戶參與到內(nèi)容制作過程中,或者如何將用戶的個(gè)性化需求融入到畫面中,從而生成用戶獨(dú)特的專業(yè)內(nèi)容。
從專業(yè)內(nèi)容制作流程的分析,我們將整個(gè)影視視頻內(nèi)容制作流程抽象為四個(gè)關(guān)鍵步驟:首先,需要完成素材獲取。主要解決方案是使用支持4K和HDR的手機(jī)獲取或?qū)ふ野鏅?quán)庫合作。然后需要制作每個(gè)鏡頭。這里的鏡頭主要是指短鏡頭。比如一部電影的畫面只有1-2秒,長(zhǎng)鏡頭最多10秒。再長(zhǎng)的時(shí)間都是一個(gè)長(zhǎng)鏡頭。鏡片生產(chǎn)的專業(yè)流程非常復(fù)雜。比如MG動(dòng)畫可能只是一個(gè)2D鏡頭,再到復(fù)雜的場(chǎng)景,比如漫威電影,融合了3D場(chǎng)景的渲染,也需要和采集到的原始素材進(jìn)行合成。然后將鏡頭中的效果與原始材質(zhì)結(jié)合起來進(jìn)行特殊效果。鏡頭拍好后,還有很多鏡頭需要剪輯、拼接,最后導(dǎo)出。
這是我們提出的解決方案,在攝取方面,我們推出了 Leap 社區(qū)。這個(gè)社區(qū)現(xiàn)在有名專業(yè)設(shè)計(jì)師,為用戶提供了大量的模板。社區(qū)內(nèi)所有的視頻制作邏輯都是模板化的,用戶可以對(duì)里面的元素進(jìn)行個(gè)性化的修改。我們提供 Leap in 鏡頭制作和特效合成,是整體視頻、電影和視頻處理技術(shù)在實(shí)踐中的產(chǎn)品體現(xiàn)。 Leap可以幫助設(shè)計(jì)人員解決從2D和3D內(nèi)容到鏡頭制作中的特效合成的模板內(nèi)容制作需求的一站式解決方案,進(jìn)而生成模板供最終用戶使用。那么,底層驅(qū)動(dòng)這些功能的核心技術(shù)就是VE視頻引擎。
我將向您介紹 VE 視頻引擎。關(guān)心專業(yè)級(jí)視頻制作邏輯的同仁應(yīng)該都知道,我們稱之為動(dòng)畫行業(yè)或視頻行業(yè)。我們VE視頻引擎的整體架構(gòu)研發(fā)與目標(biāo)完全一致。同時(shí),我們?cè)贏E短板的一些方面做補(bǔ)充。至此,我們已經(jīng)完全實(shí)現(xiàn)了AE 80%的核心渲染能力,并在3D渲染方面補(bǔ)充了一些更強(qiáng)大的解決方案。
簡(jiǎn)單分享給大家音頻處理和視頻處理。我們的核心能力主要在動(dòng)畫渲染引擎。圖層渲染架構(gòu)、復(fù)合渲染架構(gòu)、關(guān)鍵幀動(dòng)畫引擎、字體渲染引擎、矢量繪圖引擎和特效繪圖引擎,是我們完全自主研發(fā)的專業(yè)級(jí)視頻處理模塊。除了這些模塊,我們還提供基于SDF的3D渲染引擎和基于模型材質(zhì)和燈光的常見3D渲染引擎。
在這里,我想和大家分享一下我們?cè)陂_發(fā)和實(shí)現(xiàn)這些渲染引擎以及解決Web端問題時(shí)提出的一些設(shè)計(jì)要求:首先,我們的渲染引擎與AE完全對(duì)齊。實(shí)現(xiàn)了 AE 80% 的核心渲染能力,結(jié)合強(qiáng)大的 3D 能力。同時(shí),我們提出了跨平臺(tái)支持,保證了無論從桌面、移動(dòng)端、GPU云服務(wù)器還是Web前端的渲染架構(gòu)的靈活性,為用戶提供完全標(biāo)準(zhǔn)或正確的視頻級(jí)像素渲染能力終端方面;其次,我們也想為非專業(yè)用戶賦能專業(yè)設(shè)計(jì)師的能力。我們的解決方案是將設(shè)計(jì)師在AE中制作的視頻一鍵轉(zhuǎn)換成模板,讓更多的用戶可以基于模板進(jìn)行個(gè)性化。
回到我們剛才說的,模板制作可以分為上游和下游兩個(gè)環(huán)節(jié)。上游是專業(yè)設(shè)計(jì)師的模板,下游是終端用戶的模板。為了讓設(shè)計(jì)師做出更好更精彩的模板,我們也不斷為設(shè)計(jì)師開發(fā)更多特效插件。在這里跟大家分享一下我們開發(fā)的一些插件的效果。
我們可以看到。視頻中提供的3D內(nèi)容和提供給設(shè)計(jì)師的創(chuàng)意能力,可以由設(shè)計(jì)師轉(zhuǎn)為模板提供給最終用戶。
那么設(shè)計(jì)師如何制作模板呢?剛才提到,它主要是基于 Leap 產(chǎn)品,其核心邏輯是為用戶提供一個(gè) web 端的模板創(chuàng)建工具。我們現(xiàn)在有一個(gè)非常強(qiáng)大的工作流程。設(shè)計(jì)師在AE中設(shè)計(jì)好視頻后,可以一鍵上傳到云端,然后轉(zhuǎn)換成模板。整個(gè)操作過程非常順利。我們?cè)诰W(wǎng)頁瀏覽器中實(shí)時(shí)渲染一個(gè)AE項(xiàng)目的效果非常好。第二點(diǎn)是我們還可以將模板中的參數(shù)暴露給用戶進(jìn)行編輯。無論是模板中的素材,還是模板中的參數(shù),用戶都可以進(jìn)行實(shí)時(shí)調(diào)整,滿足用戶個(gè)性化創(chuàng)作的需要。
PPT中的左側(cè)屏幕展示了設(shè)計(jì)者如何在AE中一鍵加載項(xiàng)目到Leap。右側(cè)畫面顯示設(shè)計(jì)師在AE中完成了整個(gè)項(xiàng)目的設(shè)計(jì),然后訪問Leap網(wǎng)站在本地讀取AE項(xiàng)目并一鍵上傳到云端。這時(shí)候設(shè)計(jì)師的作品就變成了一個(gè)模板,所有數(shù)據(jù)都在web端實(shí)時(shí)還原和渲染。
為了讓最終用戶可以調(diào)整其中的材質(zhì)和參數(shù),設(shè)計(jì)師可以標(biāo)記一些標(biāo)記。比如項(xiàng)目中有很多材質(zhì),所以我希望最終用戶可以調(diào)整其中的一些元素。他可以在素材界面中為最終用戶設(shè)計(jì)一個(gè)編輯界面,或者可編輯參數(shù)的具體設(shè)計(jì)。右邊的視頻展示了設(shè)計(jì)師設(shè)計(jì)模板的編輯界面。
我們目前在 Leap 社區(qū)平臺(tái)上擁有超過 20,000 名專業(yè)設(shè)計(jì)師。一方面我們會(huì)為設(shè)計(jì)師提供豐富的特效設(shè)計(jì)工具,另一方面我們擁有大量的版權(quán)素材資源,同時(shí)我們也開設(shè)了創(chuàng)作和實(shí)現(xiàn)的任務(wù)中心我們有大量的B端客戶,也有分散在各個(gè)行業(yè)的客戶。使用我們的技術(shù)后,他們對(duì)模板內(nèi)容有源源不斷的需求,可以到任務(wù)中心發(fā)送模板制作任務(wù),平臺(tái)設(shè)計(jì)師可以到任務(wù)中心接收創(chuàng)建和實(shí)現(xiàn)的任務(wù)。同時(shí),我們擁有在線模板審核和自動(dòng)測(cè)試交付系統(tǒng),完成創(chuàng)作生態(tài)的整個(gè)閉環(huán)。
我還想與您分享我們?cè)?AE 或?qū)I(yè)設(shè)計(jì)工具方面所做的一些努力。前段時(shí)間,平面設(shè)計(jì)軟件領(lǐng)域比較火爆,我們會(huì)發(fā)現(xiàn)國(guó)外一些技術(shù)廠商,尤其是整個(gè)設(shè)計(jì)工具占主導(dǎo)地位的美國(guó),已經(jīng)開始對(duì)中國(guó)采取封閉的態(tài)度。目前,在平面設(shè)計(jì)領(lǐng)域,一些中國(guó)廠商已經(jīng)開始崛起,為大家解決這方面的問題,實(shí)現(xiàn)國(guó)產(chǎn)替代。我們也會(huì)在視頻領(lǐng)域發(fā)現(xiàn)類似的問題?,F(xiàn)在國(guó)內(nèi)的專業(yè)視頻設(shè)計(jì)工具幾乎是一片空白。為了培養(yǎng)用戶使用國(guó)產(chǎn)工具,我們?cè)贚eap社區(qū)為國(guó)內(nèi)專業(yè)視頻設(shè)計(jì)師提供了大量免費(fèi)的特效設(shè)計(jì)工具,這些設(shè)計(jì)工具基本完全自主研發(fā)并結(jié)合中國(guó)行業(yè)特點(diǎn)需要解決問題。設(shè)計(jì)師有一些獨(dú)特的痛點(diǎn),同時(shí)我們每個(gè)月都會(huì)更新,不斷解決設(shè)計(jì)師的需求。
目前,創(chuàng)作中心有2萬多名專業(yè)設(shè)計(jì)師,很多設(shè)計(jì)師都是靠模板設(shè)計(jì)任務(wù)來實(shí)現(xiàn)自己的創(chuàng)作能力,不少設(shè)計(jì)師月收入超過1萬元。同時(shí),我們社區(qū)的一個(gè)亮點(diǎn)是,如果你有專業(yè)的設(shè)計(jì)能力,可以在一天之內(nèi)輕松熟悉整個(gè)模板制作流程,進(jìn)而實(shí)現(xiàn)全平臺(tái)變現(xiàn)和創(chuàng)收。
2、產(chǎn)品案例
接下來,在案例和技術(shù)完成后,我將與您分享我們的技術(shù)在哪些產(chǎn)品中得到了應(yīng)用。
首先要和大家分享的是 Plus,它是一個(gè)電影級(jí)的模板化視頻制作平臺(tái),是我們整個(gè)視頻處理技術(shù)的綜合應(yīng)用。雖然我們也提供了移動(dòng)端的渲染能力,但是這里主要跟大家分享一下它在web端的一些表現(xiàn)。
用戶可以進(jìn)入 Plus,選擇自己喜歡的視頻模板,然后實(shí)時(shí)編輯模板。比如我想對(duì)里面的文字進(jìn)行修改,可以像編輯PPT一樣直接修改。當(dāng)然,用戶不僅可以編輯圖片、文字、視頻等素材,還可以實(shí)時(shí)調(diào)整參數(shù)。
比如有一個(gè)3D霓虹燈效果,用戶可以編輯里面的文字內(nèi)容。它的3D光照渲染和地面反射都是實(shí)時(shí)渲染的,用戶還可以調(diào)整霓虹燈的強(qiáng)度、描邊寬度等,滿足用戶的個(gè)性化需求。
此外,我們還與中國(guó)電信、中國(guó)聯(lián)通在5G時(shí)代的視頻彩鈴業(yè)務(wù)方面進(jìn)行了深度合作。這里跟大家分享的是我們與聯(lián)通沃音樂合作的DIY視頻制作平臺(tái)。我們與中國(guó)聯(lián)通的合作項(xiàng)目不僅僅是技術(shù)授權(quán),更是Leap社區(qū)整個(gè)創(chuàng)作過程的合作。因?yàn)閷?duì)于中國(guó)聯(lián)通來說,他們需要為其C端用戶和企業(yè)客戶提供視頻彩鈴服務(wù),同時(shí)也需要不斷提供大量?jī)?yōu)質(zhì)視頻模板。一方面,我們?cè)谒麄兊腁PP中部署了視頻渲染能力,包括云端。用戶可以在自己的APP中創(chuàng)建自己的模板化視頻彩鈴。另一方面網(wǎng)站制作,我們的云渲染能力也會(huì)根據(jù)用戶數(shù)據(jù)自動(dòng)生成個(gè)性化定制。視頻內(nèi)容。比如這里有一個(gè)應(yīng)用場(chǎng)景,就是根據(jù)用戶的IP地址推斷出用戶當(dāng)前的地理位置,然后為用戶推送每日天氣預(yù)報(bào)視頻等。
另一個(gè)案例是我們與二次元社區(qū)——的產(chǎn)品合作。在這個(gè)項(xiàng)目之前, 正在與我們的朋友合作開發(fā)一套技術(shù)。我們友商的技術(shù)方案主要是針對(duì)C端用戶制作視頻。 本身就是一個(gè)二次元漫畫創(chuàng)作分享社區(qū)。他希望能讓用戶將平面漫畫變成動(dòng)態(tài)視頻,并使用這項(xiàng)技術(shù)??梢陨蓚€(gè)性化的漫畫內(nèi)容。嗯,我們朋友的C端視頻制作方案比較傳統(tǒng),給用戶的圖片添加轉(zhuǎn)場(chǎng)、濾鏡、字幕,拼湊出一個(gè)視頻邏輯,所以給個(gè)性化視頻創(chuàng)作留下的空間不大。 ,那么它不會(huì)解決客戶的愿望,即為用戶提供創(chuàng)建個(gè)性化,甚至是帶有情節(jié)的動(dòng)畫視頻的能力??蛻粼诮尤胛覀兊募夹g(shù)方案后,為用戶提供了為這個(gè)卡通人物創(chuàng)建個(gè)性化面部表情的能力,以及鏡頭和過渡的整體設(shè)計(jì)、整個(gè)動(dòng)畫場(chǎng)景中元素的動(dòng)畫、太陽的光效,二 次元角色本身的身體動(dòng)畫、面部表情動(dòng)畫、鏡頭之間的過渡,都可以由用戶進(jìn)行個(gè)性化設(shè)置。這樣一來,整體上大大提升了用戶內(nèi)容創(chuàng)作的表現(xiàn)力,打開了整個(gè)想象空間。
3、技術(shù)挑戰(zhàn)與應(yīng)對(duì)
接下來給大家分享一些大家可能感興趣的技術(shù)干貨。
首先網(wǎng)站開發(fā),我想與您分享網(wǎng)絡(luò)時(shí)代技術(shù)發(fā)展帶來的一些機(jī)會(huì)。在這里,我們與您分享我們整個(gè)Web端解決方案的底層技術(shù)支持。每個(gè)人都應(yīng)該熟悉它。說白了就是讓我們可以直接在瀏覽器中調(diào)用,包括這些高性能的渲染能力。最近也很火,我們會(huì)看到很多流媒體解決方案開始帶來一些更高的性能或更強(qiáng)大的功能。
我想和你分享的是。嗯,是的,第 94 個(gè)版本可供用戶使用。它開始向開發(fā)人員開放直接在瀏覽器中直接進(jìn)行硬件解碼的能力。如果你對(duì)網(wǎng)頁端的平面設(shè)計(jì)工具感興趣或者了解它的整個(gè)開發(fā)周期,你應(yīng)該知道,無論是國(guó)外還是國(guó)內(nèi),它們崛起的機(jī)會(huì)之一是其技術(shù)棧已經(jīng)開始向開發(fā)者開放所以,我認(rèn)為我們的電影級(jí)網(wǎng)頁端視頻處理技術(shù),他能否開始商業(yè)化或者是一個(gè)基于工具的產(chǎn)品推向用戶的機(jī)會(huì),在于。
它可能看起來只允許解碼調(diào)用硬件,但它帶來了兩個(gè)好處:第一,它可以讓我們快速完成一些高分辨率的視頻解碼,或者以較低的資源消耗完成視頻解碼;另一個(gè)好處是,如果我們?cè)谒夭牡慕獯a上花費(fèi)的時(shí)間更少,那么在圖片的渲染上會(huì)留給我們更多的時(shí)間,這意味著我們有更多的時(shí)間可以交出,并且可以在術(shù)語上進(jìn)行更復(fù)雜的操作屏幕渲染。
所以在剛才看到的史詩效果圖中,除了模型的創(chuàng)建,還需要為它生成模擬戰(zhàn)斗的傷疤,最后給它上色,還有一些比如景深、燈光效果渲染。假設(shè)有 30 幀,你只有 33 毫秒來渲染每一幀。如果解碼時(shí)間超過十毫秒網(wǎng)站優(yōu)化,那么你只有二十毫秒。但或許可以將解碼時(shí)間壓縮到幾毫秒,你就有更多的時(shí)間美化畫面,為提升畫質(zhì)提供相關(guān)機(jī)會(huì)。
在整體渲染方面,我們遇到的最大問題是如何在準(zhǔn)確渲染和渲染性能之間找到平衡點(diǎn)。我將我們的主要策略抽象為三種主要方法:首先是從實(shí)際場(chǎng)景中優(yōu)先考慮算法決策。這句話聽起來有點(diǎn)像胡說八道,比較抽象。讓我給你舉個(gè)例子。比如我們要渲染一個(gè)3D場(chǎng)景,我們可以想象如果有相關(guān)廠商在做類似的事情,尤其是視頻模板,大部分3D場(chǎng)景視頻中的元素是不需要用戶修改的,所以大部分我們對(duì)這部分元素的操作方法是讓設(shè)計(jì)者提前在3D軟件中預(yù)渲染成視頻素材,然后交付給最終用戶。
那么,當(dāng)你想提升畫面的表現(xiàn)時(shí),你開始思考,我們需要最終用戶能夠在整個(gè) 3D 場(chǎng)景中自定義哪些內(nèi)容?考慮到這個(gè)需求,一般終端用戶對(duì)logo、文案、3D文字會(huì)有自定義需求,包括需要根據(jù)用戶logo生成的3D模型。所以這個(gè)時(shí)候,我們?cè)谧?D渲染引擎的時(shí)候,并沒有優(yōu)先考慮常見的基于點(diǎn)、線、面生成3D模型的3D渲染策略。我們選擇基于 SDF plus 的 3D 渲染引擎。 SDF實(shí)際上是一個(gè)距離場(chǎng)。當(dāng)我們描述一個(gè)物體時(shí),我們可以通過點(diǎn)、線、面來進(jìn)行幾何描述,也可以通過空間中每個(gè)像素點(diǎn)與物體表面之間的距離場(chǎng)來描述3D物體。 我們現(xiàn)在將看到很多創(chuàng)意流程,包括一些比較流行的流程,開始大量使用 3D AI 建模。
我們認(rèn)為這種渲染技術(shù)對(duì)用戶更有價(jià)值,為什么?用戶輸入個(gè)性化的文字,你給他創(chuàng)建一個(gè)3D模型或者他輸入一個(gè)圖片,你給他創(chuàng)建一個(gè)模型,這里的模型的復(fù)雜度是不可預(yù)知的,因?yàn)槟悴恢烙脩魰?huì)輸入什么。但是,如果使用SDF創(chuàng)建3D模型,基本上可以實(shí)現(xiàn)像素級(jí)建模,也就是說用戶可以畫出一個(gè),根據(jù)覆蓋的每個(gè)像素為他生成一個(gè)3D模型。這種情況下,對(duì)于用戶來說,他能生成的內(nèi)容,生成內(nèi)容的方式,可能性都會(huì)大大增加。一方面降低了門檻,另一方面打開了可能性。
二是效果優(yōu)先,針對(duì)不同平臺(tái)提供不同的算法適配。我舉個(gè)簡(jiǎn)單的例子,相信你也有這方面的實(shí)踐。對(duì)我們來說,移動(dòng)端的稀缺資源是,比如端可能有很多內(nèi)存,但是iOS端有非常嚴(yán)格的內(nèi)存政策。如果每一幀占用太多內(nèi)存,會(huì)直接殺死APP。但是在服務(wù)器端,我們可以放開想象,我們可以為服務(wù)器配置大量的內(nèi)存,甚至可以直接將素材存儲(chǔ)在內(nèi)存中。那么這時(shí)候就有了以內(nèi)存換性能,以性能換內(nèi)存的策略。
第三點(diǎn)是要善于使用經(jīng)典的圖形算法。舉個(gè)例子,熟悉圖形的你應(yīng)該知道,我們?cè)谧鯬BR渲染的時(shí)候會(huì)使用SAT渲染策略來實(shí)現(xiàn)動(dòng)態(tài)模糊渲染。如果學(xué)了SAT算法,就知道它會(huì)工作在二維笛卡爾坐標(biāo)系的平面上,那么當(dāng)我們想要實(shí)現(xiàn),比如輻射模糊,就沒有辦法使用SAT策略了。但是如果我們結(jié)合其他經(jīng)典算法,比如笛卡爾坐標(biāo)和極坐標(biāo),我可以做一個(gè)變換,把放射性問題擴(kuò)展成平面問題,那么SAT算法就可以再次工作了。因此,對(duì)經(jīng)典算法的深入理解和綜合應(yīng)用,也是優(yōu)化整體渲染性能的重要手段。
最后,我想和大家分享一下,當(dāng)我們所有的認(rèn)知能力都完成后,接下來我們要考慮的就是減少計(jì)算量。跟大家分享一下我們認(rèn)為對(duì)減少計(jì)算量非常有效的策略:首先,第一個(gè)是材質(zhì)緩存策略。舉個(gè)夸張的例子,我們發(fā)現(xiàn)客戶端渲染的時(shí)候很夸張,有時(shí)候一幀有170多張圖片。圖層涉及渲染,其中有很多 3D 操作和深度混合。如果解碼素材需要很多時(shí)間,那么渲染的時(shí)間真的太少了。因此,我們可以根據(jù)當(dāng)前計(jì)算時(shí)間,包括下一次優(yōu)化時(shí)間,查看需要使用哪些素材,進(jìn)行相關(guān)的預(yù)解碼,將素材緩存起來。
主要目的是減少整體渲染端的計(jì)算量。如果我們要渲染一個(gè),在手機(jī)上預(yù)覽的時(shí)候,我們往往不需要全分辨率渲染。因?yàn)樵陬A(yù)覽編輯過程的實(shí)現(xiàn)中,我可以使用半分辨率,但是如果我想要做好半分辨率,并不是簡(jiǎn)單的對(duì)最終結(jié)果做一個(gè)縮放,這樣不僅會(huì)減少計(jì)算量,而且會(huì)增加渲染量。因?yàn)槌巳直媛输秩荆詈筮€要進(jìn)行縮放渲染。所以我們要做的一件事就是調(diào)整整個(gè)渲染引擎中每個(gè)參數(shù)的分辨率。例如,如果分辨率降低到 50%,我們會(huì)對(duì)每個(gè)參數(shù)做一個(gè)差異,參數(shù)會(huì)縮放 50%。這樣就可以保證從每一個(gè)參數(shù)素材到所有的屏幕尺寸,都可以和分辨率一起調(diào)整。
代理素材策略是減少解碼素材的時(shí)間。在剪輯過程中,如果有大的4K素材需要解碼,同時(shí)壓縮渲染時(shí)間。在這種情況下,我們通常會(huì)在云端為用戶生成低分辨率的素材??赡苌傻牡头直媛仕夭闹挥?20p,但是我們通過代理參數(shù)告訴渲染引擎是4K,保證在整個(gè)參數(shù)和動(dòng)畫中。數(shù)據(jù)正確。通過代理策略,我們可以大大降低高分辨率素材對(duì)整體渲染性能的影響。
最后一個(gè)策略,最無情的是多分辨率模板。當(dāng)設(shè)計(jì)師設(shè)計(jì)全高清或4K模板時(shí),我們會(huì)直接在不同平臺(tái)上為他生成不同的模板。例如,我們將生成 1/2 分辨率和 1/4 分辨率模板。這時(shí)候,我會(huì)把里面的每一個(gè)動(dòng)畫數(shù)據(jù)和素材都進(jìn)行壓縮,直接生成半尺寸或者1/4尺寸的素材和動(dòng)畫數(shù)據(jù)。但是,為了讓設(shè)計(jì)者放心,設(shè)計(jì)者只需要?jiǎng)?chuàng)建一個(gè)高分辨率模板,剩下的多分辨率模板生成任務(wù)交給云端自動(dòng)化處理。
這四種策略在我們的實(shí)踐中被廣泛使用。當(dāng)然,每個(gè)策略在某些地方可能看起來重疊,但它所針對(duì)的場(chǎng)景并不相同。因此,每個(gè)人都可以在自己的業(yè)務(wù)場(chǎng)景中靈活選擇使用哪種策略。