本文由淘寶直播音視頻算法團隊原創分享,原題“5G時代|淘寶直播高畫質低延時技術探索”,收錄時有改動。
1、引言
目前,5G技術應用正在逐步推進,相比目前廣泛使用的4G, 它具有更高的速率,更大的容量,同時延遲更低, 可靠性更高。
在5G時代,得益于網絡帶寬的提升,視頻未來將成為主流的傳播媒介。越來越多的業務和應用將視頻化、直播化。 大量互動的內容將通過5G以低延時的方式以視頻的形式傳輸。5G將對視頻分辨率和清晰度提出越來越高的要求。
淘寶作為一個數億級用戶的短視頻與直播平臺,業務多樣,兩端用戶分布廣,設備和網絡情況復雜,給多媒體內容存儲和分發帶來巨大挑戰。
本文由淘寶直播音視頻算法團隊分享,對實現高清、低延時實時視頻直播技術進行了較深入的總結,希望分享給大家。
(本文同步發布于:http://www.52im.net/thread-3220-1-1.html)
2、入門文章
如果你對視頻直播技術沒什么了解,可以先讀以下入門文章:
《移動端實時音視頻直播技術詳解(一):開篇》
《移動端實時音視頻直播技術詳解(二):采集》
《移動端實時音視頻直播技術詳解(三):處理》
《移動端實時音視頻直播技術詳解(四):編碼和封裝》
《移動端實時音視頻直播技術詳解(五):推流和傳輸》
《移動端實時音視頻直播技術詳解(六):延遲優化》
3、正文概述
面對實時視頻直播技術的的高需求,當前面臨的主要問題有:
- 1)需要在內容生產過程中把控好質量和成本;
- 2)需要在內容分發和消費過程中確保用戶體驗。
為了解決這個問題, 我們有兩個優化目標:
- 1)一是在畫質不變的前提下降碼率;
- 2)二是在碼率不變的前提下提升畫面質量。
在降碼率上,我們通過以下手段有效地降低了視頻碼率帶寬:
- 1)自研高效編碼器;
- 2)升級播放架構;
- 3)添加智能ROI;
- 4)場景編碼;
- 5)智能碼控等工具。
在這些技術中:
- 1)高效的編碼器能夠在質量不變的前提下顯著降低碼率;
- 2)場景編碼能夠根據不同的畫面內容配置合適的編碼參數;
- 3)ROI挑出畫面中人眼比較關注的區域交給編碼器重點編碼;
- 4)智能碼控根據人眼主觀特性,消除因為超過人眼閾值而浪費的碼字。
在畫質上,我們使用了以下算法提高生產內容的觀感質量:
在體驗優化上:通過低延時編碼技術,在降低了編碼延遲的同時損失很小的碼率,增加觀眾和主播的體驗。
圍繞著提高問題發現、問題處理效率的出發點,具備數據采集、存儲、異常事件收集、智能告警、告警數據運營、可編碼診斷平臺、故障自動化處理、變更聯動等能力。我們搭建了一套基于淘寶直播的全鏈路監控體系,從音頻,視頻,網絡這三個方面入手去解決目前淘寶直播全鏈路的現有問題以及將來可能出現的問題。不斷去優化整套高畫質低延時系統。
與此同時,我們建立了客觀質量和主觀質量評價體系,采用vmaf、psnr、ssim這一系列的指標作為客觀質量評價。針對海量無源場景,我們還基于cnn建立了無源評價模型,保證無源場景下質量評價的準確性。以這些有效的評價手段來確保“畫質不變”,并監控線上視頻質量。
下面的章節將針對上述的主要技術實踐,進行深入的分享。
4、窄帶高清實踐
4.1 自研的S265編碼器
帶寬成本是視頻服務中非常重的基礎設施成本,如何在保證視頻質量的前提下降低成本是整個鏈路中至關重要的一環。
相機采集到的視頻數字信號,數據帶寬通常都非常高:以720p 25fps為例,帶寬高達263.67Mbps,很難存儲和發送。
好在視頻圖像內部,幀與幀之間存在非常高的相關性,采用視頻壓縮技術去除相關性后,可以將帶寬降低到原來的100-400倍。(有關視頻編碼技術,這里有篇更通俗的:《零基礎,史上最通俗視頻編碼技術入門》,建議入門必讀)
視頻壓縮標準主要由ISO(國際標準組織)制定的MPEG系列和ITU(國際電信聯盟)主導的H.26X系列, 每隔十年時間,視頻壓縮標準升級帶來的壓縮率會提升一倍。
h265作為比h264更新一代的視頻壓縮標準,提供了更靈活的編碼結構和劃分方式,并在在運動補償、運動矢量預測、幀內預測、變換、去塊濾波、熵編碼等方面進行了大量改進與優化, 得益于這些新的編碼工具和特色技術,相同畫質下最高可以比H.264節省一半碼率, 為了在不犧牲畫質的前提下節省碼率,h265成為我們首選的編碼標準。
Ali265是淘寶自研的高性能H.265編碼器,對比業界開源的X265可實現BDrate20%以上的增益,對比X264則有40%以上的增益。目前已在淘寶直播,優酷視頻,阿里郎會議、VMate、UC云盤等業務中上線使用。
淘寶直播技術團隊聯合阿里云團開發了s265編碼器,對比業界常用的開源軟件X265,1pass單遍編碼在相同psnr指標下:
- 1)veryslow速度檔次有28%碼率節省;
- 2)medium速度檔次有36%碼率節省;
- 3)crf模式與abr模式節約的碼率接近。
S265編碼從碼率控制、編碼工具兩個方向優化編碼質量,并從快速算法、工程算法兩方面引入速度優化算法。下節將詳細分享。
4.2 S265編碼器的主要優化方法
4.2.1)碼率控制:
為了進一步提高壓縮質量,在編碼器框架標準一定的情況下,編碼器算法優化主要的方向是找到策略選擇出最優的編碼方法和編碼參數,從而獲得更好的碼率節約。
合理分配碼率是編碼器的一個重要工作, 碼率控制的目標是把碼字分配到更有價值的地方,從而在目標碼率下使得編碼失真降到最低,或者在失真固定的前提下使碼率降到最低。
碼控需要解決兩個經典問題:
- 1)一是幀級碼控和塊級碼控根據目標碼率來分配每個GOP、幀、編碼塊的碼字數量;
- 2)二是塊內編碼時以最合理的方式把這些碼字分配到每個編碼塊中。
在幀級別碼控中,傳統方法統計所有已編碼幀的長期復雜度, 根據長期復雜度及當前碼率之間的比例計算出QP。
這樣一來,QP對幀復雜度越來越不敏感,導致編碼質量下降或碼率過剩。 特別是在計算首幀qp時,以往算法采用了一個只和當前碼率有關的經驗值。 我們基于cutree理論準確估計預分析長度中ipb幀的碼率占比和預期編碼大小,從而在編碼前獲得更準確的量化系數。
塊級碼控分配則受時域cutree和空域AQ影響。在時域上IBP幀的重要性是明顯不同的,被后續幀參考的塊,不僅影響自已本身的質量,還會影響到后續幀的質量, 因此被參考更多的塊需要進行高質量編碼。
cutree算法根據幀內預測代價和幀間預測代價計算信息的傳遞比例, 算出當前塊對后續序列的影響程度,進而調整qp偏移。 但考慮到在不同的噪聲能量,運動強度,紋理邊緣強度,以及編碼參數下,不同參考塊的調節為后續幀的節約比例是不一樣的, 所以s265通過參數訓練的方法,獲得多個因素對傳遞效率的影響,得到一個更準確的信息傳遞比遞,從而更合理地在時域上分配碼率。
▲ cutree傳遞過程
另一方面,空域上各塊之間的重要程度也是不一樣的。
人眼是視頻的最終觀察者,從人類視覺系統出發,不同的塊在人眼中的視覺冗余不相同, 比如人眼存在視覺掩蔽效果, 它對顯著紋理和強邊緣附近的噪聲不敏感,將碼率更多分配向人眼敏感的平坦區域,可以得到更好的主觀質量。
在編碼器中,我們通過計算塊的方差能量及邊緣能量作為塊的代價, 研究不同塊能量和人眼感知程度之間的關系, 估計出塊間碼率配分對人眼注意力的影響,合理分配碼率到更重要的紋理塊,提高視頻感知編碼效率。
4.2.2)編碼工具:
在編碼工具上,S265對傳統的場景切換檢測、幀類型決策、SAO、DEBLOCK、兩遍編碼、RDOQ等編碼工具算法做了改進,并實現一批編碼工具。
比如:在參考幀模塊, 有較多的工具可以提高參考效率。
首先:長期參考幀和廣義B幀等幀類型可以提高預測質量,長期參考幀針對背景很少發生變化的直播場景,它有效減少信息經過多幀傳遞帶來的損失,引用長期參考幀可將平均EV提高大概0.25dB。 而傳統P幀改為廣義b幀, 采用雙向預測取代單向預測從而降低噪聲,光照變化,采樣誤差等預測殘差源。
在擴充了幀類型后,我們基于參考強度做IBP幀幀類型決策。
然后:在minigop內部,我們使用金字塔結構的參考關系, 得到比傳統結構獲得更短的參考距離。
最后:在管理和選擇參考幀時,我們考慮到靜止塊和運動塊的區別,靜止塊傾向于參考質量高的幀,運動塊傾向于參考時間近的幀, 所以針對場景篩選出這兩種類型的參考幀能得到更好的參考質量。
4.2.3)速度優化:
HEVC編碼器帶來了編碼效率的提升,但很多新的編碼工具都存在計算復雜度過高的問題。
因此:優化編碼器速度,在高端機上能打開更多的編碼工具,搜索更大的編碼模式空間。進一步提升編碼質量,在低端機上則能降低CPU發燙和編碼卡頓的現象。
HEVC可以將圖像塊從64x64劃分到4x4,同時塊的類型模式激增,備選的編碼模式數量是h264的數倍,塊劃分及模式決策因此成為一個重要的瓶頸。
所以:在RDO中,減少CU劃分層級的搜索次數,篩選出一些必要的層級是減少計算量的重要手段。
首先:利用時間和空間相關性,可以從參考塊獲取到一些先驗信息, 再結合本塊的運動信息和紋理信息, 分析預判出當前塊CU層級的最大估計層級和最小估計層級。
其次:在決策過程中的提前跳出策略也可以大幅降低計算量, 我們根據圖像紋理的平坦程度, 或者各種模式下的rdcost對比,提前跳出當前的模式遍歷。而在一些圖像非線性的場景,我們通過CNN深度學習模型輔助決策模式。
進入決策模塊的內部:同樣存在大量復雜的計算。
幀內預測存在35種模式,我們可以通過貝葉斯理論,求出最簡單的幾種模式后,估計出最佳模式最可能出現的位置,從而為幀內模式篩選過程提升一倍速度并將損失控制在0.01db。
另外,幀間預測的運動搜索是從參考幀尋找最佳匹配塊的過程,它的分像素搜索需要做7抽頭或者8抽頭的插值濾波,計算量很大。我們所以可以利用整像素的信息建立二元二次誤差平面方程,估算最佳分像素點的位置,避免了分像素的完整搜索過程。
在評價模式的優劣時通常采用rdcost作為模式的代價,它需要計算編碼比特數和編碼失真。
這就需要將編碼系數進行熵編碼計算碼流長度,同時還要將編碼系數變換回時域求失真。
為了降低rdcost的計算量, 我們采用了失真和碼率的線性估計算法,包括兩個部分:
- 1)其一是量化誤差能量在頻域計算,利用IDCT變換的能量不變性,計算量化余數的平方和估計失真;
- 2)其二是建立編碼系數特征信息和碼流大小之間的線性關系,直接從系數特征信息估計出熵編碼的大小。
通過這個方法可以跳模式代價計算的熵編碼過程以及,反變換,反量化,重建,SSE等過程。 節約了大量的計算。
在rdo之外:我們還改進了slicetype決策算法,動態拉格朗日因子調整算法,快速deblock和sao決策等。
在工程優化方面我們也添加了多項優化:
- 1)C函數優化,通過優化流程邏輯、拆分特殊路徑、合并分支、查表、循環優化等給rdoq模塊、系數解析、deblock等模塊帶來近一倍的提升;
- 2)針對密集計算的函數我們simd化并優化匯編代碼的執行速度。
s265經過快速算法與工程兩個層次上的優化,我們為HEVC編碼帶來了明顯的性能提升。從而在低端iphone上實現720P 30幀每秒的實時編碼。
4.3 智能碼控
智能碼控是淘寶自研的碼率控制算法。
普通ABR或CBR碼率控制為了追求目標碼率,在低復雜度場景浪費了大量碼率,根據人眼主觀質量模型,當psnr高于一定閾值后再提高質量人眼無法察覺只會消耗過多碼字。
我們使用機器學習方法,根據17種歷史編碼信息和待編碼幀的復雜度,預估出待編碼幀在質量閾值以上的量化系數,并限定在ABR目標碼率以下,確保每個幀都能以最合適的碼率編碼。
經過淘寶直播線上驗證,可達到15%的省流,在釘釘直播中使用更是節省了52%的帶寬并降低了62%的推流側卡頓。
4.4 場景編碼
由于當前淘寶直播種類的豐富性,各種場景下的紋理、光照、背景、運動程度都是不一樣的。
比如:
- 1)戶外主播經常走動,畫面幀變化幅度頻率高;
- 2)美妝主播大多坐在室內,光照基本上比較偏亮;
- 3)珠寶類主播主要是拍攝物品,畫面多靜止不動。
面對形形色色的直播場景,單一的編碼器配置并不能滿足當前淘寶直播的需求,開啟或關閉某些編碼工具對視頻編碼效果影響不一致,如何針對內容選擇最佳參數成為業界研究的方向。
在此需求下,我們提出了基于不同場景的編碼參數配置策略。
首先:我們通過多個深度學習與機器學習模型對數萬條各種內容的直播視頻進行了數據訓練分類。
包含兩個大的特征維度,分別是:
語義特征包含:
- 1)主播分級;
- 2)商品特征;
- 3)環境特征;
- 4)聲音特征;
- 5)時域空域RoI。
信號特征包含:
- 1)運動特征;
- 2)紋理特征;
- 3)噪聲特征;
- 4)亮度特征。
通過對不同特征種類的視頻集,我們單獨使用大規模服務器集進行最佳編碼參數搜索,自動化高效地搜索到適合當前視頻編碼的最佳編碼參數組合,在提升畫質的同時能盡可能地減少碼率消耗。并最終根據編碼參數集進行聚類分為多個參數配置項。
在主播需要推流的時候,首先進行標準的編碼參數配置進行推流。收集一定的數據之后,我們將得到的視頻語義特征和信號特征送入自適應決策引擎,通過里面的深度神經網絡進行視頻分類,決策出當前視頻應該下發的編碼參數配置,然后我們將新的參數配置重新送入編碼器進行新的推流,以此優化使主播獲得當前情況下最優質的視頻編碼。
通過此方法,我們在淘寶直播里面獲得了7-10%的BDrate收益,在淘拍場景下獲得了40%的BDrate收益。
4.5 低延時編碼
在直播中,低時延意味著高效率和優質體驗。
試想以下場景:
- 1)場景一:當主播展示下一個商品后,10秒才收到上一個的商品的提問;
- 2)場景二:釘釘課堂直播中,老師提問后遲遲得不到學生的反饋,浪費部分時間。
這些場景給用戶帶來糟糕的體驗,使得直播賣貨、直播課堂效率低下。
當5G普及,會帶來更低的時延,帶來更好的體驗,但是當下還是4G為主,降低時延有很有必要。
端到端延遲主要分布在:
- 1)采集;
- 2)編碼;
- 3)傳輸;
- 4)轉碼;
- 5)分發;
- 6)播放。
這部分主要優化編碼延遲。
編碼延遲又分為:
- 1)多線程導致的延遲;
- 2)緩存幀數延遲;
- 3)B幀數帶來的延遲等。
其中編碼延遲最大的一部分來源于編碼器緩存,通過分析編碼前的緩存圖像,可以大大的增加編碼效率。如果粗暴的降低編碼器緩存,可以實現較低的延遲,但是質量損失比較高。
所有產生了一種想法,能不能用較少的緩存去模擬較長的緩存的效果?
通過分析cutree的原理,結合統計lookahead長度跟傳遞代價的關系,可以發現緩存長度跟傳遞代價很強的線性關系。
如下圖所示:
根據場景可以用不同的預測模型變種,最終實現用較短的lookahead模擬較長的lookahead的效果,測試在直播素材中lookahead4優化后比優化前可以節省13.5%的碼率,有效的降低了編碼延遲。
結果示意圖如下:
同時,在之前的測試中發現,該優化對場景不敏感,運動簡單場景和運動復雜場景提升同樣有效。
過去一年,我們采用前述優化,將265碼流在畫質不變的前提下,將碼率從1.4M下降到800K。
4.6 畫質增強
在淘寶直播的場景中,大主播有自己的專業設備與團隊,直播出來的視頻與音頻都是比較高質量的。但是針對中小主播,用戶的行為不可控。
因此產生的結果就是很多中小主播產生的視頻質量比較低,收獲的觀眾數量也比較少。
針對這種情況,我們選取了用戶習慣產生最嚴重的幾種情況,對這一類主播進行了畫質增加的,顯著提升了用戶的直播體驗。
下面介紹一些已經有的應用效果。
4.6.1)去抖:
▲ 去抖動效果(原始視頻鏈接點此查看)
現代編碼器能夠較好的處理平坦紋理和平移運動,前者通過幀內預測來消除空間相關性,后者通過運動搜索來消除幀與幀之間的時間相關性。
但是在視頻采集過程中,由于攝像機抖動產生的視頻幀抖動,編碼器不能夠很好的處理。
由于抖動劇烈的一般是中小主播,且攜帶的設備比較老舊,我們考慮從采集源來改善視頻幀,最終在這里我們采用相機路徑平滑算法來去除視頻幀中的抖動。
4.6.2)去噪:
視頻直播在燈光不太理想的情況下,攝像頭采集的畫面會產生明顯的飛蚊噪聲和高斯白噪聲,嚴重影響用戶對視頻內容的感受,這種情況下,有必要對視頻進行降噪。
現有的很多優秀的云端去噪算法,其實對于移動端來說采用深度學習的方法就不合適。
雖然現在有很多移動端深度學習框架,但是畢竟還沒有跟機器是配得非常好,針對很多中低端的手機其實跑不動這種生成模型的。
基于此,我們在移動端主要是考慮效率,那么我們就采了基于維納濾波的時域降噪算法方式來實現,進行訓練和優化。
4.6.3)超分:
針對一些小微主播,錄播設備只能支持360p,最終觀眾端看到的視頻會通過插值等傳統方法進行放大為720p。這樣獲得的視頻幀難免產生模糊效果,影響直播觀感。
得益于深度學習在移動端的優化,我們在部分高端機實現了移動端視頻幀的實時超分。
在眾多的網絡架構中,我們最終選擇了性能最佳的FSRCN方案,網絡的架構圖如下所示。
在訓練過程中:我們精選了1W+淘寶個品類的高清大圖,結合業界的高清開源數據集,利用樣本增強技術,訓練了5000輪左右的模型達到收斂效果。
此外:為了消除圖像分塊帶來的邊界效應,我們做了圖像重疊合并的操作,在增加部分計算時間的情況下帶來了更好的超分效果。
為了在手機端實時運行:避免占用過多資源,我們優化反卷積計算,并針對人眼視覺特性,對強紋理和靜止區域部分像素進行超分,以此大幅提高移動端的效率。
5、低延遲傳輸實踐
5.1 低延遲播放器
5.1.1)常規播放器的延遲分析:
目前基于TCP的直播傳輸技術主要有 HLS和RTMP/HTTP-FLV兩個協議。
其中HLS直播的延遲一般在10秒以上,HTTP-FLV直播的延遲一般在6到9秒,從推流、cdn分發到播放的整個直播鏈路看,延遲的大頭來自播放端。
在播放器中,幾乎每個線程都有自己的緩沖區,這些緩沖區的作用是平滑整個播放鏈路的抖動,它們的大小決定了播放過程中的播放延遲和播放的流暢性。
VideoBuffer和AudioBuffer用來存放待解碼的音視頻 packet,該緩沖區是為了平滑網絡的抖動,推流、CDN傳輸和播放下載的抖動都會堆積到播放端,這是常規播放器延遲最大的一個產生點,為提升直播的整體流暢度,緩沖區延遲一般在5秒以上。
基于TCP的媒體傳輸并不適用于低延遲直播場景,主要原因如下:
- 1)重傳慢:TCP追求的是完全可靠性和順序性,丟包后會持續重傳直至該包被確認,否則后續包也不會被上層接收,且重傳超時時間一般200ms,會造成接收側幀抖動;
- 2)上層無法針對優化:TCP擁塞控制和 Qos 策略在操作系統內核層實現;
- 3)擁塞判斷不準確:基于丟包的擁塞控制跟實際網絡情況不符,丟包并不等于擁塞,也會造成發送鏈路 bufferbloat,鏈路RTT增大。
我們的低延遲傳輸SDK是基于WebRTC打造的,使用了WebRTC的幾個核心模塊,包括 RTP/RTCP、FEC、NACK、NetEQ、JitterBuffer、音視頻同步、擁塞控制等。
NetEQ和JitterBuffer分別是音頻和視頻的網絡抖動緩存區,這是傳輸SDK延遲最大的一個產生點。
RTP over UDP能夠更好地對抗公網的丟包,結合自適應緩存和Qos優化,確保直播整體流暢度的條件下,我們的JitterBuffer的緩沖區延遲能夠控制在700毫秒以下,直播觀看延遲在1秒左右。
5.1.2)播放器對低延遲傳輸SDK的接入適配:
我們對低延遲傳輸模塊封裝了FFmpeg的擴展demuxer,將支持低延時傳輸協議的demuxer注冊到FFmpeg,播放器通過FFmpeg打開網絡連接讀取數據,這種接入方案基本不影響播放器原有邏輯,對播放器改動較小。
主要改動點如下:
1)緩沖區大小控制:
使用低延遲傳輸協議拉流時,網絡的抖動緩沖區是底層傳輸模塊的JitterBuffer,播放器層的JitterBuffer的緩存應設置為0秒,否則會引入多余的延遲;
2)卡頓統計修改:
一般播放器根據緩沖區水位大小判斷卡頓事件,當緩沖區為空或持續空一段時間,這會導播放畫面卡頓,同時觸發卡頓事件,播放器的JitterBuffer被低延遲傳輸SDK接管后,卡頓事件也應該由低延遲傳輸SDK觸發;
3)音頻解碼流程:
從NetEQ獲取的音頻已經是PCM數據了,播放器讀取的音頻數據可直接渲染,如果音頻使用硬解,可能會出現解碼兼容問題,現象是聽不到聲音,使用FFmpeg軟解也是可以兼容的。
5.2 低延遲服務器
低延遲傳輸是一個綜合性的問題,要從整體入手,不僅要從設計上考慮,還需要客戶端,服務器,數據系統緊密配合。
從傳輸協議設計上采用rtp/rtcp方案。基于udp半可靠傳輸,技術成熟,更加適合音視頻場景。難點在于既要降卡頓,也要降延遲。
我們使用的整體算法策略如下:
- a)擁塞控制:擁塞控制gcc&bbr算法針對直播場景深度優化,同時兼顧秒開和延遲。
- b)分層丟幀:基于B幀的SVC算法和丟gop策略在網絡擁塞時保證快速降低碼率,解決擁塞。
- c)重傳控制:重傳控制既要抑制重傳風暴,也要保障快速重傳。
- d)平滑發送優化:平滑發送策略防止網絡突發,平滑流量。同時針對秒開場景深度定制。重新設計發送機制和算法,發送 性能大大提高。
- e)秒開優化:服務器和端配合的多種秒開策略,保證極速開播。淘寶直播大盤平均秒開率94%以上。
- f)信令優化:從信令設計上采用rtcp app私有協議,和音視頻傳輸使用一個socket連接。建聯協議更加精簡,保障 1RTT快速給出媒體數據。
除此之外還進行了大量策略到算法上的改進和優化,基于數據驅動,針對場景不斷迭代優化。
5.3 端到端全鏈路分段統計
我們設計的端到端延遲分段統計系統,既能統計單次播放的總體延遲,也能統計每個階段延遲。
不依賴ntp時間,適合超大規模網絡。
通過分析不同平臺推流端,服務器,播放器各個階段的延遲情況,大盤展示出來,可以針對專項做優化。
6、展望未來
伴隨著5G網絡的提速,主播側到用戶側的延時將會越來越短。
移動端本身的性能提升,各種畫質增強,圖像渲染技術也會慢慢硬件化。
移動端的深度學習模型也逐漸變得輕量化,這使得學術界各種越來越先進的創新也得以工程化。
附錄:更多音視頻技術學習資料
《淺談開發實時視頻直播平臺的技術要點》
《實現延遲低于500毫秒的1080P實時音視頻直播的實踐分享》
《移動端實時視頻直播技術實踐:如何做到實時秒開、流暢不卡》
《淺談實時音視頻直播中直接影響用戶體驗的幾項關鍵技術指標》
《技術揭秘:支持百萬級粉絲互動的Facebook實時視頻直播》
《理論聯系實際:實現一個簡單地基于HTML5的實時視頻直播》
《首次披露:快手是如何做到百萬觀眾同場看直播仍能秒開且不卡頓的?》
《Android直播入門實踐:動手搭建一套簡單的直播系統》
《網易云信實時視頻直播在TCP數據傳輸層的一些優化思路》
《P2P技術如何將實時視頻直播帶寬降低75%?》
《福利貼:最全實時音視頻開發要用到的開源工程匯總》
《七牛云技術分享:使用QUIC協議實現實時視頻直播0卡頓!》
《近期大熱的實時直播答題系統的實現思路與技術難點分享》
《實時視頻直播客戶端技術盤點:Native、HTML5、WebRTC、微信小程序》
《實時音頻的混音在視頻直播應用中的技術原理和實踐總結》
《新浪微博技術分享:微博實時直播答題的百萬高并發架構實踐》
《技術干貨:實時視頻直播首屏耗時400ms內的優化實踐》
《淘寶直播技術干貨:高清、低延時的實時視頻直播技術解密》
本文已同步發布于“即時通訊技術圈”公眾號:

▲ 本文在公眾號上的鏈接是:點此進入,原文鏈接是:http://www.52im.net/thread-3220-1-1.html