創(chuàng)澤機(jī)器人
CHUANGZE ROBOT
當(dāng)前位置:首頁(yè) > 新聞資訊 > 機(jī)器人知識(shí) > 看高清視頻,如何做到不卡頓

看高清視頻,如何做到不卡頓

來(lái)源:AI科技大本營(yíng)     編輯:創(chuàng)澤   時(shí)間:2020/6/15   主題:其他 [加盟]
5G時(shí)代,從生產(chǎn)端到播放端,超高清音視頻將成為主流,如何讓播放更加“智能”,讓用戶隨時(shí)隨地都有流暢觀看體驗(yàn),既“高清”又“不卡”?

本文將詳解優(yōu)酷“智能檔”的是什么、為什么以及落地效果,尤其是如何突破“傳統(tǒng)自適應(yīng)碼率算法”的局限,解決視頻觀看體驗(yàn)中高清和流暢的矛盾,并以 “熱綜熱劇”等場(chǎng)景為藍(lán)本,一睹“大項(xiàng)目”背后的視頻播放實(shí)踐。

本文主要分為四部分:

背景:智能檔是什么、有什么?

挑戰(zhàn):傳統(tǒng)自適應(yīng)碼率理論與播放實(shí)踐的碰撞

實(shí)踐:清晰度策略優(yōu)化迭代過(guò)程——整體框架建設(shè),從數(shù)據(jù)中分析和學(xué)習(xí)

總結(jié):優(yōu)酷智能檔的成果和新技術(shù)的應(yīng)用

優(yōu)酷“智能檔”是什么、有什么?


為了大家能夠?qū)?yōu)酷智能檔有一個(gè)比較直觀的了解,我這里準(zhǔn)備了一個(gè)帶寬限速條件下播放的視頻。視頻1是傳統(tǒng)1080P藍(lán)光清晰度,視頻2就是今天要提到的“智能“清晰度。我們看到視頻1已經(jīng)開(kāi)始卡了,視頻2還在繼續(xù)播放,但清晰度角標(biāo)已經(jīng)變?yōu)槌辶恕?


好,剛剛播放的是《長(zhǎng)安十二時(shí)辰》張小敬追捕狼衛(wèi)的一段視頻,是在帶寬限速的情況下播放的,大致是在 1.5Mbps 左右。在這樣的條件下左側(cè)使用 1080P清晰度,當(dāng)畫(huà)面變化較大,對(duì)應(yīng)的碼率也波動(dòng)較大的時(shí)候,發(fā)生了卡頓,而且提示是否要切換到智能播放。而右側(cè)的“智能”清晰度則在這種情況下,發(fā)現(xiàn)了網(wǎng)絡(luò)不足以支撐藍(lán)光,降級(jí)變成了超清,避免了卡頓,然后在這段播過(guò)去之后又重新恢復(fù)到藍(lán)光。

▐  優(yōu)酷“智能檔”簡(jiǎn)介

看完這段視頻,我們來(lái)明確一下,關(guān)于智能檔的幾個(gè)基本問(wèn)題:

1)  什么是智能檔,這個(gè)大家剛剛也都看到了,智能檔是一種新的清晰度選項(xiàng)。

2)  為什么要有智能檔?我們可以從兩個(gè)角度回答:

讓播放體驗(yàn)更加智能。例如,用戶在一個(gè)不確定的網(wǎng)絡(luò)環(huán)境下,不知道什么清晰度最合適,選擇高清晰度,卡了;選擇低清晰度,畫(huà)質(zhì)體驗(yàn)又不好。優(yōu)酷智能檔就是要解決這個(gè)選擇問(wèn)題,智能匹配最合適的清晰度,避免用戶自己反復(fù)去嘗試;

避免播放卡頓。例如剛才的《長(zhǎng)安十二時(shí)辰》視頻,在網(wǎng)絡(luò)限速或者更常見(jiàn)的4G下,網(wǎng)絡(luò)波動(dòng)大,智能檔實(shí)時(shí)地調(diào)節(jié)清晰度,在保證用戶觀看更高清晰度的情況下,避免播放卡頓。

3)  是如何實(shí)現(xiàn)的呢?這就要提到自適應(yīng)碼率技術(shù),根據(jù)網(wǎng)絡(luò)環(huán)境和播放過(guò)程中的狀態(tài),去實(shí)時(shí)決策選擇最合適的清晰度。

▐  自適應(yīng)碼率技術(shù)

自適應(yīng)碼率這項(xiàng)技術(shù),早在 2002 年前后就已經(jīng)被人提出,大致在 2010 年開(kāi)始在互聯(lián)網(wǎng)領(lǐng)域得到應(yīng)用,逐步走向成熟。關(guān)于自適應(yīng)碼率的技術(shù)方案,一般由兩部分構(gòu)成:

第一部分協(xié)議框架:支持多個(gè)不同碼率的清晰度傳輸和播放,約定服務(wù)器端、客戶端的;


第二部分算法策略:更具體地確定什么狀態(tài)下匹配哪種碼率、哪種清晰度更好。

在協(xié)議框架上,蘋(píng)果較早提出了 HLS 的方案。后來(lái) MPEG 專(zhuān)家組提出行業(yè)標(biāo)準(zhǔn)DASH;除此之外,微軟、Adobe等公司也有技術(shù)方案,但設(shè)計(jì)上比較類(lèi)似,大同小異。

在算法策略上,是百花齊放。過(guò)去幾年,學(xué)術(shù)界涌現(xiàn)出不少相關(guān)論文,比如右側(cè)列表中所示,歸納起來(lái)分為4類(lèi):


第一類(lèi),基于網(wǎng)速預(yù)測(cè),根據(jù)網(wǎng)速帶寬和碼率的大小進(jìn)行選擇;

第二類(lèi),基于播放器的buffer來(lái)判斷決策;

第三類(lèi),引用一句話網(wǎng)絡(luò)名言“小孩子才做選擇,我全都要”,即融合前面兩種因素;

第四類(lèi),更高級(jí)和領(lǐng)先的,將近幾年的人工智能領(lǐng)域的技術(shù)引進(jìn)來(lái),根據(jù)機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)模型來(lái)選擇清晰度。

▐  自適應(yīng)碼率技術(shù)的工作流程

自適應(yīng)碼率技術(shù)在從生產(chǎn)到播放的整個(gè)鏈路,分成5步:

第一步,原始的視頻資源文件,它可能只有一個(gè)比較高的清晰度;

第二步,生產(chǎn)端對(duì)視頻進(jìn)行轉(zhuǎn)碼和切片,根據(jù)播放需要,轉(zhuǎn)碼成不同清晰度的碼流。一般清晰度越高,碼率越高,文件越大。每個(gè)碼流都切分成時(shí)間對(duì)齊的分片,一般是10s;

第三步,在轉(zhuǎn)碼和切片之后,經(jīng)過(guò) CDN 節(jié)點(diǎn)在網(wǎng)絡(luò)上進(jìn)行分發(fā);

第四步,各自適應(yīng)碼率的算法按策略選擇需要的清晰度;

第五步:客戶端下載這個(gè)清晰度的分片文件,進(jìn)行播放。

▐  自適應(yīng)碼率算法:基于帶寬速率

看完框架鏈路,我們?cè)賮?lái)看算法策略,先是最簡(jiǎn)單的基于帶寬的策略。

這類(lèi)算法的原理很簡(jiǎn)單,就是基于過(guò)去一段時(shí)間的網(wǎng)絡(luò)下載速度,對(duì)網(wǎng)絡(luò)情況做預(yù)測(cè),如果比視頻某一個(gè)清晰度的碼率大,那么就可以選擇這個(gè)碼率,否則只能?chē)L試更低清晰度。右上角圖中列出了4種算法,都是基于速度進(jìn)行判斷的,清晰度和網(wǎng)速變化是正相關(guān)。


這個(gè)算法簡(jiǎn)單直接,缺點(diǎn)是如果過(guò)去網(wǎng)速高,對(duì)網(wǎng)絡(luò)的預(yù)估又過(guò)于自信,網(wǎng)絡(luò)波動(dòng)落差大時(shí),就無(wú)法下載完預(yù)期的清晰度內(nèi)容,容易卡頓。

另外,清晰度受網(wǎng)絡(luò)波動(dòng)影響大,網(wǎng)絡(luò)一波動(dòng),就會(huì)頻繁的切換清晰度,這相當(dāng)于忽略掉播放器中buffer的作用。

▐  自適應(yīng)碼率算法:基于Buffer

基于buffer,就是播放器的緩沖區(qū)還能播多長(zhǎng)時(shí)間來(lái)選擇。這種方式直接放棄速度,只看 buffer,沒(méi)數(shù)據(jù)可播時(shí)才會(huì)卡。當(dāng)buffer 低時(shí),選擇最低清晰度,buffer隨播放進(jìn)度和下載進(jìn)度一點(diǎn)點(diǎn)變化,清晰度不會(huì)有太大波動(dòng)。


缺點(diǎn)是buffer的變化相對(duì)緩慢,會(huì)喪失對(duì)網(wǎng)絡(luò)變化判斷的靈敏性。比如用戶網(wǎng)絡(luò)換環(huán)境立刻變好了,但是 buffer 漲到最高清晰度的區(qū)間是需要一個(gè)過(guò)程的。

一個(gè)典型的案例就是 BBA 算法,我們可以右側(cè)這張圖,橫軸是 buffer,縱軸是清晰度碼率,它們之間維持一個(gè)線性關(guān)系,buffer越高清晰度越高,直到達(dá)到最高的清晰度;同時(shí)為了保證不卡頓,最低清晰度也要攢夠一定的buffer,才開(kāi)始考慮換更高的清晰度。

▐  自適應(yīng)碼率算法-MPC

這類(lèi)算法有一個(gè)里程碑式的進(jìn)步,給出一個(gè) QoE 的公式化定義。QoE就是體驗(yàn)質(zhì)量,包含清晰度、卡頓時(shí)間、清晰度切換3個(gè)因素。一旦確立好QoE 的計(jì)算公式,在網(wǎng)絡(luò)狀況完全確定的情況下,我們就可以將自適應(yīng)碼率算法轉(zhuǎn)化為一個(gè)求最大值的數(shù)學(xué)問(wèn)題。


但是網(wǎng)絡(luò)狀況完全確定需要“上帝視角”。一般情況下,網(wǎng)絡(luò)波動(dòng)是可完全預(yù)測(cè)的,在一個(gè)較短時(shí)間內(nèi),我們認(rèn)為網(wǎng)絡(luò)波動(dòng)會(huì)比較小,后面網(wǎng)絡(luò)情況和前面已經(jīng)統(tǒng)計(jì)到的速度存在一定關(guān)聯(lián)性,所以上面的這種求全局最大值的就可以退化成為一種局部的計(jì)算,并嘗試通過(guò)局部累加,達(dá)到近似全局最優(yōu)解,這好比是從一個(gè)全局的動(dòng)態(tài)規(guī)劃變成一個(gè)局部的貪心思路。

所以它的具體決策過(guò)程是:

第一步,根據(jù)過(guò)去的情況,判斷網(wǎng)絡(luò)質(zhì)量,預(yù)測(cè)速度;

第二步,生成未來(lái)N片,比如5片,將所有可能的清晰度組合做列表;

第三步,逐一嘗試,找出所有可選項(xiàng)中 QoE 最大的組合;

第四步,將選擇中下一片清晰度作為本次清晰度選項(xiàng),每個(gè)分片選擇時(shí)都依次類(lèi)推。

▐  自適應(yīng)碼率算法-基于機(jī)器學(xué)習(xí)

機(jī)器學(xué)習(xí)就是為計(jì)算機(jī)提供大量數(shù)據(jù),讓計(jì)算機(jī)基于這些數(shù)據(jù)進(jìn)行計(jì)算,在特定領(lǐng)域做出判斷,并針對(duì)判斷給出評(píng)定標(biāo)準(zhǔn),告知機(jī)器判斷是否正確、準(zhǔn)確,經(jīng)過(guò)反復(fù)大量的學(xué)習(xí)過(guò)程,提高計(jì)算機(jī)判斷能力的準(zhǔn)確性。

強(qiáng)化學(xué)習(xí)是機(jī)器學(xué)習(xí)的一種,是針對(duì)一個(gè)過(guò)程該如何做決策的學(xué)習(xí)。

如下圖,機(jī)器人學(xué)習(xí)養(yǎng)花,看見(jiàn)花要枯死了,選擇用水澆花,獲得一個(gè)正向的獎(jiǎng)勵(lì);如果看到花快被淹死了,還去澆花,那么就只能得到懲罰,此外還可以根據(jù)情況考慮是否施肥、打藥,訓(xùn)練機(jī)器人把花養(yǎng)好。


近年比較火的機(jī)器學(xué)習(xí)方式就是深度神經(jīng)網(wǎng)絡(luò)。我們可以將“養(yǎng)花過(guò)程中機(jī)器人的動(dòng)作” 理解為一個(gè)非常復(fù)雜的數(shù)學(xué)函數(shù),輸入是花的狀態(tài),輸出是應(yīng)該澆水還是施肥的決策選擇,花是否養(yǎng)好作為不斷調(diào)整函數(shù)內(nèi)參數(shù)的依據(jù),一旦參數(shù)調(diào)整好,這個(gè)函數(shù)就可以給出準(zhǔn)確決策,神經(jīng)網(wǎng)絡(luò)就相當(dāng)于這個(gè)復(fù)雜的函數(shù),具體的一個(gè)模型實(shí)例就相當(dāng)于這個(gè)函數(shù)里所需的所有系數(shù)。 

我們做清晰度選擇的例子和養(yǎng)花的過(guò)程很像,輸入是過(guò)去的網(wǎng)速情況、buffer情況等,輸出是清晰度的選擇。

2017年開(kāi)始有論文提出類(lèi)似的方案,優(yōu)點(diǎn)是用大量的數(shù)據(jù)去訓(xùn)練,訓(xùn)練好了就相當(dāng)一個(gè)“經(jīng)驗(yàn)豐富”的人,它看過(guò)很多歷史網(wǎng)絡(luò)變化的數(shù)據(jù)和選擇結(jié)果、知道遇到特定的情況應(yīng)該如何選擇。弊端是太“高深莫測(cè)”,可解釋性不強(qiáng)。

▐  業(yè)界應(yīng)用情況

國(guó)外的視頻產(chǎn)品,Youtube 和 Netflix的手機(jī)客戶端都有對(duì)自適應(yīng)碼率技術(shù)的應(yīng)用。在國(guó)內(nèi),早在兩年前,優(yōu)酷就在做類(lèi)似嘗試,但最初的清晰度選項(xiàng)叫做“自動(dòng)”,在起播時(shí)幫用戶選擇一個(gè)合適的清晰度,但是播放過(guò)程中如果網(wǎng)絡(luò)有波動(dòng)它不會(huì)變。隨著優(yōu)酷技術(shù)體系不斷升級(jí),現(xiàn)在優(yōu)酷能夠通過(guò)“智能”選項(xiàng),隨時(shí)隨地的根據(jù)網(wǎng)絡(luò)情況進(jìn)行清晰度選擇和必要的切換。


實(shí)際應(yīng)用中的挑戰(zhàn)

自適應(yīng)碼率技術(shù)的理論雖好,在大規(guī)模實(shí)踐中,卻屢屢碰壁,歸納起來(lái)有如下的挑戰(zhàn):

▐  實(shí)際應(yīng)用中的挑戰(zhàn):起播處理


起播的典型挑戰(zhàn)是:

典型策略:環(huán)境未知,如何避免卡頓;

網(wǎng)絡(luò)環(huán)境良好的狀態(tài)下,如何提升清晰度。按照學(xué)術(shù)界的算法論文,起播時(shí)為了避免卡頓,都是從最低清晰度開(kāi)始,但實(shí)際尤其對(duì)于沒(méi)有使用過(guò)同類(lèi)產(chǎn)品的用戶,10s的模糊不能被接收的;

起播速度:如何快速播放。為了高清和起播后不卡頓,多加載一會(huì)兒,行不行?不行!快速起播是良好播放體驗(yàn)的開(kāi)始。


 所以我們要遵循的原則是:

如果網(wǎng)絡(luò)足夠好,起播就提供高清晰度;

為了避免卡頓和起播太慢,必須在網(wǎng)絡(luò)差的情況,適當(dāng)?shù)剡x擇低清晰度;

不能為清晰度選擇而給播放帶來(lái)太大的額外開(kāi)銷(xiāo)。

優(yōu)酷是如何解決的?

首先,根據(jù)視頻是否為首次播放進(jìn)行分類(lèi)。不是首次播放的,可參考前一次播放的清晰度;是首次播放的,參考播放服務(wù)的請(qǐng)求耗時(shí)。在連播情況下,既然可以用上一次播放的清晰度,也可以利用上一次的播放中的速度信息,更確切知道當(dāng)時(shí)的網(wǎng)絡(luò)情況;

其次,我們發(fā)現(xiàn)請(qǐng)求耗時(shí)的區(qū)分度并不大。播放器也在進(jìn)行一個(gè)網(wǎng)絡(luò)質(zhì)量評(píng)估的項(xiàng)目,這樣就引入了網(wǎng)絡(luò)評(píng)分機(jī)制,作為清晰度的一項(xiàng)參考;

最后,秒播項(xiàng)目也全面鋪開(kāi),在播放前下載一個(gè)分片。一方面下載過(guò)程提供了速度信息,另一方面我們也需要結(jié)合分片的清晰度進(jìn)行選擇,避免起播清晰度頻繁波動(dòng)。

▐  實(shí)際應(yīng)用中的挑戰(zhàn)——網(wǎng)絡(luò)情況預(yù)測(cè)

第二個(gè)挑戰(zhàn)就是對(duì)網(wǎng)絡(luò)情況的判斷,即對(duì)帶寬的預(yù)測(cè);雖然不少論文都提到了根據(jù)歷史下載速度求平均值,對(duì)當(dāng)前或接下來(lái)速度做預(yù)測(cè),但是關(guān)于細(xì)節(jié)基本都避而不談。

網(wǎng)速非常重要,它是對(duì)當(dāng)前網(wǎng)絡(luò)判斷最直接的數(shù)據(jù)來(lái)源,也是保證升降檔快速靈活的一個(gè)關(guān)鍵因素。


速度預(yù)測(cè)的難點(diǎn)是網(wǎng)絡(luò)情況是實(shí)時(shí)變化的,不同環(huán)境變化形式和方向都不同。例如,上圖中就是截然不同的兩種網(wǎng)絡(luò)條件,第一個(gè)網(wǎng)速高且穩(wěn)定,第二個(gè)網(wǎng)速在極速波動(dòng)。所以預(yù)測(cè)速度的原則是盡量保守、盡量平緩,吸收掉波動(dòng)情況,即對(duì)過(guò)去一段時(shí)間的速度取平均值。平均值的計(jì)算方式,可以結(jié)合上圖的兩種情況來(lái)看:

一是,傳統(tǒng)算數(shù)平均數(shù)和調(diào)和平均數(shù)的方式;

二是,將對(duì)過(guò)去速度預(yù)測(cè)的誤差考慮進(jìn)去,也是robustmpc方案中提到的,更適合我們的需求。 

那么,只有速度預(yù)估就夠了嗎?當(dāng)然不是。由于網(wǎng)速是可隨時(shí)波動(dòng)的,實(shí)際網(wǎng)速也可能達(dá)不到預(yù)測(cè)速度,所以我們需要兜底方案。這里采用的是超時(shí),即在預(yù)期的時(shí)間內(nèi),如果當(dāng)前清晰度分片下載不完,將自動(dòng)調(diào)整,避免 buffer 消耗后發(fā)生卡頓。


超時(shí)設(shè)置也需要精心考量,超時(shí)意味著當(dāng)前分片如果下載不完就要丟棄,那么已下載完成的部分是不能用來(lái)播放的,否則就會(huì)出現(xiàn)同一視頻內(nèi)容用兩種不同的清晰度重復(fù)播放。所以buffer較小時(shí),不適合超時(shí),否則容易增加卡頓。

什么情況設(shè)置超時(shí)呢?預(yù)期超時(shí)是用來(lái)解決問(wèn)題的,首先是選擇清晰度預(yù)期它能下載完,如果下載不完,我們可以用更低清晰度來(lái)替代。我們要保證現(xiàn)有的buffer足夠這兩個(gè)清晰度下載完成的時(shí)間,此外要盡量留足時(shí)間,讓當(dāng)前清晰度的下載能夠在較小的波動(dòng)下完成,避免頻繁切帶來(lái)的網(wǎng)絡(luò)浪費(fèi)和不好體驗(yàn)。

體驗(yàn)衡量

隨著智能檔的推廣和應(yīng)用,我們也需要考慮帶寬成本,行業(yè)通用解決方案是使用 PCDN,在播放允許的情況下,避免直接向成本較高的CDN服務(wù)器請(qǐng)求轉(zhuǎn)而找到成本較低,但質(zhì)量不太穩(wěn)定的節(jié)點(diǎn),這樣就會(huì)引起速度的波動(dòng)。

這個(gè)問(wèn)題如何解決?首先,PCDN 調(diào)度的原則,是將 buffer 趨于劃分為三段:第一段是buffer較低的情況,為了避免卡頓保證服務(wù)質(zhì)量,會(huì)直接走CDN;第二段是部分從CDN下載,部分使用質(zhì)量較差的P2P節(jié)點(diǎn);第三段是buffer較高的情況,卡頓風(fēng)險(xiǎn)低,直接斷開(kāi)CDN,只使用P2P。

簡(jiǎn)單來(lái)說(shuō),為了保證智能檔用戶有穩(wěn)定體驗(yàn),我們?cè)诠?jié)點(diǎn)切換的過(guò)程中,始終保持使用一個(gè)較高的速度,比如使用連接CDN時(shí)的速度,如果 P2P的速度比 CDN的速度高,我們可以使用這個(gè)更高的速度,當(dāng)質(zhì)量較差的節(jié)點(diǎn)滿足不了當(dāng)前速度時(shí),buffer就會(huì)降低,迫使PCDN逐步切換回高質(zhì)量的節(jié)點(diǎn),這樣就做到了和 PCDN結(jié)合的自適應(yīng)調(diào)整,做到了速度的相對(duì)穩(wěn)定。

▐  實(shí)際應(yīng)用中的挑戰(zhàn)——其它

在實(shí)踐過(guò)程中面臨的挑戰(zhàn),如何衡量智能檔的體驗(yàn),如何評(píng)價(jià)效果。

學(xué)術(shù)論文的衡量標(biāo)準(zhǔn)是看QoE,它包含了對(duì)清晰度質(zhì)量、卡頓和清晰度波動(dòng)的因素。但它是單一值,兩次不同的播放,QoE一個(gè)高一個(gè)低,說(shuō)明前一個(gè)體驗(yàn)更好,但是無(wú)法知道差的原因,是卡頓太多還是清晰度太低?所以單一值,不利于我們衡量真實(shí)效果,也不利于明確優(yōu)化方向。

所以,我們最終通過(guò)和實(shí)際業(yè)務(wù)目標(biāo)相結(jié)合,整體看全盤(pán)數(shù)據(jù),同時(shí)將卡頓率、高清晰度的播放時(shí)長(zhǎng)占比拆開(kāi)來(lái)看?D率高了,要想辦法降卡頓,策略上要相對(duì)保守;如果高清晰度少了,就要適當(dāng)調(diào)整策略,讓用戶更容易升到高清晰度。

此外,播放的體驗(yàn)好不好需要多維度考量,除以上兩個(gè)關(guān)鍵指標(biāo)外,我們也增加了其它維度數(shù)據(jù),比如,使用智能檔用戶的播放量占比、一次播放的清晰度切換頻次,高buffer降檔的反常體驗(yàn)發(fā)生比率等。

實(shí)際上,我們?cè)趯?shí)踐的過(guò)程中遇到的挑戰(zhàn)還不止這些,比如倍速播放的情況,4G下考慮流量的問(wèn)題等。受時(shí)間和篇幅的限制,就不一一展開(kāi)了。


智能檔的設(shè)計(jì)、實(shí)現(xiàn)與優(yōu)化迭代

以上介紹了自適應(yīng)碼率技術(shù)的一般原理和挑戰(zhàn),接下來(lái)從整體分析,優(yōu)酷智能檔是如何設(shè)計(jì)的,又是如何優(yōu)化。

▐  優(yōu)酷智能檔的整體結(jié)構(gòu)設(shè)計(jì)

智能檔的整體框架分為上下兩部分,下層是客戶端,上層是服務(wù)器端。


第一,清晰度選擇的控制器是在客戶端,包含一個(gè)策略引擎,支持多種策略實(shí)現(xiàn)運(yùn)行,為策略的運(yùn)行提供了統(tǒng)一接口;控制器需要與播放器內(nèi)核的數(shù)據(jù)源處理部分打交道,從播放器內(nèi)核獲取到視頻的基本信息,比如支持幾個(gè)清晰度、每個(gè)清晰度碼率多少,有多少個(gè)分片、每個(gè)分片多大,同時(shí)也從播放器收集當(dāng)前的播放狀態(tài),比如當(dāng)前的buffer 狀態(tài);此外,客戶端還需要從下載器那里得到各分片的下載速度,從全局的網(wǎng)絡(luò)監(jiān)測(cè)模塊感知當(dāng)前的網(wǎng)絡(luò)質(zhì)量情況,最后執(zhí)行策略,輸出下一個(gè)清晰度,通過(guò)內(nèi)核交由下載器去下載,進(jìn)而播放;

第二,智能檔的控制器每次播放后會(huì)收集整個(gè)決策過(guò)程中的輸入/輸出信息,并上報(bào)到服務(wù)器端,服務(wù)器端用這個(gè)數(shù)據(jù)做統(tǒng)計(jì)、分析、優(yōu)化,然后進(jìn)一步改進(jìn)策略,形成一套完整的閉環(huán)的數(shù)據(jù)體系。

▐  策略實(shí)現(xiàn)-多策略支持

結(jié)合前面算法論文中的理論,我們先后嘗試過(guò)實(shí)現(xiàn)四種策略:

第一種:Pattaya 是我們最早嘗試的一種策略,將單獨(dú)基于速度的一類(lèi)策略,后來(lái)也引入了基于 buffer 策略,不斷根據(jù)數(shù)據(jù)情況增加一些經(jīng)驗(yàn)規(guī)則進(jìn)去,也是早期進(jìn)行鏈路調(diào)試的一個(gè)策略;

第二種:基于強(qiáng)化學(xué)習(xí)的策略;

第三種:實(shí)現(xiàn)和調(diào)試了基于 MPC 思路的策略;

第四種:根據(jù)經(jīng)驗(yàn)創(chuàng)造出來(lái)的,基于下載嘗試和超時(shí)的SBit策略。

我們以 AB Test 的形式分桶開(kāi)啟各個(gè)策略,觀察效果逐步優(yōu)化,最終形成一套統(tǒng)一策略,包含起播/Seek決策、播中決策、超時(shí)處理、卡頓處理等幾個(gè)關(guān)鍵組成部分。

▐  數(shù)據(jù)體系建設(shè)-信息的收集與解析

上面提到四類(lèi)策略,在衡量效果時(shí),我們提到了一些關(guān)鍵指標(biāo),相關(guān)的統(tǒng)計(jì)數(shù)據(jù)在上線之初就進(jìn)行了支持。那么,這四類(lèi)策略是不是上線就表現(xiàn)良好,表現(xiàn)不好的原因是什么,這就需要對(duì)每一次播放數(shù)據(jù)的輸入和輸出都有詳細(xì)記錄,如圖中的數(shù)據(jù)結(jié)構(gòu)。


第一步,早期我們考慮一次播放的決策數(shù)據(jù)量比較大,同時(shí)還不具備這種批量數(shù)據(jù)處理分析的能力,主要是以日志的方式打出來(lái);

第二步,我們了解到阿里云的數(shù)據(jù)工場(chǎng)能夠提供這樣一種能力,通過(guò)自定義 UDF 解析結(jié)構(gòu)復(fù)雜的編碼數(shù)據(jù),并且通過(guò)一般的編程語(yǔ)言以實(shí)現(xiàn)插件的形式,完成各式各樣的分析,這樣我們就將客戶端上每次播放的所有相關(guān)的輸入和輸出,按照一定的格式組織起來(lái),進(jìn)行壓縮、編碼通過(guò)埋點(diǎn)渠道報(bào)上來(lái),需要分析的時(shí)候在數(shù)據(jù)平臺(tái)上解碼分析。

上圖,是一個(gè)經(jīng)過(guò)編碼的智能檔播放信息,報(bào)到服務(wù)器端之后,我們通過(guò)數(shù)據(jù)平臺(tái)對(duì)立面的信息進(jìn)行解析。當(dāng)然這張圖立面只畫(huà)出了其中一部分信息,包含原始的輸入速度、預(yù)測(cè)的速度、播放器buffer的變化情況,這樣整個(gè)智能檔的決策過(guò)程就盡收眼底。

▐  數(shù)據(jù)體系建設(shè)-優(yōu)化應(yīng)用

當(dāng)完整數(shù)據(jù)體系建立之后,我們就可以進(jìn)行優(yōu)化。下面以卡頓優(yōu)化為例,我們是這樣操作的:

第一步,當(dāng)版本發(fā)布后,觀察整體的大盤(pán)數(shù)據(jù),發(fā)現(xiàn)卡頓超出預(yù)期,我們會(huì)分析用戶用例,對(duì)卡頓情況有初出認(rèn)知。

第二步,基于已知信息做分類(lèi)規(guī)則,比如,是起播就卡,還是播了很久之后才卡;是因?yàn)榫W(wǎng)絡(luò)差,清晰度降底都還會(huì)卡,還是在策略上有優(yōu)化的空間?

第三步,根據(jù)規(guī)則將所有發(fā)生過(guò)卡頓的播放數(shù)據(jù)做聚合分析,知道每種可能情況的占比,有針對(duì)性分優(yōu)先級(jí)的去解決和處理問(wèn)題;

不只卡頓,還是其它像高清晰度沒(méi)有達(dá)到預(yù)期,都可以用這種方式進(jìn)行分析。這些數(shù)據(jù)除了分析這些問(wèn)題以外,還有利于我們對(duì)整個(gè)優(yōu)酷用戶播放過(guò)程有一個(gè)更全面的了解,比如說(shuō)他們的網(wǎng)絡(luò)情況分布等。

▐  智能檔的應(yīng)用推廣

在智能檔完成設(shè)計(jì)、實(shí)現(xiàn)、優(yōu)化,我們希望它能夠在更多的場(chǎng)景上得到應(yīng)用。智能檔最初是在手機(jī)兩端上率先完善和放量,其次是iPad端。在過(guò)去一年,我們也在iKu OTT 等客戶端場(chǎng)景下投入使用。

這里面需要強(qiáng)調(diào)是大型直播場(chǎng)景,比如雙11貓晚、近期的義演直播《相信未來(lái)》,直播和點(diǎn)播場(chǎng)景有差異:

第一、直播要求低延遲,比如看球賽,不能隔壁進(jìn)球了,這里還在射門(mén)。所以這個(gè)特點(diǎn)就決定了端上播放器不能有太多buffer,智能檔的決策需要做適當(dāng)?shù)恼{(diào)整,更多的從網(wǎng)速上獲取信息;

第二、直播是實(shí)時(shí)性的,生產(chǎn)端生產(chǎn)出視頻流是實(shí)時(shí)進(jìn)行的,而且通常的直播時(shí)長(zhǎng)比一集電視劇時(shí)間還要長(zhǎng),所以存在技術(shù)風(fēng)險(xiǎn),這時(shí)候智能檔就有了用武之地。

和直播場(chǎng)景有關(guān)的第一個(gè)問(wèn)題是流量控制,某一場(chǎng)直播開(kāi)始前,會(huì)預(yù)估流量,但實(shí)際可能因?yàn)槟硞(gè)節(jié)目特別火爆,新用戶源源不斷地涌進(jìn)來(lái)。在服務(wù)器流量壓力大時(shí),智能檔可以通過(guò)實(shí)時(shí)下發(fā)配置適當(dāng)?shù)恼{(diào)整用戶的清晰度,例如,必要情況下,降低一個(gè)清晰度,實(shí)時(shí)緩解服務(wù)器帶寬和流量壓力。這是傳統(tǒng)清晰度所做不到的,傳統(tǒng)清晰度可能從進(jìn)入直播間到看完就固定在一個(gè)清晰度碼率上。

另外一個(gè)常見(jiàn)問(wèn)題是直播時(shí),在生產(chǎn)端可能會(huì)出現(xiàn)某一路流轉(zhuǎn)碼失敗,智能檔發(fā)現(xiàn)問(wèn)題后,可以直接標(biāo)記這路流不可用,在后面的播放切到其它相近的清晰度時(shí),保證整體直播效果不會(huì)受到太大的影響。


智能檔的應(yīng)用總結(jié)及未來(lái)

在過(guò)去一年,優(yōu)酷智能檔已經(jīng)逐漸走向成熟:

優(yōu)酷智能檔在過(guò)去一年的建設(shè)過(guò)程中,覆蓋了移動(dòng)端約30%的播放量,甚至比播放某些傳統(tǒng)的清晰度播放量都高;

從智能檔內(nèi)的各個(gè)清晰度播放時(shí)長(zhǎng)來(lái)看,能夠讓用戶在90% 以上的時(shí)間觀看比較高的清晰度,同時(shí)保持著比一般清晰度更低的卡頓率,尤其在 4G 網(wǎng)絡(luò)下,能夠做到傳統(tǒng)清晰度的一半;

智能檔為優(yōu)酷整體的播放體驗(yàn)優(yōu)化提供了工具,也在直播等場(chǎng)景成為了技術(shù)保障的必要手段;

最重要的,經(jīng)過(guò)過(guò)去一年的優(yōu)化,獲得了用戶的認(rèn)可。


對(duì)于未來(lái),主要有兩點(diǎn)思考:

隨著 5G 的發(fā)展,越來(lái)越多的用戶將移動(dòng)蜂窩網(wǎng)絡(luò)下觀看視頻,智能檔會(huì)得到更多應(yīng)用?赡艽蠹乙獑(wèn)了,5G網(wǎng)速那么快,還需要智能檔嗎?這里我想到了一句話,"What Andy gives Bill takes away",“安迪比爾定律”,這里面 Andy 是 Intel 的 CEO, Bill就是比爾蓋茨了。意思是無(wú)論 Intel的 CPU 造的多么先進(jìn),都會(huì)被新的 Windows 系統(tǒng)消耗掉。回到播放場(chǎng)景,網(wǎng)絡(luò)技術(shù)是在發(fā)展,但人們對(duì)高清視頻的需求也在不斷提高,所以智能檔是必要的;


另外,一定會(huì)出現(xiàn)新的手段,讓自適應(yīng)碼率技術(shù)的效果更好。比如今天提到的Pensieve,利用強(qiáng)化學(xué)習(xí)來(lái)進(jìn)行清晰度選擇。這個(gè)原作者在 2019 年又發(fā)表了一篇新論文,大致內(nèi)容是他又改進(jìn)了算法模型,開(kāi)始在 Facebook 進(jìn)行實(shí)驗(yàn),這是個(gè)未來(lái)的方向,現(xiàn)在的可解釋性等等問(wèn)題應(yīng)該都會(huì)逐步得到解決。





基于真實(shí)環(huán)境數(shù)據(jù)集的機(jī)器人操作仿真基準(zhǔn)測(cè)試

通過(guò)使用仿真和量化指標(biāo),使基準(zhǔn)測(cè)試能夠通用于許多操作領(lǐng)域,但又足夠具體,能夠提供系統(tǒng)的有關(guān)信息

億級(jí)視頻內(nèi)容如何實(shí)時(shí)更新

基于內(nèi)容圖譜結(jié)構(gòu)化特征與索引更新平臺(tái),在結(jié)構(gòu)化方面打破傳統(tǒng)的數(shù)倉(cāng)建模方式,以知識(shí)化、業(yè)務(wù)化、服務(wù)化為視角進(jìn)行數(shù)據(jù)平臺(tái)化建設(shè),來(lái)沉淀內(nèi)容、行為、關(guān)系圖譜,目前在優(yōu)酷搜索、票票、大麥等場(chǎng)景開(kāi)始進(jìn)行應(yīng)用

深度解析大規(guī)模參數(shù)語(yǔ)言模型Megatron-BERT

NVIDIA解決方案架構(gòu)師王閃閃講解了BERT模型原理及其成就,NVIDIA開(kāi)發(fā)的Megatron-BERT

自然語(yǔ)言處理技術(shù)五大技術(shù)進(jìn)展和四大應(yīng)用與產(chǎn)品

自然語(yǔ)言處理技術(shù)的應(yīng)用和研究領(lǐng)域發(fā)生了許多有意義的標(biāo)志性事件,技術(shù)進(jìn)展方面主要體現(xiàn)在預(yù)訓(xùn)練語(yǔ)言模型、跨語(yǔ)言 NLP/無(wú)監(jiān)督機(jī)器翻譯、知識(shí)圖譜發(fā)展 + 對(duì)話技術(shù)融合、智能人機(jī)交互、平臺(tái)廠商整合AI產(chǎn)品線

自然語(yǔ)言處理技術(shù)發(fā)展趨勢(shì)進(jìn)一步推動(dòng)人工智能從感知智能向認(rèn)知智能的演進(jìn)

下一個(gè)十年,智能人機(jī)交互、多模態(tài)融合、結(jié)合領(lǐng)域需求的 NLP 解決方案建設(shè)、知識(shí)圖譜結(jié)合落地場(chǎng)景等將會(huì)有突破性變化

中國(guó)移動(dòng)室內(nèi)定位白皮書(shū)

中國(guó)移動(dòng)聯(lián)合產(chǎn)業(yè)合作伙伴發(fā)布《室內(nèi)定位白皮書(shū)》,對(duì)室內(nèi)定位產(chǎn)業(yè)發(fā)展現(xiàn)狀及面臨的挑戰(zhàn),深入分析了垂直行業(yè)的室內(nèi)定位需求,并詳細(xì)闡述了實(shí)現(xiàn)室內(nèi)定位的技術(shù)原理, 及室內(nèi)定位評(píng)測(cè)體系

傳感器面臨時(shí)代新機(jī)遇,未來(lái)發(fā)展將呈現(xiàn)哪些趨勢(shì)

機(jī)器人、無(wú)人機(jī)、自動(dòng)駕駛汽車(chē)等加快落地,智慧城市深入建設(shè),更是為傳感器產(chǎn)業(yè)帶來(lái)了難以估量的龐大機(jī)遇

仿人操作機(jī)器人Cosero配備7自由度機(jī)械臂裝有Kinect相機(jī)實(shí)現(xiàn)對(duì)目標(biāo)環(huán)境的3D感知

Cosero是德國(guó)波恩大學(xué)的Sven Behnke團(tuán)隊(duì)根據(jù)家庭環(huán)境中的日常操作任務(wù)而研制的一款仿人操作機(jī)器人基于深度學(xué)習(xí)方法的目標(biāo)姿態(tài)估計(jì)和RGB-D SLAM等感知測(cè)量

移動(dòng)式操作機(jī)器人平臺(tái)Personal Robot 2可模擬開(kāi)門(mén)、打臺(tái)球和畫(huà)畫(huà)

機(jī)器人的學(xué)習(xí)分為三個(gè)部分的軌跡預(yù)測(cè)包括示教者的手部運(yùn)動(dòng)軌跡、示教者的身體移動(dòng)軌跡以及被操作物體的運(yùn)動(dòng)軌跡

Jupiter由四輪獨(dú)立轉(zhuǎn)向的底盤(pán)和UR5機(jī)械臂組成通過(guò)SSD網(wǎng)絡(luò)檢測(cè)目標(biāo)物體

通過(guò)2D激光雷達(dá)信息采用Hector SLAM實(shí)現(xiàn)機(jī)器人對(duì)地圖的感知和自主導(dǎo)航規(guī)劃,通過(guò)頂部的RGB-D相機(jī)采集目標(biāo)物體深度和RGB圖像信息

野外自主農(nóng)作物探測(cè)機(jī)器人Robotanist使用擴(kuò)展卡爾曼濾波器(EKF)方法融合MTI等傳感器信息

驅(qū)動(dòng)系統(tǒng)由4個(gè)200W無(wú)刷直流電機(jī)構(gòu)成,通過(guò)50:1的空心軸減速機(jī)可以最高達(dá)2m/s的速度在玉米、高粱等農(nóng)作物的地里前進(jìn)

視頻搜索太難了!阿里文娛多模態(tài)搜索算法實(shí)踐

視頻搜索是涉及信息檢索、自然語(yǔ)言處理(NLP)、機(jī)器學(xué)習(xí)、計(jì)算機(jī)視覺(jué)(CV)等多領(lǐng)域的綜合應(yīng)用場(chǎng)景
資料獲取
機(jī)器人知識(shí)
== 最新資訊 ==
ChatGPT:又一個(gè)“人形機(jī)器人”主題
ChatGPT快速流行,重構(gòu) AI 商業(yè)
中國(guó)機(jī)器視覺(jué)產(chǎn)業(yè)方面的政策
中國(guó)機(jī)器視覺(jué)產(chǎn)業(yè)聚焦于中國(guó)東部沿海地區(qū)(
從CHAT-GPT到生成式AI:人工智能
工信部等十七部門(mén)印發(fā)《機(jī)器人+應(yīng)用行動(dòng)實(shí)
全球人工智能企業(yè)市值/估值 TOP20
創(chuàng)澤智能機(jī)器人集團(tuán)股份有限公司第十一期上
諧波減速器和RV減速器比較
機(jī)器人減速器:諧波減速器和RV減速器
人形機(jī)器人技術(shù)難點(diǎn) 高精尖技術(shù)的綜合
機(jī)器人大規(guī)模商用面臨的痛點(diǎn)有四個(gè)方面
青島市機(jī)器人產(chǎn)業(yè)概況:機(jī)器人企業(yè)多布局在
六大機(jī)器人產(chǎn)業(yè)集群的特點(diǎn)
機(jī)械臂-高度非線性強(qiáng)耦合的復(fù)雜系統(tǒng)
== 機(jī)器人推薦 ==
迎賓講解服務(wù)機(jī)器人

服務(wù)機(jī)器人(迎賓、講解、導(dǎo)診...)

智能消毒機(jī)器人

智能消毒機(jī)器人

機(jī)器人開(kāi)發(fā)平臺(tái)

機(jī)器人開(kāi)發(fā)平臺(tái)


機(jī)器人招商 Disinfection Robot 機(jī)器人公司 機(jī)器人應(yīng)用 智能醫(yī)療 物聯(lián)網(wǎng) 機(jī)器人排名 機(jī)器人企業(yè) 機(jī)器人政策 教育機(jī)器人 迎賓機(jī)器人 機(jī)器人開(kāi)發(fā) 獨(dú)角獸 消毒機(jī)器人品牌 消毒機(jī)器人 合理用藥 地圖
版權(quán)所有 創(chuàng)澤智能機(jī)器人集團(tuán)股份有限公司 中國(guó)運(yùn)營(yíng)中心:北京 清華科技園九號(hào)樓5層 中國(guó)生產(chǎn)中心:山東日照太原路71號(hào)
銷(xiāo)售1:4006-935-088 銷(xiāo)售2:4006-937-088 客服電話: 4008-128-728