1. vivo 短視頻體驗與成本優(yōu)化實踐

        共 9694字,需瀏覽 20分鐘

         ·

        2024-04-11 12:31

        作者:來自 vivo 互聯網短視頻研發(fā)團隊


        本文根據蔡創(chuàng)業(yè)、馬運杰老師在“2023 vivo開發(fā)者大會"現場演講內容整理而成。


        在線點播場景,播放體驗提升與成本優(yōu)化是同等重要的兩件事,并在部分場景體驗優(yōu)化與成本優(yōu)化存在一定的互斥關系。vivo短視頻深入分析播放鏈路的每個環(huán)節(jié)、并結合大數據統計,探索出了多種的體驗優(yōu)化策略;同時針對成本優(yōu)化,上線了轉碼、PCDN、共享閑時帶寬等多種策略用于降低帶寬成本?;诩夹g優(yōu)化和業(yè)務發(fā)展的要求,vivo短視頻還上線了系統性的監(jiān)控體系,對播放體驗、帶寬成本進行了多維度的監(jiān)控。


        一、業(yè)務介紹


        vivo短視頻項目的業(yè)務架構,從鏈路上來說,主要包括:

        • 內容生產,主要包括拍攝、導入、剪輯以及作品上傳

        • 視頻處理,包括畫質增強、轉碼、壓縮等

        • 分發(fā)

        • 消費,包括預加載、視頻播放


        除此之外,我們還設計了若干個子系統,其中比較重要的有:

        • 日志收集,主要用于收集用戶主動反饋問題。

        • 監(jiān)控統計,主要用于監(jiān)控線上核心指標,為后續(xù)優(yōu)化提供方向。

        • AB測試,主要用于新功能驗證。

        技術架構的最終目的是為了給用戶呈現一個有著良好體驗的產品,同時又兼顧到開發(fā)、運營成本。通過我們產品內置的意見反饋、大數據統計以及用戶調研,我們發(fā)現/用戶對vivo短視頻的反饋主要集中在播放卡頓、不流暢、畫質不清晰上面,從成本方面,我們的主要壓力來自于CDN。


        這些也就是本文的主題,即:如何做到既要播放體驗好,又要業(yè)務成本低。接下來,將分別介紹一些在播放流暢度以及成本優(yōu)化相關的探索和實踐。


        11e64efcf137b2c2a45faa53a0f65452.webp


        二、體驗優(yōu)化


        2.1 播放鏈路拆解


        對于在線點播場景來說,影響用戶體驗的環(huán)節(jié)主要在視頻開播以及播放過程。首先,在起播階段,應盡力做到首幀零耗時,當用戶觀看視頻時應直接展示視頻畫面而不是出現等待過程。


        我們對開播過程做了拆解和監(jiān)控,在無任何優(yōu)化策略的場景下,網絡連接環(huán)節(jié)耗時占比30%,下載環(huán)節(jié)占比15%, 解封裝、解復用環(huán)節(jié)占比15%。


        其次,在視頻播放過程中,應做到流暢播放不卡頓,這就需要合理的預加載策略、碼率控制以及下載策略。


        通過以上的分析,確定了我們4個重點優(yōu)化方向

        • 建連優(yōu)化,通過連接復用、?;畹确绞綔p少在連接環(huán)節(jié)的耗時

        • 分片下載,通過優(yōu)化下載架構提升下載速度以及成功率

        • 預渲染,把耗時的解封裝、解復用、解碼等環(huán)節(jié)前置

        • 數據預加載,通過預加載減少在下載環(huán)節(jié)的耗時

        在此基礎上,我們上線了數據監(jiān)控體系,對開播性能、優(yōu)化策略、視頻基礎信息、畫質、帶寬利用率等方面進行了詳細的監(jiān)控。


        cdfacdcff6d7de9e69b838c496baba08.webp


        2.2 建連優(yōu)化


        通過以下4個策略來降低建連環(huán)節(jié)的耗時:

        • 在應用冷啟動以及視頻播放時,通過連接復用,減少了DNS解析、SSL以及TCP連接環(huán)節(jié)的耗時。

        • 在視頻播放過程中,用戶可能因為某些原因暫停視頻,比如把應用切到后臺,幾分鐘后再打開 應用,這種情況下可能出現連接被斷開,當恢復播放時需要重新建連,從而導致播放卡頓的問題。通過連接?;?,可確保再次播放時視頻快速下載、快速 開播。

        • 傳統的local dns可能會出現解析DNS劫持、解析緩慢等問題,通過http dns,可有效應對DNS劫持以及解析緩慢的問題,為了應對復雜多變的網絡環(huán)境,我們還通過在線配置的方式,支持多種dns解析以及降級策略。

        • DNS解析失敗時,通過服務端下發(fā)的IP實現直連,從而提升連接成功率。


        以上就是我們在網絡連接環(huán)節(jié)的一些優(yōu)化策略,下面介紹我們在視頻下載環(huán)節(jié)的優(yōu)化。


        8074900954b934291e6303eb7a66cb48.webp


        2.3 分片下載


        為了實現預加載,即在視頻播放之前把在線視頻提前下載到本地,我們在播放器和CDN直接增加了一個本地代理的服務,播放的網絡請求都由本地代理服務響應,本地代理服務再向CDN發(fā)起請求。在弱網下測試,我們發(fā)現卡頓情況比較嚴重,主要是存在不必要的網速競爭,并且常規(guī)單線程下載效率低于多線程并發(fā)下載。為此,我們通過分析協議以及多次實驗,最終確定了全新的下載方式,即首個視頻起播時使用單線程,后續(xù)的視頻下載以及預加載都通過多線程分片請求完成。


        同時,把播放器 與本地代理之間的socket通信方式修改為直連,避免了socket中不必要的讀寫緩沖區(qū)浪費。通過這樣的調整,首幀耗時降低3.8%,播放失敗率下降9%;并且還具備了播放過程中實時切換cdn的能力,即在首次開播時使用性能較好的標準cdn,在緩存較充足時切換為低成本的cdn。


        dcd850cfeecc15a4e204a41d45846216.webp



        2.4 預渲染


        通過以下優(yōu)化策略提升預渲染效果:

        • 應用冷起后,首個視頻的開播體驗對用戶的后續(xù)消費有著非常重要的影響,為了提升該的播放體驗,在應用啟動時預創(chuàng)建H265以及H264對應的codec實例,在開播環(huán)節(jié)直接使用預創(chuàng)建的解碼器,開播耗時可降低50ms左右

        • 播放器的創(chuàng)建環(huán)節(jié)涉及到較多的流程,比較耗時;另外,常規(guī)的每次播放視頻都創(chuàng)建一個播放器對象的方式,容易出現因播放器對象泄漏導致的OOM、ANR甚至播放失敗?;谶@兩個問題,我們創(chuàng)建了全局復用的播放資源池,每次視頻播放時都從資源池中直接獲取已經創(chuàng)建好的播放器對象,通過該策略,可有效的降低播放器創(chuàng)建耗時,并且徹底解決了播放器實例泄漏問題,對系統穩(wěn)定性以及播放成功率都有明顯的改善。

        • 前面我們介紹了預加載策略,即在視頻播放之前提前下載部分數據到本地,視頻播放時直接播放本地準備好的緩存,開播速度較優(yōu)化前有明顯的提升;但本地視頻開播仍需要嗅探、解封裝、解碼這些環(huán)節(jié),開播耗時仍存在優(yōu)化空間。因此,我們基于播放器資源池,使用另一個空閑的播放器對象來提前完成下一個即將播放的視頻的嗅探、解封裝、解碼過程,通過這個策略,首幀耗時可降低到50ms以內。


        89275efe35b1a89ca2efa4d034333de8.webp


        2.5 預加載策略


        首先介紹的是固定大小的預加載策略:視頻播放時,把后續(xù)5個視頻添加到緩存待下載隊列,每個視頻使用固定的預加載大小,當前視頻的緩存處于高水位時,開始下載緩存隊列中視頻,當前視頻緩存處于低水位即有可能即將發(fā)生卡頓時,停止下載緩存隊列中的視頻。


        這個方案整體實現比較簡單,但存在兩個問題

        • 預加載大小是固定的,未能與視頻碼率、時長關聯,當視頻碼率、時長發(fā)生變化時,可能會出現緩存不足或者緩存浪費。

        • 對于一條用戶會重度消費的視頻,應提升預加載大小,從而提升用戶在播放過程中的流暢度。


        為了解決以上兩個問題,我們上線了動態(tài)預加載策略。


        6c29c7cd813f064f0a208460f073c5dd.webp


        動態(tài)預加載就是在固定預加載的基礎上,做了如下調整:

        • 緩存分級,把固定預加載策略中的單一緩存調整為3個不同優(yōu)先級的緩存,優(yōu)先級高的緩存較小,優(yōu)先下載,優(yōu)先級較低的緩存較大,下載優(yōu)先級較低;一級緩存下載結束后開始下載二級緩存,二級緩存下載完成后再下載三級緩存。

        • 緩存大小不再固定,修改為根據視頻時長和預加載時長動態(tài)計算當用戶快速滑動時,一般情況下會命中一級緩存,確保視頻可以順利開播;當用戶在列表中重度消費時,后續(xù)的視頻將有充足的時間完成三級緩存的下載。


        動態(tài)預加載策略上線后,首幀耗時降低了2.3%,卡頓率降低了19.5%,當然,這個策略也存在的明顯的問題,即體驗提升了,但帶寬成本也提升了。我們需要思考,如何在不增加成本的前提下提升體驗。


        9361ccea0a9bcafd9681d99dc1e19bf0.webp


        我們來看一個示例:在一個視頻列表中,有些視頻用戶喜歡觀看,完播率較高,有些視頻用戶不感興趣,會快速滑過。


        也就是說,只有深度消費的視頻,才真正的需要二級和三級緩存,快滑的視頻能快速開播即可?;谶@樣的一個普遍性的案例,我們結合視頻的觀看時長調整了預加載策略。


        現在介紹的是智能預加載策略,整體流程如下:

        • 首先,在云端基于視頻基礎特征比如碼率、時長、清晰度,網絡以及時段、歷史行為等特征,使用深度神經網絡創(chuàng)建、訓練模型,用于預測一個視頻用戶會深度消費還是快速滑過。

        • 其次,模型導出、轉換之后,部署在客戶端,在視頻開播之前預測消費深度。

        • 最后,播放器仍保留之前的一級緩存,并作為最高優(yōu)先級進行下載;所有的一級緩存都下載完成后,根據預測的消費深度調整二級緩存的大小,如果該條視頻會重度消費,則開啟二級緩存,否則放棄二級緩存。


        這個方案目前還在實驗中,后續(xù)我們也將持續(xù)探索機器學習在播放上的其他應用。


        9a433f4e91ac5b0bde18c1f2891929a4.webp


        體驗優(yōu)化的效果需要被準確、客觀的衡量,并且能準確反映用戶的真實體驗。


        在起播環(huán)節(jié),我們設計了兩個P0指標,即首幀耗時和失敗率,同時,我們也設計了若干個p1指標,包括緩存大小、緩存命中率、預渲染命中率,下載速度等,這些指標的波動直接會影響到P0指標。


        在視頻播放環(huán)節(jié),我們設計了卡頓率、卡頓時長以及seek卡頓等P0指標,同時,設計了百秒卡頓時長、百秒卡頓次數、緩存利用率等p1指標作為對P0指標的補充。


        基于以上指標以及視頻基礎信息、預加載預渲染策略信息,我們設計并上線了分層監(jiān)控系統,自上往下共分為4個層級

        • P0指標 包括開播耗時、卡頓率等,這些是我們最為關注的核心指標

        • P1指標 作為對P0指標拆解和補充

        • 策略指標 括預加載開啟率、命中率、預渲染開啟率、命中率,這兩個策略對播放體驗的影響比較明顯

        • 最后一層是視頻基礎信息,包括碼率、時長、畫質分等,這些指標也會影響到核心性能指標

        e70492ac5dde3f6c9c076f1d515aff28.webp


        三、成本優(yōu)化


        前面介紹了我們短視頻在播放體驗方面所做的一些努力,經過前述的這些優(yōu)化,目前我們短視頻的播放流暢度已經達到行業(yè)內的一流水平。而隨著業(yè)務的不斷發(fā)展,播放的成本也隨之水漲船高,成為業(yè)務必須要應對處理的首要問題,接下來將和大家分享下我們在播放成本優(yōu)化方面的一些思考及實踐方案。


        3.1 成本拆解


        首先,我們先了解下播放成本包含了哪些成本。它主要是由CDN成本、存儲成本以及進行轉碼壓縮等所需要的計算成本組成,而這里面CDN成本占了總成本的80%左右,是最大的一個成本來源,所以,接下來我們的分享主要是圍繞如何降低CDN成本展開。


        要知道怎么進行CDN成本的降低,就需要了解哪些是影響CDN成本的重要因素。如下圖所示:


        d2c097cb02d5dc69a67d198731e5d025.webp


        • 第一層拆解,CDN成本 = 單價x用量,這個相信大家都能很好理解。

        • 第二層的拆解,正常情況下,用量=用戶實際播放的視頻時長乘以視頻的碼率,而前面我們也介紹過,為了提升視頻播放的起播速度,降低播放過程中的卡頓率,我們會對視頻進行預加載及預緩沖,那這部分量可能最后用戶并沒有產生播放行為,也就造成了流量的浪費。因此我們引出了流量利用率的概念,在后續(xù)還會詳細介紹。這里我們需要知道的是CDN實際計費的用量=用戶播放的時長x碼率除以流量利用率。

        那現在有4個最基礎的因素會影響成本,分別是單價、時長、碼率、流量利用率,其中時長是業(yè)務追求的增長目標,無法用以降本,因此其他三個因素就成了我們重點 優(yōu)化的方向 ,它們分別是。

        • 尋找方案降低單價

        • 對視頻碼率進行極致壓縮

        • 對利用率進行治理提升流量利用率


        在正式介紹我們的降本方案之前,我們還需要先思考一個問題: 成本的降低往往帶來的是服務質量的降低,我們需要如何才能在保證播放體驗的同時,降低播放成本,也就是大家經常討論的,如何做到體驗與成本的非零和博弈。


        3.2 單價降低


        本小節(jié)將為大家介紹我們的第一個降本方向,CDN單價的降低。


        3.2.1 引入PCDN


        我們的第一個方案是引入單價更低的PCDN技術,PCDN是目前一種新興的內容分發(fā)網絡,其主要是利用路由器、小盒子等廉價的邊緣設備代替標準CDN的邊緣節(jié)點,由于接入設備及接入網絡更加廉價,故而成本相對于標準CDN,要低很多。


        其網絡架構如下圖所示,APP通過SDK訪問PCDN的邊緣節(jié)點,如果內容熱度值低,PCDN節(jié)點中沒有該視頻的緩存,則返回302狀態(tài)碼給到客戶端,客戶端再去訪問標準CDN獲取資源,當視頻熱度達到一定閾值時,PCDN會去標準CDN上回源獲取對應的視頻資源向客戶端提供服務。


        939f72fc23795f5eab0e73aa8bae0e76.webp


        從這里我們可以看到,PCDN的節(jié)點性能相比標準CDN更差,而訪問時會有一定幾率進行302跳轉,增加了鏈路的耗時,所以必然會對視頻播放時的起播速度和卡頓率造成較大的影響。


        對此,我們制定了多個優(yōu)化措施,來降低播放體驗的受損情況,在成本和體驗之間進行平衡。


        (1)播放器策略優(yōu)化


        64d2d66a97d9b2d6b018250bbb119227.webp


        第一個優(yōu)化點是通過播放緩沖水位去控制是否走PCDN,在視頻起播時使用高性能的標準CDN進行分片下載,而只有當前視頻的緩沖數據達到閾值后,才使用PCDN進行下載,利用緩沖視頻的時長,可以有效抵消PCDN的鏈路耗時增加。

        第二個優(yōu)化點是,在視頻起播階段發(fā)送1字節(jié)的探測包到PCDN節(jié)點,以此來確定PCDN節(jié)點上是否存在對應的視頻內容,不存在時則后續(xù)分片都從標準CDN拉取,存在的話后續(xù)再走PCDN,這樣可以大大減少302跳轉發(fā)生的概率。


        經過以上兩個優(yōu)化后,引入PCDN對我們的播放體驗已基本不會產生負面影響了。以此,我們達到了保證播放體驗的同時,降低了CDN成本的目的。


        (2)業(yè)務策略優(yōu)化


        df19e636a7ba3e83762f0719ec727484.webp


        由于PCDN節(jié)點服務的主要是熱點視頻,因此我們對熱點分發(fā)的場景進行了梳理,對這些場景用到的視頻提前預熱到邊緣節(jié)點。由于做了預熱,PCDN節(jié)點提前緩存了相關視頻,出現302跳轉的概率進一步減少,因此我們可以適當降低緩沖水位的閾值,提前請求到PCDN節(jié)點。基于此方案,我們做了相關的A/B實驗,實驗的結果是,我們在保證QoE不變的情況下,提升了PCDN的分享率,即,會有更多的流量走到PCDN節(jié)點上,進一步降低了CDN成本。


        當前我們PCDN分享率在46%左右,在探測成功后,只有1%以內的流量會出現302跳轉,基本可以忽略不計。通過線上長期實驗組的觀測,卡頓率和起播耗時上下波動,無顯著負向。


        以上是我們進行單價降低的第一個方案,接入PCDN,接下來我們看下另外一個方案。


        3.2.2 共享閑時帶寬


        行業(yè)內CDN計費的方式有多種,包括流量計費,峰值帶寬計費等,對于峰值帶寬計費,是以每天的帶寬最高點作為計費值的,這種計費方式,對于持續(xù)穩(wěn)定的流量會更加合適。而我們短視頻是一個用戶實時消費視頻的應用,訪問熱度會有明顯的波峰和波谷,比如中午大家休息的時候以及下班的時候會有更多的時間去看視頻,而夜里睡覺時,業(yè)務的流量則相對較低。正常情況下我們CDN的帶寬波形如下圖所示,可以看到閑時我們的帶寬是很低的,造成了很大的浪費。


        6c5cd6ef56e714d66d7be9ef97a326e3.webp


        針對此種情況,我們和公司內其他業(yè)務進行合作,引入了他們的流量進行填谷,共享了我們的閑時帶寬??梢钥吹教罟群?,藍色區(qū)域的比重明顯增加了很多,其他業(yè)務會針對這部分流量進行成本分擔,因此相當于降低了我們的成本單價。通過上述的PCDN及共享閑時帶寬,CDN的單價得到了大幅的降低,從而有效節(jié)省了CDN成本,是我們進行降本的重要手段。


        3.3 極致壓縮


        接下來,是我們降本的第二個方向,對視頻進行極致的壓縮從而降低視頻的碼率。


        我們當下遇到的問題是:一個視頻的清晰度是和碼率強相關的,而為了達到相同的清晰度,不同內容場景的視頻所需的碼率是不一樣的。


        先前,為了保證用戶的播放體驗,減少低質視頻的出現,我們設置的碼率標準較高,導致很多視頻沒有得到有效的壓縮。


        在解決這些問題時,我們面臨著這樣幾個困難

        • 第一是內容庫中有千萬量級的視頻內容,內容量非常大;

        • 第二是這些視頻場景非常復雜,千變萬化;

        • 第三則是這些原始視頻的質量也是參差不齊的。


        為了能夠在這樣的情況下進行成本優(yōu)化,我們需要根據視頻的內容特征,自適應調整編碼參數,在保證視頻清晰度的前提下,對視頻進行極致壓縮。


        接下來,來看下我們是如何做的。


        00a499f5bdbfaf35d48c7d7d2bfdbccd.webp


        首先我們基于神經網絡,自研了一套內容自適應編碼算法。算法模型的訓練過程如下:首先第一步我們會根據內容庫中的場景標簽,從內容庫中收集足夠大視頻數據集作為模型的訓練數據。


        然后對訓練集中的視頻進行不同比例的壓縮轉碼作為Ground Truth,再對壓縮后的視頻提取特征,這些特征包括視頻的復雜度特征、碼率信息、畫質特征、碼流特征等;最后利用上述特征,進行神經網絡擬合訓練,得到視頻質量與壓縮率的關系模型,該模型可以預測壓縮比例和視頻壓縮質量之間的對應關系曲線。


        304ac61a7bea295e0b9dd891719ecd03.webp


        上圖展示的是我們模型的預測效果,白色弧線是視頻在經過不同比例壓縮后得到的VMAF曲線,是實際的Ground Truth,而藍色曲線則是我們模型的預測曲線,可以看到預測曲線和Ground Truth非常接近。于是,我們便可以通過預測曲線,在保證清晰度一致的情況下,確定不同視頻需要的編碼參數,達到內容自適應編碼的目的。


        最后再來看下我們極致壓縮的完整流程


        ef7233441c9f44fb7af3c8e5f7a8c0a5.webp


        • 首先第一步是對視頻進行前置增強處理,這一步處理的目的是提升原始視頻的畫質,從而可以抵消一部分視頻編碼帶來的損傷,另外去除噪聲等退化也有利于壓縮過程中降低視頻的碼率。

        • 在經過增強修復后,需要對視頻進行場景劃分,一個視頻可能包含多個場景,這些場景所需要的編碼參數也不一樣,通常我們稱之為Per-title分場景編碼,更細粒度的選擇不同的編碼參數對視頻進行壓縮。

        • 第三步就是對每一個場景的視頻提取視頻特征,通過我們的自適應模型決策出最佳的編碼參數,進行編碼合成,最后得到輸出視頻。


        通過這幾步的處理,我們的壓縮率相比之前有了大幅度的降低,通過線上的數據統計,我們的平均壓縮率從60%降低到了40%,可以看到這個優(yōu)化效果非常明顯,以上就是我們極致壓縮的方案,通過進一步壓縮碼率,降低我們的CDN成本。


        3.4 利用率治理


        我們的最后一個優(yōu)化方向是利用率治理


        先解釋下什么是流量利用率:在播放過程中,為了提升播放的流暢度,需要提前去緩存當前視頻以及預加載后面的視頻,同時網絡層也會有socket的buffer,用戶如果使用不到這些流量,那就會產生流量浪費,這些浪費的流量與用戶實際播放的流量相加,就是CDN實際產生的流量,流量利用率就等于實際播放的流量除以CDN實際產生的流量。


        由此可見,在整個播放鏈路上,都存在流量的浪費,而我們希望通過利用率的治理,控制并減少這些浪費的產生。


        181f0eb7c9fc48da4a09a48390e1450b.webp



        3.4.1 利用率漏斗建設


        我們需要治理的第一個問題是:在版本迭代的過程中,播放的策略也是在不斷優(yōu)化的,比如我們可能為了體驗著想,增加了預加載的數量,或者做了多級預加載。但是在做這些優(yōu)化的時候,我們無法有效的衡量每個優(yōu)化究竟對CDN成本帶來了多大的變化,會不會增加流量的浪費。


        對于這個問題,我們的解決方案是,針對每個版本,建立了如下圖所示利用率漏斗,并加入到了灰度報告中,嚴格監(jiān)控每個版本出現的流量浪費情況,防止播放策略優(yōu)化導致CDN成本大幅增加。


        52f12fc421a17e7f124b23f7ea9a92f3.webp


        3.4.2 利用率提升


        我們需要治理的第二個問題是:對于預加載或者預緩沖等策略,我們都會設置一個上限閾值,保證體驗的同時防止消耗過多流量,但是這個閾值一直都是以我們工程師的經驗設置的,無法確切的知道這個閾值是否合理。


        針對這個問題,我們的治理方案是,通過前述建立的漏斗數據,針對閾值進行線上A/B實驗,通過收集不同閾值下體驗和成本的變化數據,找到投產比拐點,從而確定最優(yōu)閾值。


        0f83ec3b863b10ec572be49a6b612164.webp


        3.4.3 治理效果


        這邊展示了我們治理后的效果。


        (1)首先在治理前,如下圖左側顯示,有兩個突刺點,這是因為某些版本優(yōu)化時,沒有識別到成本的增長量級,并且在灰度期間無法明顯看出成本的變化,及時止損,最終導致我們的CDN帶寬大幅增長。而在治理后,可以看到,我們的帶寬變得平穩(wěn)很多,不再出現突刺點,帶寬突增問題得到了有效。


        (2)其次,如下圖右側所示,在治理前,我們的流量利用率在60%左右,而在治理后,我們在保證體驗不受損的情況下,將利用率提升到了70%,從而節(jié)省了相應的CDN成本。


        通過對流量利用率的監(jiān)控和治理,我們可以清晰的掌控播放鏈路中每個節(jié)點可能產生的流量及帶寬情況,找到成本優(yōu)化點,降低我們的CDN成本。


        134b686334e457f3ad79ff8fa7692fa6.webp


        四、總結&展望


        如下圖所示,可以看到我們的優(yōu)化結合了大數據、A/B實驗、AI技術等,通過對這些技術的應用,我們進行了播放體驗和播放成本兩個方面的優(yōu)化。


        e39debe5ea6384e65547860fc07de67c.webp


        • 首先是對播放體驗優(yōu)化,我們依次從網絡層、播放層、應用層進行了相關的策略優(yōu)化,這里面主要包括分片下載、預加載/預渲染、分級緩存等策略。

        • 其次是播放成本的優(yōu)化,我們分別從單價、碼率、利用率等方向進行了降本,這里面主要包括PCDN、極致壓縮、利用率治理等方案。


        這些優(yōu)化方案,是我們短視頻團隊長時間的實踐積累,幫助我們在體驗和成本之間做到了雙贏。


        6fe1e4ad21ff251d65c6fd1f7a9f9114.webp


        最后是我們未來的一些展望,我們會持續(xù)聚焦音視頻前沿技術,在壓縮編碼方面,我們會去研究引入H266技術,進一步壓縮視頻的碼率,而在增強方面,我們會對端側增強技術進行預研,通過端云協同增強,進一步做到降本增效。

        aac90421f5b5a7747da84d1bcad54933.webp

        加我微信 ezglumes 拉你入技術交流群

        2099fc1a633a526798473cdf683f2ba7.webp 一個編程開發(fā)領域的專業(yè)圈子,販賣知識和技巧!

        推薦閱讀:

        音視頻開發(fā)工作經驗分享 || 視頻版

        OpenGL ES 學習資源分享

        開通專輯 | 細數那些年寫過的技術文章專輯

        Android NDK 免費視頻在線學習!??!

        你想要的音視頻開發(fā)資料庫來了

        推薦幾個堪稱教科書級別的 Android 音視頻入門項目

        覺得不錯,點個在看唄~



        瀏覽 27
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 五月婷婷深爱激情综合网 | 囗交26式的姿势有哪些 | 做爱免费 | 我与70岳肉体 | 成人网站免费大全日韩国产 |