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