騰訊會議如何構建實時視頻傳輸算法架構,來實現用戶體驗質量最優?

{"type":"doc","content":[{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"一、騰訊會議的架構爲優化QoE服務"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    騰訊會議總體的架構比較大,主要分成左邊和右邊兩部分。左邊是騰訊會議的主體,包括四個PC\/Android\/Mac\/iOS的客戶端以及後臺,右邊是通過轉碼服務器連接的外部服務。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    我們知道業內很多同行可能用的是WebRTC,但騰訊會議不是。"},{"type":"text","marks":[{"type":"strong"}],"text":"騰訊從QQ時代過來,在音視頻實時傳輸系統的搭建和優化上有很多年積累。騰訊多媒體實驗室基於這些積累,重新編寫了一個跨平臺而且高效的引擎-xCast"},{"type":"text","text":"。這裏面的網絡傳輸層被稱爲Pere, 它其實是一種飛的比高鐵還快的神鷹的名字。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/dc\/dc8f358ab232593273ff10a02d921819.png","alt":"Image","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    今天講的着重涵蓋Pere這部分, 搭建Pere架構圍繞QoE最優化。QoE是什麼? 說QoE就不得不說QoS, QoS一般來說是指單獨的網絡指標,比如延遲、丟包率、用戶可用帶寬等,這些是用來側面反映當時的網絡和系統的質量。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    "},{"type":"text","marks":[{"type":"strong"}],"text":"QoE指的是用戶在終端上實際體驗到的質量"},{"type":"text","text":"。它其實主要依賴線下用戶主觀測試,獲取意見來得到的。但是在線上做優化的時候,實際上沒有時間和條件來蒐集用戶的實時反饋,所以現在有很多的算法和模型,嘗試通過一些指標側面衡量QoE大概的水平,然後針對性地來做優化。騰訊會議架構的一切都是爲了優化QoE。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/a3\/a3f969846c2150c8c27cec9209bb4f3e.png","alt":"Image","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"二、在影響QoE的指標之間取捨"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    "},{"type":"text","marks":[{"type":"strong"}],"text":"QoE包含信號質量和交互性兩個方面"},{"type":"text","text":"。信號質量指視頻和音頻質量,也就是用戶實際上看到這個媒體的時候,覺得它的流暢度、清晰度怎麼樣的,還有它跟源信號的對比。交互性主要是指溝通的耗時,交互的便捷度,任務達成的難度,還有社交習慣的再現度等等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"    在互聯網上傳輸東西是通過IP網絡,這個過程中包可能會遲到,甚至直接丟了。那麼如果一個視頻會議系統做的不好,一旦發生丟包,它的畫面可能就會卡頓,甚至會有一些花屏,用戶就會覺得信號質量降低了"},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    "},{"type":"text","marks":[{"type":"strong"}],"text":"1. 延時與交互性取捨"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    有很多信道層次保護方法,可以在包遲到或者丟包的時候做質量恢復。一個是Jitter Buffer,那些包雖然來的有早有晚,但是可以用Buffer讓包在出的時候變得平滑均勻。另外一個是FEC,通過冗餘技術,來傳一些額外的包來補救。當然還可以通過重傳的方式來讓一些丟了的包再出現。通過這些方法,可以保證系統的信號質量。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    "},{"type":"text","marks":[{"type":"strong"}],"text":"但是,信號質量提升的同時,交互性變差了"},{"type":"text","text":"。這是爲什麼呢?下面的圖是在線下的面對面雙人交流中,A跟B在同一個世界,他們看到的東西是同一個,所以只要A說話,B立刻能聽到A的話語,B說話的時候反之亦然。在這裏大家的話語的傳遞很及時,溝通也沒有什麼困難。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    而在對應的線上雙人會議中,"},{"type":"text","marks":[{"type":"strong"}],"text":"因爲有傳輸延遲,也有一些爲了提升信號質量而做了重傳或者很長的延遲,A說話的語音跟畫面,可能過了一段時間纔到B那邊,反向也是這樣。這個會導致什麼問題?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"首先他們兩人交互的總耗時變長了,增加的時間會改變端到端延遲引入的。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"另外,會改變說話的對稱性,人們在這種情況下,會覺得自己反應很快,但對方的反應很慢。說話方看起來說話很快,聽到後立刻響應,但是很久之後才能聽到對方的迴應,這樣其實會帶來交流上的困難。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"更嚴重的是,在A等待B的話過來的時候,感到不耐煩了,偏要說話,那就會出現兩個人同時說話的場景,在音頻傳輸上一般稱爲雙講。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/bc\/bc7d93cc9c99938fc31d9c4820c2d5d1.png","alt":"Image","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"    端到端時延"},{"type":"text","text":","},{"type":"text","marks":[{"type":"strong"}],"text":"傳統上認爲佔大頭的是傳輸跟緩衝,但是實際上我們在實踐中發現,無論是採集渲染還是編解碼,都是要耗一定的時間的,而且有時候時間還不小,尤其是在一些特定的移動平臺上"},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    ITU G.114指出,端到端時延在超過150毫秒時,就已經能開始察覺到了,超過400毫秒的話,很多用戶就覺得不可接受了。所以說端到端的時延很重要。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/84\/8418f0eff084364a995e960cd8de118e.png","alt":"Image","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    好在端到端時延是一個可變參數,可以通過調整緩存時間,調整策略來使時延變長或者變短。而通過"},{"type":"text","marks":[{"type":"strong"}],"text":"調整時延,能在信號質量和交互性中間找到更好的平衡"},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    在一些情況下也會根據交流的內容進行取捨。比如老師給學生們講課,基本上是老師在講,那麼如果學生說話回的慢一點,一般也不容易被察覺,就可以把學生說話的時延稍微調大一點,來保證質量。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    "},{"type":"text","marks":[{"type":"strong"}],"text":"2. 質量與抗性取捨"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    "},{"type":"text","marks":[{"type":"strong"}],"text":"質量指原來音視頻展示的清晰度和幀率,而抗性一般指特定損傷網絡下卡頓率的高低。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    從信道方面來看,在可用帶寬受限時,源數據和冗餘數據其實是競爭關係。源數據更多的話,清晰度會更好,而冗餘數據更多的話,在網絡有損傷的情況下會更容易恢復,所以這裏要做一個權衡。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    另外信源本身也能提供一些抗性。視頻裏主要是可以通過編I幀,可以做幀內刷新,用SVC,或者是選擇參考幀來獲得這些抗性,這樣它其實是把一部分的編碼的資源用在冗餘上,也會導致清晰度下降。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    "},{"type":"text","marks":[{"type":"strong"}],"text":"3. 核心問題:有限資源的分配"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    "},{"type":"text","marks":[{"type":"strong"}],"text":"這裏的核心問題就是,時延和帶寬有限,不能無限增加,那麼應該怎麼分配。下面的圖只是舉個例子,這裏的數字不代表騰訊會議系統就是這樣做的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    例如說時延裏有30%用來做網絡傳輸的固有時延;那麼當網絡不好的時候,就要佔一部分時間來做重傳;當網絡有抖動的時候,還需要一些平滑時間來平滑一下那些幀;還有一部分是採集渲染編解碼的時間。如果不能針對性地分配時間,就可能出現抗性不足的問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    帶寬可能大部分是用來傳源數據,但因應網絡損傷場景,也要留一部分給冗餘數據。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/30\/3089821bbd0ad328fd7bf7f5be6d1285.webp","alt":"Image","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"三、將最優化問題與系統控制關聯"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    "},{"type":"text","marks":[{"type":"strong"}],"text":"1. QoE最優化問題"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    "},{"type":"text","marks":[{"type":"strong"}],"text":"騰訊會議QoE的最優化,實際上是在各種控制參數上,找到一個最優的參數組合。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    這裏其實涉及三個問題,這三個問題都不太簡單:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"怎麼評估、怎麼獲得QoE;"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第二,QoE在實時系統上到底應該怎麼算;"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"第三,給定了算式後,應該怎樣做最優化。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    下面重點介紹一下第三個問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/56\/56605201f5d6769be4e0f1d5fc469d21.png","alt":"Image","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    "},{"type":"text","marks":[{"type":"strong"}],"text":"QoE最優化主要是考慮這些方面:卡頓,端到端時延,畫面質量,音畫同步,變化平穩度"},{"type":"text","text":",下面圖中是影響這些方面的因素。而它的約束主要有三點:"},{"type":"text","marks":[{"type":"strong"}],"text":"時延約束,發送碼率,接收碼率"},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    這裏的難點在於,很多指標的估算都涉及概率方面的統計,而很多指標不是獨立分佈的,要算準一個期望很難。在期望算不準的情況下,最終的效果就會跟預期的差很遠。在這裏騰訊會議也花了很大的力氣來做一些調整。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/ce\/ce6d555341b235c1970d676ee7350da9.png","alt":"Image","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"    2. 時延約束"},{"type":"text","text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    因爲時間有限,今天只講其中兩個最重要的約束,分別是時延約束和帶寬約束。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    端到端時延與RTT、重傳次數、抖動、目標卡頓有關。在騰訊會議的系統上它是這樣的,在發送端就已經決定好一個最優組合策略,來指導上下行所有參數的調整,而接收端會根據策略大方向,在必要的時候做一些緊急補救。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    實際上跑下來發現,因爲預測大部分情況下都足夠準確,所以那些緊急補救使用機會不是特別多。同時因爲重傳是一個比較節省流量的抗性策略,所以在時延和丟包的模式允許的情況下,騰訊會議會優先使用重傳,不足的地方採用FEC來補救。這樣的話,可以看到騰訊會議的時延其實最大的部分就是網絡本身的延遲,還有重傳的延遲。下行可能會多一個Jitter Buffer抖動的平滑延遲,之後還有一個音畫同步的時延,這部分就組成了騰訊會議整個端到端的時延。 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    在做這個時延優化的實踐裏,我們發現還有很多需要考慮的地方。比如說媒體服務器不是一個點,它們之間傳輸需要時間,而且它們可能也不是百分之百可靠。另一方面就是因爲騰訊會議做的是一個全平臺的方案,可能遇到有一些平臺,它的處理比較弱,在視頻路數比較多的時候,很容易處理不過來,造成延時約束被打破。在這些地方騰訊會議都投入了很多精力來做微調的優化。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/7f\/7f629e5d32f54d64f0de2b099d9daf54.png","alt":"Image","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"    3. 帶寬約束"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    "},{"type":"text","marks":[{"type":"strong"}],"text":"一個視頻會議裏面,帶寬的分配達到了“斤斤計較”的程度,這是因爲無論是原來的碼率,帶內冗餘、帶外冗餘還是重傳的碼率,都要使用帶寬。而帶寬如果超出了正常的範疇,視頻的丟包率和抖動都會突然上漲"},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    騰訊會議針對網絡的類型來使用不同的擁塞控制算法,來保證帶寬約束不被破壞。我們發現在大部分網絡下面,擁塞之前數據都會先排一下隊,那麼在這種網絡下,我們會做以延遲爲主的擁塞控制。但是在一些網絡上,主要是跨運營的網絡,在有擁塞的情況下,很容易會立刻丟包,給它傳的越多它丟包越厲害,那麼在這種情況下就不能盲目的通過重傳FEC、超發等方式來做網絡抗性,要針對性地做一些不同的擁塞控制。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    下行方面會相對複雜,因爲一個上行可能對應很多下行。那麼我們會靠一些粒度相對粗放的策略做擁塞控制,做完探測之後,通過一些時域、空域的SVC,或者通過FEC增減,來進行擁塞控制,使得下行流量在控制範圍內,而且不會比預測的可用帶寬小太多。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/a6\/a6cb379d241552f1a8e0c6c7623499f0.png","alt":"Image","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"    總結一下,騰訊會議的整個架構都是爲優化QoE而服務的,要在這些QoE指標之間進行取捨。在實踐中,騰訊會議會把控制跟最優化問題做一個關聯,然後在各個模塊上佈置各種算法,基於最優化QoE做出決策,驅動算法。"}]},{"type":"horizontalrule"},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"頭圖:Unsplash"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"作者:許景禧"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"原文:https:\/\/mp.weixin.qq.com\/s\/_PvC58_zRlCbQOsKC-P-5w"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"原文:騰訊技術開放日 | 騰訊會議如何構建實時視頻傳輸算法架構,來實現用戶體驗質量最優?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"來源:騰訊多媒體實驗室 - 微信公衆號 [ID:TencentAVLab]"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"轉載:著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章