ITBear旗下自媒體矩陣:

搜狐千帆攜手聽云,共同闡述直播與APM的融合之道

   時間:2017-11-10 17:28:29 來源:互聯(lián)網(wǎng)編輯:星輝 發(fā)表評論無障礙通道

2016年的直播行業(yè)儼然已經(jīng)成為了互聯(lián)網(wǎng)領(lǐng)域的現(xiàn)象級風(fēng)口,有數(shù)據(jù)指出,截止到2016年6月,中國網(wǎng)絡(luò)直播用戶規(guī)模達(dá)到3.25億,占網(wǎng)民總體的45.8%。同時,資本的快速注入給直播產(chǎn)業(yè)帶來了急速的發(fā)展,據(jù)不完全統(tǒng)計,國內(nèi)現(xiàn)在共有規(guī)模不同的300多家直播平臺。但是從現(xiàn)在看來,雖然直播的風(fēng)口期依然存在,但是直播內(nèi)容的高度同質(zhì)化和用戶群的 相同,決定了這個行業(yè)勢必將迎來一波重新洗牌,因此現(xiàn)在更多的直播平臺將競爭更多的集中于各個細(xì)分領(lǐng)域,如游戲直播、秀場直播、體育直播等等,各家直播平臺也在自己的領(lǐng)域下紛紛布局。

搜狐千帆直播就在這樣的市場環(huán)境中不斷前進,搜狐千帆直播是由搜狐視頻的技術(shù)團隊創(chuàng)建的,繼承了搜狐在自媒體視頻領(lǐng)域的技術(shù)和產(chǎn)品優(yōu)勢,將視頻點播業(yè)務(wù)轉(zhuǎn)化為視頻直播模式,使搜狐的娛樂屬性和媒體屬性在移動互動時代得以加強。

一、直播行業(yè)目前的挑戰(zhàn)

作為直播業(yè)務(wù),用戶大體上分為主播和觀眾兩類,良好的用戶觀看體驗是由主播和用戶兩端共同決定的,假如主播端推流不穩(wěn)定,用戶端網(wǎng)絡(luò)再好也是無濟于事的。因此直播平臺對于“用戶體驗”的要求不同于其他產(chǎn)業(yè),“齊頭并進,兩頭兼顧”是直播平臺打造良好用戶觀看體驗的重要方向。考慮到這樣的問題存在,千帆直播分別為為主播端和客戶端設(shè)立了兩套不同的問題解決方案:

主播端:

現(xiàn)在是全民直播時代,所以網(wǎng)絡(luò)主播所處的個人網(wǎng)絡(luò)環(huán)境良莠不齊,無法保證推流穩(wěn)定性。但是在直播場景中,需要保持良好的視覺和聽覺感受,需要保持音視頻直播流穩(wěn)定,減少卡頓次數(shù)。一旦推流不成功或者推流過程中出現(xiàn)了異常,主播就無法正常開播。為此千帆直播做了多路上行線路,根據(jù)“最佳尋址算法”,找到主播端最優(yōu)的鏈路,同時根據(jù)“最佳碼率算法”,確定最穩(wěn)定的動態(tài)碼率和分辨率,以保證直播流上行成功。

直播一定要具有實時性,因此對于主播端所看到的直播間的彈幕、禮物、消息等互動內(nèi)容要持續(xù)保持低延遲高可用。但是在高并發(fā)場景下,主播端的信息吞吐量巨大。無論是PC還是APP,都會出現(xiàn)消息堆積、顯示不全或者不及時現(xiàn)象,這就需要從產(chǎn)品技術(shù)角度減少誤差。也因此千帆直播設(shè)計了“WebSocket信號保護系統(tǒng)”、“消息均衡算法”以及“多任務(wù)歸并算法”等等邏輯,保證就算出現(xiàn)井噴式的流量爆發(fā)也不至于出現(xiàn)堆積卡死現(xiàn)象。

觀眾端:

觀眾需要極致的訪問觀看速度,在2015年搜狐千帆直播平臺初創(chuàng)時,就圍繞直播“秒開”做研究,目前基本實現(xiàn)了高速網(wǎng)絡(luò)下的“秒開”。但是挑戰(zhàn)依然繼續(xù),就是在弱網(wǎng)環(huán)境、窄帶環(huán)境、高速運動環(huán)境下,是否有更加穩(wěn)定不丟包的直播流傳輸技術(shù)呢,因為每出現(xiàn)一秒的卡頓,都會導(dǎo)致大量用戶流失,為此千帆直播做了多CDN策略,以保證CDN的資源穩(wěn)定。

直播相較于視頻點播,觀眾的存在感是決定性因素之一,換句話說直播就是互動,對觀眾來說,與主播的互動、與其他觀眾的互動是他們觀看直播的目的之一。因此需要像社交平臺一樣,在一位用戶發(fā)出彈幕的時候,要盡可能的減少其他用戶看到此條彈幕的延遲,時刻保持高實時性。這就對整個直播平臺的技術(shù)架構(gòu)提出了很高的要求,需要保持高可用低延遲,發(fā)出去的數(shù)據(jù)包不能有損耗有丟失,接受到的數(shù)據(jù)包也不能被劫持被篡改。

二、千帆直播的后臺體系建設(shè)

千帆直播平臺后臺體系

這里我們看下搜狐千帆直播的后臺架構(gòu)是如何應(yīng)對并解決上述挑戰(zhàn)的,千帆直播包括五大核心業(yè)務(wù):基礎(chǔ)業(yè)務(wù)、視頻業(yè)務(wù)、數(shù)據(jù)業(yè)務(wù)、運營業(yè)務(wù)、監(jiān)控業(yè)務(wù)。在千帆直播創(chuàng)立初期秉承的是敏捷開發(fā)模式,在設(shè)計架構(gòu)時采用了SOA(面向服務(wù)的架構(gòu)),從而使得各個核心業(yè)務(wù)以及內(nèi)部子業(yè)務(wù)都形成獨立服務(wù),并且互不干擾,在開發(fā)和部署時,能夠保持水平和垂直兩個方向都可以擴展。

以刷禮物為例,直播平臺如果做一些活動或者大型的直播時,會引來相當(dāng)多的用戶,大量的用戶也帶來了大量的禮物,大量的禮物特效勢必會造成流量通道堵塞,但是如果用戶在刷禮物的過程中都得不到良好的體驗,結(jié)果可想而知。因此,說刷禮物的階段是直播平臺目前最關(guān)鍵的業(yè)務(wù)流程并不為過。那么面對這樣重要的流程,千帆直播做了哪些措施來保障在刷禮物過程中的體驗?zāi)?

首先是內(nèi)部技術(shù)優(yōu)化,為此千帆直播主要做了三方面的措施:一個是推動禮物特效本身的優(yōu)化,在不刪減動畫的情況下,通過優(yōu)化幀數(shù),改變格式等手段縮減size,比如推動Android端把動畫從序列幀徹底改為webp;第二個是預(yù)加載,在進入APP時,對于高級(付費)用戶,根據(jù)以往的經(jīng)驗,提前下載禮物動畫的更新。第三個是強行內(nèi)置,比如萬圣節(jié)活動,禮物就直接給打進包里,省掉下載時間。同時各版本的發(fā)包,也會根絕實際情況,把當(dāng)期熱門禮物/動畫給打進去。

其次是快速迭代,以iOS為例,5.2版本的崩潰數(shù)量相較于5.3版本下降了很多。比如在5.3版本中,千帆直播APP在播放大禮物特效的時候,一直以來都會有一個很小概率的crash問題。這個問題對于一般用戶來說無所謂,但是對于高級用戶來說,一旦發(fā)生那就是個體驗很差的問題,從而導(dǎo)致一些付費用戶的流失,這肯定是我們不能容忍的。

三、千帆直播的性能優(yōu)化捷徑,與APM的完美融合

搜狐一向有重視用戶體驗的傳統(tǒng),千帆直播也繼承了搜狐集團的這一特點,為了能夠加強對直播平臺的技術(shù)和服務(wù)的管理要求以及主播和客戶端的性能體驗,經(jīng)過一系列嚴(yán)格的評估和實踐,千帆直播決定引入第三方應(yīng)用性能管理服務(wù)—聽云來提升內(nèi)外部的性能質(zhì)量。這里我們可以從業(yè)務(wù)的角度,分平臺來看。

移動端:

現(xiàn)在移動端的快速發(fā)展,直播平臺的用戶分布也逐漸向移動端傾斜,而且現(xiàn)在的戶外直播等新穎的直播方式,都要用到移動端才能進行。因此移動端的重要性越來越突出,但是移動端不像PC端有一個相對穩(wěn)定的網(wǎng)絡(luò)環(huán)境,移動端的網(wǎng)絡(luò)是處于不斷變化中的。我們上面也有提到過,在弱網(wǎng)環(huán)境、窄帶環(huán)境、高速運動環(huán)境下,如何能夠保障穩(wěn)定不丟包的直播流傳輸,如果在這其中,主播在直播過程中或者是用戶在用流量觀看直播的過程中出現(xiàn)了崩潰等一系列問題,這樣的體驗和對產(chǎn)品品牌的影響是極差的。

App崩潰數(shù)據(jù)匯總

因此千帆直播將聽云App提供的SDK集成到自身中來,幫助千帆直播的技術(shù)團隊及時捕獲APP中的崩潰信息、各種卡頓缺陷和網(wǎng)絡(luò)請求列表,幫助運維和研發(fā)人員能夠快速定位各種缺陷問題。以Crash崩潰為例,聽云后臺給出了詳細(xì)的崩潰軌跡以及統(tǒng)計圖表,版本和設(shè)備都一一詳細(xì)的列出來,并且還有詳細(xì)的程序堆棧,研發(fā)人員按照軌跡一步步向上鉆取就可以追蹤到問題所在。

相較于崩潰,可能卡頓對于直播平臺來說一直是個老大難問題,同時直播又是一個具有強交互性的APP,動畫、特效、音視頻 等等都有可能成為卡頓的元兇。聽云的卡頓分析比較詳細(xì),可以詳細(xì)列出每個方法的執(zhí)行效率和上下文信息,并且結(jié)合當(dāng)時的網(wǎng)絡(luò)環(huán)境、設(shè)備硬件環(huán)境等外界因素,就可以很容易的定位問題。

瀏覽器端:

雖然直播平臺的移動端用戶不斷增加,但是PC端的用戶仍占有很大比例,同時網(wǎng)頁相較于手機,頁面顯示的內(nèi)容只多不少,另外在PC瀏覽器端還要兼容多款瀏覽器,如何保障用戶在使用瀏覽器觀看直播時的體驗以及頁面的性能成為當(dāng)前眾多直播平臺亟待解決的問題之一。

聽云Browser頁面分析

千帆直播將聽云Browser的JS代碼集成到PC網(wǎng)頁和H5中,幫助千帆直播可以時刻監(jiān)控各個頁面的交互情況。以JavaScript錯誤為例,開發(fā)和QA就算再認(rèn)真也不可能覆蓋所有的設(shè)備,而且PC端瀏覽器版本之多,給錯誤審查帶來了不小的麻煩。

同時聽云Browser幫助千帆直播及時監(jiān)測到頁面的完整性,比如是否被運營商劫持了、是否被插入了廣告、是否被修改了內(nèi)容等等,從而減少不必要的損失。通過在后臺觀察性能特別低下的鏈接基本就可以發(fā)現(xiàn),也方便前端工程師制定相應(yīng)的優(yōu)化策略。

網(wǎng)絡(luò)端:

聽云Network管理系統(tǒng)可以針對性配置全站的關(guān)鍵鏈接監(jiān)控,這里包括PC頁面、H5的頁面以及各路關(guān)鍵接口。

聽云Network首屏?xí)r間

聽云在全國布有幾十萬個Agent,能很好的模擬出真實用戶訪問情況。幫助千帆直播按照一定的頻率收集全國各地的訪問反饋,其中包括頁面時間、運營商環(huán)境、DNS解析等性能指標(biāo)以及當(dāng)時客戶端的截圖。

有需求才會有市場,市場決定了直播這個行業(yè)到底能做多大。并且我們明白,現(xiàn)在的直播行業(yè)遠(yuǎn)不到市場飽和的狀態(tài),仍有很多經(jīng)濟風(fēng)口可以挖,可以預(yù)見的是在未來的一段時間,這場圍繞直播的戰(zhàn)爭還將持續(xù)下去。直播只是一種工具,目的是拉進人和人之間的距離、人和知識的距離、人和教育、人和各種行業(yè)需求之間的距離,在未來發(fā)展道路中,聽云會與千帆直播攜手,共同打造出最具社會意義的價值直播。

舉報 0 收藏 0 打賞 0評論 0
 
 
更多>同類資訊
全站最新
熱門內(nèi)容
網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系方式  |  版權(quán)聲明  |  網(wǎng)站留言  |  RSS訂閱  |  違規(guī)舉報  |  開放轉(zhuǎn)載  |  滾動資訊  |  English Version