7
本文作者: 史中 | 2016-03-25 17:56 |
直播App最大的敵人就是“墻”。不要緊張,不是谷歌的那個死對頭,而是真的磚墻。
眾所周知,主播直播的時候,會做一些激烈的運動。。。比如:在屋里走動。當她手持手機繞過一堵墻的時候,會導(dǎo)致Wi-Fi信號驟然降低,但是主播往往不會意識到信號減弱這個事實。同樣,在戶外用3G/4G網(wǎng)絡(luò)進行直播的戶外主播,面對的網(wǎng)絡(luò)情況更加復(fù)雜。
想象一下這樣的情況:
如果主播向廣大觀眾說一句“我愛你”,但是卻要等10秒的時間才收到 Diors 贈送的玫瑰花,這短短的10秒鐘,足以把“我愛你”和送花的行為割裂成兩個沒有聯(lián)系的部分。
這鐘直播體驗顯然非常糟糕。
在復(fù)雜的情況下,如何不讓網(wǎng)絡(luò)另一端的廣大 Diors 錯失“福利”,直播平臺會選擇使用網(wǎng)絡(luò)加速服務(wù)商(CDN)的服務(wù)。一般來說:大流量傳輸,如迅雷下載、樂視視頻或熊貓TV,都需要 CDN 的服務(wù),以提高用戶接收文件包的速度。通俗來講,CDN的原理就是把用戶需要的文件先利用高速的網(wǎng)絡(luò)通道緩沖到離用戶最近的節(jié)點,然后再就近傳輸給用戶。減少了從遠程服務(wù)器搬運的長途跋涉。
在CDN的應(yīng)用中,有很多場景。例如愛奇藝、樂視這類視頻網(wǎng)站,用戶請求的視頻是有限長度的一段綜藝節(jié)目或電視劇,觀看者會綜合考慮畫質(zhì)和傳輸速度。而對于斗魚TV、熊貓TV這類有互動的“流媒體”直播平臺來說,用戶對于直播流暢性是非常在意的。正如前面所說,人對于反饋的等待時間是有忍耐極限的。
熊貓TV的 CDN 服務(wù)商又拍云 CTO 黃慧攀告訴雷鋒網(wǎng):
從經(jīng)驗來看,主播和觀眾雙方互動從開始到結(jié)束,在4秒之內(nèi)完成是可以接受的底線。在直播推流端(主播端)網(wǎng)絡(luò)狀況達標的情況下,又拍云可以把網(wǎng)絡(luò)延遲控制在2-3秒。
在傳輸過程中,傳輸質(zhì)量當然由 CDN 廠商負責(zé),但是,如果出現(xiàn)直播端網(wǎng)絡(luò)信號不好這樣的“硬傷”,CDN 廠商會如何處理呢?
面對這種情況,CDN 廠商就必須做出取舍。黃慧攀說,如果直播端遇到網(wǎng)絡(luò)問題,在傳輸中會采用“抽幀”的方案:原本一秒視頻包含25幀畫面,但是在網(wǎng)絡(luò)狀況不好的情況下,會優(yōu)先保證聲音的傳輸,把視頻的傳輸變?yōu)槊棵?0幀或更少。
簡單說來,就是在犧牲一定直播畫質(zhì)的基礎(chǔ)上,保證用戶的流暢體驗。
打個比方,視頻直播就像送快遞,如果發(fā)件人手里需要運送的物品過多,作為快遞員的 CDN 就會和寄件人“商量”,篩選最重要的幾件物品優(yōu)先打包運輸,同時扔掉其余的物品。
但是,這里有一個技術(shù)細節(jié):接收快遞的人如果沒有能力同時接受如此多的快遞,快遞員就不能采用扔掉包裹的方式來處理。因為這些快件已經(jīng)被打包,在運輸?shù)倪^程中,作為快遞員是不能私自拆包的。這時,直播App一般會選擇降低碼率,也就是降低解析度的方式來解決——例如用最低320像素的分辨率來傳輸視頻。當然,如果網(wǎng)絡(luò)再進一步惡化,CDN 加速也無能為力。
由于涉及到多次網(wǎng)絡(luò)分發(fā),從中轉(zhuǎn)網(wǎng)絡(luò)到邊緣網(wǎng)絡(luò),每一次緩沖都需要半秒左右的時間,所以視頻直播每降低哪怕零點幾秒的延遲,CDN 廠商都需要付出巨大的技術(shù)努力。
對于直播平臺來說,也有很多策略可以選擇。例如:
當直播由于網(wǎng)絡(luò)信號中斷,再次恢復(fù)的時候,延續(xù)之前的直播幾秒才跳到實時直播時點。
對于某些主播,是選擇耗費資源的高清信號,還是在 CDN 網(wǎng)絡(luò)上進行在線壓縮之后再推送出去。
這些都是根據(jù)直播平臺的內(nèi)容制定的。
由此看來,簡單的直播,卻涉及到很多環(huán)環(huán)相扣的技術(shù)解決方案,主播每一次“運動”都是牽一發(fā)而動全身的。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。