技術(shù)社招!揭秘「剪映」技術(shù)團(tuán)隊(duì)如何從0到1打造爆款A(yù)PP?(剪映研發(fā)團(tuán)隊(duì))
8年前,字節(jié)跳動(dòng)誕生在北京錦秋家園的居民樓,如今,我們的產(chǎn)品和服務(wù)覆蓋150個(gè)國(guó)家和地區(qū)。本著“人才在哪里,就把公司開(kāi)到哪里”的理念,我們已在全球設(shè)立了15個(gè)研發(fā)中心。
字節(jié)跳動(dòng)深圳研發(fā)中心2017年成立以來(lái),業(yè)務(wù)發(fā)展迅速,吸引了大批優(yōu)質(zhì)人才。目前,客戶端、多媒體、前后端、測(cè)試、AI Lab、安全與風(fēng)控等多個(gè)團(tuán)隊(duì)入駐深研,深度支持今日頭條、西瓜視頻、抖音、抖音火山版、飛書(shū)、Faceu激萌、輕顏相機(jī)、番茄小說(shuō)等眾多產(chǎn)品和業(yè)務(wù)。
短短幾年中,深研團(tuán)隊(duì)主導(dǎo)打造了多款全新產(chǎn)品,其中就包括2019年推出的「剪映APP」。
作為一款移動(dòng)端視頻剪輯軟件,剪映的出現(xiàn)讓短視頻時(shí)代“人人都可以簡(jiǎn)單幾步搞定特效大片”。上線3個(gè)月即登頂App Store中國(guó)區(qū)免費(fèi)App榜、作為工具類(lèi)應(yīng)用至今仍位列Top10。
如此受歡迎的產(chǎn)品,卻實(shí)實(shí)在在誕生于“火線”——立項(xiàng)到上線,只用了兩個(gè)多月。
01 “火線”上的內(nèi)部創(chuàng)業(yè)
2019年3月中,公司拍板由深圳影像團(tuán)隊(duì)牽頭做這款視頻剪輯新產(chǎn)品,開(kāi)始了字節(jié)跳動(dòng)又一次的內(nèi)部創(chuàng)業(yè)。各方出人出力出資源,開(kāi)工一個(gè)月就開(kāi)發(fā)出內(nèi)部體驗(yàn)版,兩個(gè)月內(nèi)完成發(fā)版,但技術(shù)難題也隨之出現(xiàn)。
由于音視頻剪輯的場(chǎng)景比較復(fù)雜,剪映的技術(shù)框架是為了滿足產(chǎn)品需求而做的全新開(kāi)發(fā)。新的框架意味著一定的未知性——剪映初期的視頻導(dǎo)出失敗率達(dá)到了4%。
這顯然達(dá)不到團(tuán)隊(duì)對(duì)產(chǎn)品的要求,所有人都在反復(fù)試用剪映和同類(lèi)產(chǎn)品,體驗(yàn)功能、定位問(wèn)題。
最終經(jīng)過(guò)我們深入代碼分析,發(fā)現(xiàn)可以采用內(nèi)存復(fù)用,編碼和渲染并行的技術(shù)框架,極大地縮短耗時(shí),在對(duì)比測(cè)試中,領(lǐng)先行業(yè)同類(lèi)產(chǎn)品。
對(duì)于合成成功率低的問(wèn)題,得益于有完善的錯(cuò)誤數(shù)據(jù)統(tǒng)計(jì),我們針對(duì)錯(cuò)誤原因,快速試錯(cuò),迭代了兩個(gè)版本,視頻導(dǎo)出的失敗率從4%下降到了1%。
經(jīng)過(guò)優(yōu)化,剪映在體驗(yàn)上得到了用戶的肯定,與競(jìng)品的測(cè)試比對(duì)中也達(dá)到了top的表現(xiàn)。團(tuán)隊(duì)內(nèi)部試用時(shí)零失敗的情況,在業(yè)界也很難復(fù)現(xiàn)。
視頻導(dǎo)出失敗的case,只是剪映技術(shù)團(tuán)隊(duì)面臨的眾多挑戰(zhàn)之一。
在架構(gòu)設(shè)計(jì)上,如何保證UI狀態(tài)的一致性?怎樣實(shí)現(xiàn)編輯動(dòng)作靈活的 undo&redo?如此多的編輯Action是如何實(shí)現(xiàn)撤銷(xiāo)和恢復(fù)的? 貼紙/文字動(dòng)畫(huà)效果局限/生產(chǎn)困難如何解決… …
這些難題,剪映技術(shù)團(tuán)隊(duì)都一一攻克。其中具有代表性的是「剪同款」功能的實(shí)現(xiàn)。
當(dāng)時(shí)市面上的產(chǎn)品已經(jīng)有類(lèi)似“基于用戶上傳的視頻或照片套用模板來(lái)生成視頻”的方式,但是現(xiàn)成的模板都是PGC制作,用戶的創(chuàng)作自由度非常有限,剪映技術(shù)團(tuán)隊(duì)決定解決這個(gè)問(wèn)題。
團(tuán)隊(duì)快速梳理了技術(shù)難點(diǎn),一一對(duì)應(yīng)找出了解決方法:
剪同款的引擎是基于編輯引擎之上構(gòu)建的,可以保持能力的一致性,這樣就可以讓剪輯的視頻轉(zhuǎn)換成模板。
我們使用了跨平臺(tái)的native技術(shù),來(lái)實(shí)現(xiàn)剪同款模板協(xié)議的解析和配置,解決雙端一致的問(wèn)題。
另外,剪映本身的剪輯功能和格式的迭代速度很快,如何向前兼容是一個(gè)大挑戰(zhàn)。
我們做了一套非常復(fù)雜的、自動(dòng)化的基礎(chǔ)設(shè)施,能夠自動(dòng)地使用一系列的模板測(cè)試用例來(lái)生成視頻,會(huì)通過(guò)CV技術(shù)來(lái)判斷是否有渲染錯(cuò)誤、兼容性問(wèn)題或者黑屏/花屏,這樣的話每一次代碼更新產(chǎn)生的問(wèn)題都可以快速地回歸。
「剪同款」功能一經(jīng)推出就大受歡迎,用戶可以更深入地參與視頻制作過(guò)程,視頻模板庫(kù)也豐富多樣,整體的使用和傳播數(shù)據(jù)都有很大提升。
02 用創(chuàng)新和細(xì)節(jié)推動(dòng)產(chǎn)品
從一開(kāi)始,剪映技術(shù)團(tuán)隊(duì)就非常重視用戶的即時(shí)體驗(yàn)——作為小白自學(xué)視頻剪輯、體驗(yàn)產(chǎn)品;直接和用戶聊手感和bug,跟PM團(tuán)隊(duì)主動(dòng)交流。
由于許多抖音創(chuàng)作者和用戶迅速成為了剪映的“自來(lái)水”,巨大的用戶基數(shù)、相對(duì)復(fù)雜的機(jī)型和運(yùn)營(yíng)環(huán)境也帶來(lái)了“幸福的煩惱”,團(tuán)隊(duì)首先要解決低端機(jī)的性能優(yōu)化問(wèn)題。
在不同性能和價(jià)位的手機(jī)上,想做到像專業(yè)軟件一樣全面支持視頻剪輯,這非常有挑戰(zhàn),我們針對(duì)低端機(jī)型做了大量的優(yōu)化。
首先是剪映中有對(duì)機(jī)型的性能、幀率、內(nèi)存等指標(biāo)進(jìn)行分析和評(píng)估的組件,根據(jù)評(píng)估結(jié)果和打分,目前機(jī)型打分平臺(tái)沉淀全球數(shù)萬(wàn)款機(jī)型,會(huì)定制針對(duì)機(jī)器的性能調(diào)優(yōu)策略。
在這樣的基礎(chǔ)設(shè)施的支撐下,剪映很快在一個(gè)月之內(nèi)解決了十幾個(gè)可能卡頓的使用場(chǎng)景。
此外,剪映技術(shù)團(tuán)隊(duì)在跨平臺(tái)、多端上的提前布局,也走在了產(chǎn)品的前面,流暢的使用體驗(yàn)獲得用戶的一致好評(píng)。
針對(duì)視頻清晰度,剪映也有持續(xù)的技術(shù)投入和突破,上線僅半年多的時(shí)間就支持4K視頻的導(dǎo)出。
4K視頻的支持對(duì)剪映的性能挑戰(zhàn)非常大,無(wú)論是編解碼的速度、內(nèi)存或者效果渲染的壓力都增加了很多倍。技術(shù)團(tuán)隊(duì)針對(duì)這些挑戰(zhàn)在底層做了很多調(diào)優(yōu),用不到一年的時(shí)間將4K視頻導(dǎo)出的耗時(shí)做到行業(yè)最優(yōu),用戶體驗(yàn)明顯提升。
這是剪映從一個(gè)idea到成品的“火線”風(fēng)格的延續(xù),也是剪映技術(shù)團(tuán)隊(duì)以技術(shù)推動(dòng)產(chǎn)品不斷發(fā)展的縮影。
在剪映項(xiàng)目啟動(dòng)之前,團(tuán)隊(duì)就針對(duì)編輯場(chǎng)景進(jìn)行非編架構(gòu)的重構(gòu),讓畫(huà)中畫(huà)、貼紙等需求在架構(gòu)上得到支持,也給剪映將來(lái)跨多端產(chǎn)品的演進(jìn)做好了技術(shù)鋪墊。
得益于重構(gòu)后編輯框架的靈活和可擴(kuò)展性,在半個(gè)月內(nèi)就完成了需求的落地。
剪映的技術(shù)架構(gòu)和能力,經(jīng)過(guò)字節(jié)跳動(dòng)內(nèi)產(chǎn)品矩陣的驗(yàn)證,無(wú)論效率和質(zhì)量,都在行業(yè)內(nèi)處于領(lǐng)先的位置。
類(lèi)似的例子比比皆是:剪映率先支持了高清視頻,最高支持100倍的流暢播放;率先支持了曲線變速等高階變速功能;剪映還是首款A(yù)ndroid端支持矢量字體的APP… …
剪映中的「花字」也是讓用戶眼前一亮的功能,這源于團(tuán)隊(duì)在觀看綜藝節(jié)目時(shí)冒出的靈感——“大量花字的出現(xiàn),會(huì)讓視頻的表達(dá)非常生動(dòng),而當(dāng)時(shí)市面上沒(méi)有任何一款產(chǎn)品有支持花字的能力?!?/p>
于是,團(tuán)隊(duì)對(duì)花字的方案進(jìn)行了調(diào)查,發(fā)現(xiàn)制作花字需要掌握非常專業(yè)的設(shè)計(jì)軟件,于是這又成為了研發(fā)團(tuán)隊(duì)渴望突破的技術(shù)難點(diǎn)。技術(shù)同學(xué)火力全開(kāi),刷了上千個(gè)抖音和綜藝視頻、收集了海量的花字素材,和設(shè)計(jì)師反復(fù)探討實(shí)驗(yàn),確認(rèn)了花字的效果如何定義。
字體的渲染是一個(gè)消耗很多的功能,經(jīng)過(guò)持續(xù)的投入和試驗(yàn),我們成功研發(fā)了矢量文字,可以做到在視頻中縮放幾十倍依然保持清晰且占用內(nèi)存更小,并支持基于矢量文字的特效字。
而且剪映還配有一個(gè)花字設(shè)計(jì)工具,設(shè)計(jì)師可以像使用photoshop一樣來(lái)設(shè)計(jì)樣式。
花字功能無(wú)論是從最終的呈現(xiàn)效果,還是從生產(chǎn)效率都做到了行業(yè)top,剪映也成為首款雙端支持PC級(jí)綜藝字、動(dòng)畫(huà)字的App。
03 做剪映,沉淀了太多方法論
為了讓交互更便捷、平衡技術(shù)和用戶體驗(yàn),剪映技術(shù)團(tuán)隊(duì)在初期“激進(jìn)”地產(chǎn)出產(chǎn)品和各項(xiàng)功能,拿到基于大量用戶的真實(shí)反饋后,又“耐心”地對(duì)后續(xù)功能提出更高的要求,細(xì)致打磨。
剪映Server團(tuán)隊(duì)面對(duì)高并發(fā)場(chǎng)景,同時(shí)承載剪映、抖音等多產(chǎn)品線的業(yè)務(wù)場(chǎng)景,峰值達(dá)到5w qps,對(duì)系統(tǒng)架構(gòu)的設(shè)計(jì)有很高的要求。
還有我們的跨地域服務(wù)面臨的安全合規(guī)、隱私政策,多區(qū)域的數(shù)據(jù)同步,跨機(jī)房調(diào)用等等,都是足夠刺激又很需要細(xì)致的挑戰(zhàn)。
除了在技術(shù)上做到行業(yè)領(lǐng)先,對(duì)于如何發(fā)掘技術(shù)上的可優(yōu)化點(diǎn)、持續(xù)領(lǐng)先并推動(dòng)業(yè)務(wù)發(fā)展,剪映技術(shù)團(tuán)隊(duì)有著一套明確的方法論——
- 數(shù)據(jù)導(dǎo)向,發(fā)現(xiàn)和解決問(wèn)題都以數(shù)據(jù)為引導(dǎo),怎么解決、解決到什么程度
- 技術(shù)上重視用戶體驗(yàn)和性能優(yōu)化,各項(xiàng)技術(shù)指標(biāo)打磨到業(yè)界同類(lèi)產(chǎn)品top
- 開(kāi)放方案選型,每個(gè)人都有發(fā)揮的空間、都有機(jī)會(huì)參與并影響項(xiàng)目的設(shè)計(jì)和技術(shù)的選型
- 不設(shè)邊界,出現(xiàn)了問(wèn)題,各團(tuán)隊(duì)之間緊密配合,不會(huì)計(jì)較問(wèn)題是否出在自己的模塊
- 主題化分享,每雙月一個(gè)大topic和相關(guān)子topic,自由認(rèn)領(lǐng)、深入學(xué)習(xí)調(diào)研,促進(jìn)技術(shù)積累
- 技術(shù)方案評(píng)審,針對(duì)需求成立評(píng)審委員會(huì)、拉取合作團(tuán)隊(duì)共同評(píng)估,提前規(guī)避潛在問(wèn)題,提升方案/架構(gòu)設(shè)計(jì)能力… …
技術(shù)能力和技術(shù)思維并重的氛圍里,參與開(kāi)發(fā)的每個(gè)人都和剪映一起高速成長(zhǎng)。
“因?yàn)橐苿?dòng)端的視頻非編是一個(gè)非常新的領(lǐng)域,過(guò)程中遇到的所有要問(wèn)題幾乎都是技術(shù)難點(diǎn)。產(chǎn)品的不斷迭代會(huì)推動(dòng)著我們探索能力的邊界,技術(shù)上的突破也會(huì)驅(qū)動(dòng)產(chǎn)品體驗(yàn)達(dá)到更高的標(biāo)準(zhǔn)。”
剪映技術(shù)團(tuán)隊(duì)的許立陽(yáng)同學(xué)加入時(shí)剛畢業(yè)不久,憑著對(duì)視頻產(chǎn)品和技術(shù)的熱愛(ài),一頭扎進(jìn)「花字」這個(gè)業(yè)內(nèi)沒(méi)人做出來(lái)的功能上。一面刷海量綜藝搜集和整理花字呈現(xiàn)的可能性,一面全力補(bǔ)充基礎(chǔ)知識(shí),還要學(xué)習(xí)文字渲染的解決方案、考慮設(shè)計(jì)師如何所見(jiàn)即所得的設(shè)計(jì)花字……和團(tuán)隊(duì)反復(fù)討論、實(shí)驗(yàn)方案后,幾乎是“死磕”出了花字效果。
但效果出來(lái)了還不夠,我們發(fā)現(xiàn)花字在手機(jī)上很卡,性能和兼容性都有問(wèn)題。
就反復(fù)排查、嘗試各種黑科技,最終做到了用戶體驗(yàn)到的流暢的花字效果。
經(jīng)歷過(guò)剪映的花字項(xiàng)目,立陽(yáng)已經(jīng)能獨(dú)立cover很多高難度的技術(shù)攻堅(jiān),后來(lái)繼續(xù)負(fù)責(zé)了很多有趣、有挑戰(zhàn)的需求。
像這樣的同學(xué),在我們剪映技術(shù)團(tuán)隊(duì)里非常多。
加入我們,一起創(chuàng)造
關(guān)于「剪映」背后的技術(shù)團(tuán)隊(duì)
音視頻技術(shù)團(tuán)隊(duì),是業(yè)界目前涵蓋業(yè)務(wù)最廣,技術(shù)積累最深的音視頻技術(shù)團(tuán)隊(duì),團(tuán)隊(duì)分布在北上深杭四地。我們涵蓋的技術(shù)領(lǐng)域包括音視頻的錄制編輯渲染合成,創(chuàng)作和消費(fèi)端的圖像視頻增強(qiáng)算法、高性能工程優(yōu)化。從移動(dòng)端、云端、web端到桌面端,打造了一套強(qiáng)大的跨平臺(tái)SDK,滿足各種業(yè)務(wù)場(chǎng)景的技術(shù)需求。
目前我們支持的業(yè)務(wù)包括剪映、抖音、西瓜、抖音火山、輕顏等大大小小30 的業(yè)務(wù),業(yè)務(wù)類(lèi)型涵蓋短視頻剪輯工具,短視頻平臺(tái)級(jí)應(yīng)用,拍照類(lèi)應(yīng)用,社交應(yīng)用,新聞資訊,教育等。
剪映客戶端團(tuán)隊(duì)跨深圳、廣州兩地,覆蓋移動(dòng)端(Android,iOS)和桌面端。
從分工上,分別支持剪映編輯模塊,剪映社區(qū),支撐基礎(chǔ)技術(shù)優(yōu)化等;從能力上,對(duì)技術(shù)棧要求全面,從UI的用戶體驗(yàn)到具體的渲染優(yōu)化,都依賴客戶端工程師推進(jìn)和解決。和產(chǎn)品、設(shè)計(jì)、多媒體特效團(tuán)隊(duì)緊密配合,快速敏捷的迭代,讓用戶體驗(yàn)到有驚喜感的剪輯產(chǎn)品。
剪映server團(tuán)隊(duì)base深圳,主要致力于剪映社區(qū)、教程、云能力的研發(fā)。在社區(qū)發(fā)展的過(guò)程中,抽象出很多關(guān)鍵模塊,形成“同款”中臺(tái)方案,提升了多款A(yù)PP接入的效率。在應(yīng)對(duì)互聯(lián)網(wǎng)海量訪問(wèn)的架構(gòu)設(shè)計(jì)、開(kāi)發(fā)上,團(tuán)隊(duì)積累了豐富的經(jīng)驗(yàn)。團(tuán)隊(duì)技術(shù)棧以線上服務(wù)golang,離線服務(wù)python為主,擁抱新技術(shù),持續(xù)學(xué)習(xí),不斷成長(zhǎng)。
多媒體特效團(tuán)隊(duì)是互聯(lián)網(wǎng)行業(yè)最具影響力的圖形圖像技術(shù)團(tuán)隊(duì)之一,團(tuán)隊(duì)分布在北京、上海、深圳、杭州和美國(guó)硅谷等多地。技術(shù)涵蓋了包括圖形引擎,圖像處理,計(jì)算機(jī)視覺(jué),物理仿真,特效創(chuàng)作工具等領(lǐng)域。產(chǎn)品功能包括視頻特效、AR濾鏡、美顏美妝、3D動(dòng)畫(huà)等。團(tuán)隊(duì)以“成為公司的數(shù)字化創(chuàng)意引擎”為愿景去建設(shè),“通過(guò)特效開(kāi)放平臺(tái)連接虛擬和現(xiàn)實(shí)”為使命。
目前支持剪映、抖音、今日頭條、西瓜、輕顏、懂車(chē)帝、飛書(shū)等大大小小近40個(gè)業(yè)務(wù)線,涉及工具、長(zhǎng)/短視頻、直播、資訊、拍照、社交、教育、汽車(chē)、房產(chǎn)、企業(yè)辦公、視頻會(huì)議等不同類(lèi)型的應(yīng)用。
字節(jié)跳動(dòng)2021校園招聘已開(kāi)啟
↓點(diǎn)擊登錄校招官網(wǎng)
投遞校招研發(fā)職位
期待在深圳與你相遇~!
↓查看更多急招崗位