騰訊高級音視頻架構師郭亮:解密互動直播技術

2021-01-20 開源中國

2016年9月10日,第52期【OSC源創會】在珠海圓滿落幕,350餘名OSCer齊聚報業大廈,聆聽了一場誠意滿滿、乾貨多多的技術分享盛會。

本期源創會由5位講師分別針對5個不同的主題進行分享,為給未能到現場以及參與活動後仍意猶未盡的OSCer更好的了解和學習,開源中國將每位講師的演講內容進行了整理,並將逐一發布。乾貨多多,不容錯過!

首先是由騰訊高級音視頻架構師郭亮帶來的《互動直播技術解密》,主要是對目前主流直播方案的解析,以及依託於QQ音視頻的騰訊雲互動直播SDK在多個關鍵技術上的深度優化方案的分享。

郭亮的分享PPT下載地址:http://www.oschina.net/doc/44250

直擊現場嘉賓訪談:https://www.oschina.net/question/2886655_2196558

完整演講內容如下:

開源中國社區珠海的小夥伴們,下午好!感謝主持人把氣氛調動的這麼歡快,也很開心大家冒著大雨來參加我們的活動,包括現在也有許多不能來現場的小夥伴在線上觀看我們的活動直播。

 

首先,做個自我介紹,我叫郭亮,來自騰訊雲視頻,07年畢業之後加入中興通訊一直從事音視頻相關工作,包括核心網、媒體網關等相關音視頻架構。而後進入了騰訊,近一年來,一直在專注於開發騰訊的直播的一些引擎。

話不多說,我們進入主題。大家剛才應該有看到,我有和觀看線上直播的小夥伴打招呼。近一年來,直播被拱上風口。據統計,在過年的一年裡,有超過1000家廠商進入直播行業,現在已隨處可見各種各樣的直播。可以說,直播已經走進了我們的生活。

其實對於直播行業,我們有做一個自己的分析,大概將其分為以下幾類:

第一種是傳統的語音直播網站,像是YY、9158這些,現在發展依然強勁。

第二種是近兩年興起的遊戲類直播網站,像是鬥魚、龍珠、戰旗等,也已經探索出一條成熟的直播變現道路,有著不錯的用戶量和收益。

另外就是傳統的視頻網站,包括騰訊視頻、愛奇藝、搜狐視頻等,也推出了自己的直播業務。

還有最近興起的秀場,像是映客、花椒等,在最近的各個熱點話題背後都能看到它們的身影,也成功塑造出許多網紅。
此外,像是聚美、蘑菇街、唱吧這些電商、歌唱、炒股類的網站,也紛紛加入了隊伍,做跨界直播。

說完分類,接下來正式來聊本期的主題——互動直播。互動直播其實也是不斷在演變,最初的主播只是簡單回應觀眾文字類、彈幕類的提問和話題的方式,逐漸衍生出接送禮物、連麥等更具互動交流的形式。到現在,隨著VR技術的逐漸成熟,已經有國內外的網站在推出VR的直播,可以說是互動直播未來的一種發展方向。

可能有人會想,既然直播這麼火,那也去做一個直播的APP,或者在APP裡面加入直播能力。那麼問題來了,一個好的直播產品需要清晰、低延遲、秒開、連麥等等一系列的技術特性,我們到底該如何進行技術選型呢?

其實,目前市面上比較流行的是這幾種直播方案:

第一種是基於TCP的RTMP,這可以說是相對成熟的一種方案,它的優勢是只要瀏覽器支持FLASH,就可以內嵌播放;但不足的是,在互動直播中2-5S的延時會對體驗有所影響。第二種FLV是基於HTTP下載協議的一個方案,在交互上比RTMP會稍微輕便點,但同樣存在溝通延遲的問題。第三種HLS是目前直播中比較常見的一種方案,其最大的優勢就是手機瀏覽器是原生支持的,這在移動網際網路時代可以說是一大殺手鐧;不過它最大的問題是延遲比前面兩種會更為嚴重。還有一種RTP方案,是目前QQ和微信中做實時音視頻使用的方案,它的優勢就是延遲可以做到很低,控制性強,但它的一大缺點就是在PC和移動端的原生支持都是比較差的,需要做一些SDK的嵌入。

看完這四種方案,是不是發現好像並沒有哪種方案是做的特別好的?在這種情況下,騰訊雲做了一套自己的直播方案,對各方面有做一定的折中。首先,我們有做一套實時音頻的框架,主播和觀眾可以實現很好的互動,保證溝通的順暢。而為保證下行的抗損耗能力,我們又接入了OC系統的分發體系。同時,為更好的對瀏覽器支持,我們做了一套「旁路推流」系統,將音視頻流轉到RTMP、FLV或HLS等,通過傳統的CDN方案推給客戶端,實現瀏覽器原生支持。這樣,我們既能實現好的延遲和抗損,也能有相對較強的兼容。

接下來,給大家介紹互動直播方案中比較核心的技術,主要針對幾個關鍵點進行講述。

1、秒開

舉個例子,從下圖可以看到,網站的開啟速度對於用戶留存以及網站自身收益有著很大影響。

在直播當中,秒開的重要性同樣不言而喻。而影響秒開的因素非常多,包括自身的影響、和業務側的影響、以及一些設備方面的影響等等。對於秒開,騰訊雲將其分成了兩個環節——進房和岀畫。在進房這一部分,我們將一些可以提前做的東西提前在登陸的時候完成;另外就是針對設備上的一些啟動啊進行並行操作;還有就是和業務側的配合,像禮物狀態的存取、人數的拉取等,做並行處理。而在岀畫環節,則設立了後臺音視頻數據的雙GOP緩存機制,後臺根據網絡上的情況和客戶端向Server拉取的時機,智能的選擇存取單個還是兩個GOP數據,以及智能推送前一個GOP數據還是當前GOP數據,給後面的音畫同步和緩存帶來聯動作用。

那是不是只要做完這些就可以達到很好的效果呢?

然而,並不!因為我們在做完發現後臺在推送數據的時候會一下推送兩個GOP龐大的數據,對帶寬的壓力極大。因此,我們又做了一些其他的策略來保證穩定性,包括推流速度的控制以及推流數據的QoS保障機制。我們不固定速度推送,而是根據用戶當前的數據量和網絡情況自動選擇合適的推送速度,降低丟包,再加上保障機制,給用戶穩定的交互。

下圖是騰訊雲和一些競品的交互數據:
 

2、流暢無卡頓

這是比秒開在直播過程中接到用戶反饋更多的核心要素,事實上,影響卡頓的環節很多,包括採集、播放等等,而這其中又分為功能方面和網絡方面上的優化。在此,則主要講的是網絡上的優化。其實上行不穩和下行不穩都會造成卡頓,對此,騰訊雲從以下幾個方面進行解決:一是依託於多年的用戶積累,及海外多點部署的伺服器,能及時的進行針對性擴容,保證接入。二是採用「三級火箭調控」機制,根據用戶卡頓時間進行自適應調整。三是同一事件往往有各個平臺的人在進行直播,大家均在競爭網絡下進行工作,需要有優異的搶帶寬能力,騰訊雲基於UDP的傳輸方案在此時則具有明顯優勢。

3、低延時連麥

低延時連麥是互動直播中的重點也是最基本的要求,騰訊雲同樣是基於多年的音視頻積累經驗,轉換了一套解決方案。低延時連麥對音視頻的基礎能力要求較高,包括對語音的回聲消除能力、視頻的原音編解碼等能力。

說到回聲抵消技術,可能有做過IOS開發的同學會說,IOS上自帶有回音抵消能力的,為什麼不直接用呢?其實,大家真正去用的話,回聲抵消真正要做細緻的話,需要考慮很多東西。騰訊雲在信號對齊、機型設配、音頻防抖上都有很大的優勢。

此外,我們在視頻上針對編解碼也做了許多優化,包括視頻壓縮質量的調節、低碼率畫面下編碼方式的調節等,使得在視頻編碼的性能和效果上,都有一定的加強。目前已經放開了500多款行動裝置的硬體編解碼。

4、開放式框架

開放式的框架指的是無論是在採集層還是處理層,可以實現既可以使用我們設定的,也可以自定義,包括自定義實時水印、美顏、音效等,更符合個人需求。

5、運營與網絡模擬

作為一個開放的SDK,對於運營能力是非常重要的。當你的SDK接入了幾百家的用戶,如果沒有出色的運營能力的話,你很可能會轉變為疲於奔命幫用戶解決問題的客服。騰訊雲目前的做法是除了提供給用戶業界通用的包含每日訪問數據、每日卡頓率變化的報表,還提供一個實時的監控系統,可以讓用戶及時看到訪問情況。

另外,我們實行一套網絡模擬系統,我們自己在騰訊大廈實驗室裡面模擬各種託管下、競爭網絡下以及運營商網絡下的網絡環境。現在這一套系統也已經集成在SDK裡,可以進行模擬。

講完這麼多,那究竟要接入騰訊雲SDK的過程是怎麼樣的呢?

其實,經過我們的多輪優化,我們現在接入的過程已變得十分簡單。下圖的8個小框可能僅需要一行代碼,如果大家想接入的話,可能從我現在講完到待會活動結束,Demo就能跑起來了。可能還有人會覺得說自己音視頻方面的技能比較差,不是很清楚一些房間之類的概念,我們還提供了一個「隨心播」的APP,代碼是完全開源的,需要的話直接把代碼Copy過去基本上就能正常使用。

謝謝!

【現場互動環節】
【問】:騰訊雲視頻上對於掛件這一塊有沒有單獨的SDK?
【答】:有的,我們有單獨的渠道來接入、開放。
【問】:直播中的接送禮物、結算這一塊的SDK有沒有公開呢?
【答】:結算的SDK我們沒有做的,因為涉及到用戶的金融還有用戶量等數據,不是很方便去做。一般的直播平臺都會自己去做這一塊,畢竟涉及到結算的問題。

郭亮的分享PPT下載地址:http://www.oschina.net/doc/44250

相關焦點

  • 網易雲信流媒體首席架構師:新一代音視頻技術架構如何構建?
    前言5G 與 AI 時代已來,音視頻技術持續迭代升級,網易雲信推出了全新一代音視頻技術架構。新一代音視頻架構有哪些核心技術?各技術在線上場景又有哪些落地實踐方案?網易創新企業大會發布了新一代音視頻技術架構,進行了全流程的技術升級,包括新一代音視頻融合通信服務端系統、新一代音視頻 SDK 以及新一代音視頻引擎。本文整理自網易雲信流媒體首席架構師、多媒體開發專家吳桐的大會現場實錄。
  • 直播報名|騰訊新一代數據湖技術專場分享
    導讀:什麼是數據湖技術?它能帶來什麼樣的數據架構革新與業務價值的提升?大數據領域最為時髦的項目Apache Iceberg,Apache Hudi,Delta Lake,它們是什麼,原理和實現細節有什麼異同?想知道騰訊是如何使用數據湖技術的嗎?
  • 亞馬遜推出IVS互動視頻服務 採用與Twitch直播平臺相同的技術
    亞馬遜雲服務(AWS)今日宣布了一項「互動視頻服務」(簡稱 IVS),藉助這項完全託管的新功能,客戶可快速為 Web 或移動 App 配置可實時交互的流媒體視頻。如果你留意過亞馬遜旗下的流媒體直播平臺(Twitch),就會發現兩者基於相同相同的幕後技術。
  • SDCC深圳站之架構技術峰會講師團大公開
    兩場峰會大牛講師來自百度、騰訊、阿里、京東、小米、唯品會、滴滴出行、攜程等知名網際網路公司,共同探討高可用/高並發/高穩定/高流量的系統架構設計、秒殺系統架構、搜索架構、中小企業架構之道、數據平臺系統演進歷程和技術剖析、傳統資料庫與分布式資料庫選型/備份/恢復原理及優化實踐、大數據應用實戰等領域的熱點話題與技術。
  • 15 年架構設計經驗:我眼中的那些優秀架構師
    去年底,我曾經面試過一位架構師的候選人。這位候選人是一位大廠高級工程師,因為技術好,在團隊中承擔一些管理工作。從他簡歷上的項目經驗,我能看出他的編程能力和技術深度都屬於優秀行列,在某些項目上,已經承擔了一部分架構設計職責,是個潛力型人選。
  • GAME-TECH 騰訊雲遊戲行業技術沙龍·廈門站
    金富玉強調,騰訊雲提供的售前、售中、售後階段,包括商務、架構師、產品架構師、專家等一套服務體系,旨在為遊戲在海外上線、運營等過程中提供完整的服務。03 騰訊安全為遊戲出海業務保駕護航黎國龍認為,雲遊戲當前的痛點是場景和商業模式單一,而騰訊雲通過多場景支持,包括互動、TV、網吧等滿足不同客戶需求,幫助客戶在 5G 時代趕上彎道超車的機會。06 虎牙雲遊戲直播的探索之路
  • 騰訊互動娛樂《天涯明月刀》IP架構師顧婷婷:MMORPG手遊對IP的真正...
    結合雲遊戲技術發展、遊戲渠道及出海創新、電競遊戲及精品遊戲未來三個維度,36氪對遊戲產業上下遊進行了重新梳理,通過對遊戲產業及各個細分領域的市場規模及發展現狀、未來趨勢等維度數據,進行了深入的研究分析以及探索,並邀請了華為雲,360遊戲,網易、騰訊互娛、金山雲遊戲等相關領域企業大咖,分享遊戲內容,為中國遊戲產業發展方向帶來獨到的見解和判斷。
  • 直播教育系統開發涉及到的系統架構問題
    系統架構問題是直播教育系統開發過程中至關重要的一部分。只有架構搭建好了,後期添加多種功能進去的時候,才不至於出現各種各樣的問題。市面上,常見的直播架構有三種,分別是簡單直播架構、實時交互直播架構、解決高並發三種。下面,我們一一來了解一下。
  • 2020騰訊遊戲開發者大會落幕
    在直播期間,TGDC主辦方通過觀眾社群、實時彈幕等一系列線上互動機制,構建線上交流與討論氛圍。同時,主辦方還邀請觸樂、GameLook、遊戲葡萄、遊戲陀螺4家行業媒體與觀眾互動討論,營造「第二現場」,並試圖通過多樣化的直播方式來豐富大會的線上觀看體驗。本次會議歷時4天,其間有30位嘉賓做了演講和分享。
  • 聚焦數據架構前沿技術 快手大數據平臺架構技術交流會成功舉辦
    作為全球領先的生活分享社區,目前快手日活躍用戶超過 3 億,庫存短視頻數量超過 200 億條,直播日活超過 1.7 億,電商日活超過 1 億。在海量的 UGC 數據、業務數據、用戶數據背後,支撐快手數據業務的大數據平臺架構系統,經歷了幾個階段的高速發展。為此,交流會著重介紹了快手在大數據存儲、調度、計算上的技術挑戰、應用、演進與最佳實踐。
  • 騰訊工業雲首席架構師餘弦:做好數位化助手,布局數字經濟新基建
    4月28日,在由每日經濟新聞主辦的「聚焦新基建——中國工業網際網路的啟蒙年代」在線沙龍上,騰訊工業雲首席架構師餘弦表示:「繼發起2億元戰疫開發者公益聯盟、15億元戰疫基金後,騰訊雲還推出了針對中小企業戰疫幫扶計劃,免費為超過10萬家中小企業提供雲資源和協同辦公產品。」網際網路巨頭騰訊希望在工業網際網路層面扮演「數位化助手」的角色。
  • 短視頻直播系統,短視頻播放器通用架構
    短視頻直播系統用到的基礎封裝視頻包放棄player,可以實現對於視圖狀態的切換和後期維護的拓展。短視頻直播系統的播放器要適應的不僅僅是行動裝置的系統,還要適應不同版本支持的播放格式。針對短視頻直播系統的視頻播放、視頻直播功能,整個播放器的整體架構分為播放器內核、視頻播放器、邊播邊緩存、高度定製播放器。這樣的架構,使用簡單、代碼的拓展性也更強,能實現和業務的徹底解耦。
  • 騰訊工業雲首席架構師餘弦:騰訊雲向10萬家中小企業提供幫扶資源
    來源:每日經濟新聞今日(4月28日),在由每日經濟新聞主辦的「聚焦新基建—中國工業網際網路的啟蒙年代」在線沙龍上,騰訊工業雲首席架構師餘弦介紹了疫情暴發背景下,騰訊如何幫助中小企業鋪平上雲之路的難點問題。從發展趨勢看,數位化轉型已經成為社會各界共識。
  • 騰訊雲十周年直播專場 攜手微贊直播助力企業直播營銷
    9月8日晚,技術大咖秀·雲端數字GO,騰訊雲十周年和騰訊全球數字生態大會感恩回饋直播專場——SaaS生態合作夥伴專場圓滿開展。騰訊雲SaaS行業拓展專家肖子軒、騰訊雲SaaS商業化中心解決方案高級架構師王舜堯、微贊CEO周鵬鵬、六度CRM創始人張星亮、法大大生態合作總監萬爽等品牌帶貨官、證言官和技術大咖聚集,詳解產品內核和應用場景,帶來全方位品牌證言。
  • 從視頻直播到直播抓娃娃,全面解讀在線娃娃機方案架構
    在線抓娃娃模式的成立,背後源於近幾年日益成熟的直播連麥和物聯網技術。在線抓娃娃的本質是利用直播和物聯網技術對線下抓娃娃的場景作還原,通過攝像頭採集抓娃娃的實景畫面直播給玩家,玩家根據直播畫面來判斷機爪位置,用手機遠程操控機爪來抓取娃娃。
  • 校園教學新場景:互動直播課堂
    這是雞澤縣的一所小學,項目是互動課堂的建設,也有叫雙師課堂、空中課堂的。主要是把一個學校老師上的課共享給另外一個學校,通過網際網路傳輸,實現音視頻的實時互動,相當於以前的搞起錄播教室的網際網路進化版。二、支持多端聽課,有強大的音視頻互動功能。由於伺服器壓力大大增加,很多提供線上教學服務的軟體都崩潰或者停擺,就連行業內的大佬——希沃也數次崩潰,最後連他們自己都跑去用淘寶直播來進行老師培訓了。突然我想起我雞澤項目的朋友,按時間來算,如果項目運作正常的話,他們應該已經進入了日常使用的階段,不知道共學雲是否能經受住考驗呢?
  • 2020騰訊遊戲開發者大會圓滿落幕:為遊戲人打造更開放的平臺
    在大會直播期間,通過觀眾社群、實時彈幕等一系列線上互動機制,構建線上交流與討論氛圍。同時,還邀請觸樂、GameLook、遊戲葡萄、遊戲陀螺四家專業媒體,打造「第二現場」,與觀眾互動討論,並通過多種形式的直播方式,豐富大會的線上觀看體驗。
  • 2020 騰訊遊戲開發者大會圓滿落幕:Game 4 Change,為遊戲人打造更...
    在大會直播期間,通過觀眾社群、實時彈幕等一系列線上互動機制,構建線上交流與討論氛圍。同時,還邀請觸樂、GameLook、遊戲葡萄、遊戲陀螺四家專業媒體,打造「第二現場」,與觀眾互動討論,並通過多種形式的直播方式,豐富大會的線上觀看體驗。
  • 從互動直播到線上抓娃娃,這個IDG投資的騰訊團隊如何抓住風口?
    其實在線抓娃娃的本質就是利用「直播+物聯網技術「實時復現線下抓娃娃的場景,其中直播技術尤為關鍵,尤其是對直播的低延時和流暢性等提出了很高的要求,這點和去年的移動互動直播很像。但不同於互動直播的是,在線抓娃娃更大的意義在於它是直播和傳統線下玩法的一次完美結合,是直播在全新場景下的一次應用嘗試。而且這次的入局者除了純網際網路從業者外,有了更多的傳統行業入局。
  • 2020 騰訊遊戲開發者大會圓滿落幕: Game 4 Change,為遊戲人打造更...
    在大會直播期間,通過觀眾社群、實時彈幕等一系列線上互動機制,構建線上交流與討論氛圍。同時,還邀請觸樂、GameLook、遊戲葡萄、遊戲陀螺四家專業媒體,打造「第二現場」,與觀眾互動討論,並通過多種形式的直播方式,豐富大會的線上觀看體驗。