微信如何實現小程序實時視頻直播點播?有哪些難點?

流媒體服務器的未來將伴隨着寬帶應用和網絡發展的總趨勢,畢竟科技改變生活,未來流媒體也將佔據網絡的主流,視頻流媒體服務器的功能和作用也將越來越豐富。

在未來,流媒體服務器將轉向高度分佈式的系統結構,這種體系結構在地理上是分佈的,但邏輯上是單一的系統映像。在未來,一方面會有高性能的網絡存儲設備,另一方面會有高度智能化的協議控制和處理設備。這將是未來流媒體服務器擴展的極好方向,而微信也是一個非常有發展潛力的平臺,尤其是微信小程序的直播開發。

9861d863918551af3e401f8084309e4e.png

那麼現階段的微信小程序能實現直播功能麼?答案是:可以的。視頻直播分爲兩種模式,一種是單向直播,通過CDN分發,成本低,延遲1~3秒,小程序通過Live模式搞定。另外一種是互動直播(連麥),需要比較低的延遲,要500ms以內,小程序通過RTC模式搞定。

06022eaf89d64a5882f75129070fc2b6.jpg

但實際上小程序實現直播功能還有幾個點需要克服:

第一個是延遲要足夠低。如果單向延遲不能低於500毫秒的話,視頻通話的互動體驗就無法保障。

第二個是回聲消除。因爲用戶A和用戶B之間進行視頻通話時,用戶A的聲音在傳到用戶B端時被採集並反饋回來,用戶A在一定的延遲後會聽到回聲,這個對通話的體驗十分有影響,因此必須做回聲消除。

第三個是要流暢不卡頓。爲什麼流暢性很必要呢?因爲有超低延遲的要求,流暢和延遲本身就是一對相互矛盾的技術要求,如果延遲足夠低的話就要求抖動緩衝區足夠的小,這樣網絡抖動就很容易顯現出來,導致出現畫面過快、過慢,或者卡頓的情況。

那我們一起來看看上面三個技術難點分別在哪些環節:

1)低延遲,基本上引入延遲的有三類環節:採集和渲染、編解碼、網絡傳輸。第一類是採集和渲染環節,帶來的延遲比較大,尤其是渲染,幾乎沒有任何移動端系統可以保證百分之百做到50毫秒的延遲,這是一些硬件上的限製造成的。第二類是編解碼環節,特別是音頻編解碼器是往前編碼的,這個本身就會帶來延遲,甚至有些音頻編解碼器能帶來200毫秒的延遲。第三類是網絡傳輸,在即構科技的實時傳輸網絡裏,往返的傳輸延遲分別都可以做到50毫秒以下。其中,採集和渲染、編解碼都是在終端實現的。

2)回聲消除,屬於語音前處理3A,需要在前處理環節進行,也就是在終端實現的。

3)抖動緩衝,是在接收端實現的,通過接收端的抖動緩衝來決定發送端要以多大的時間間隔來發送數據包。

綜上所述,剛纔說的三個技術難點都是在終端實現的,因此終端非常重要。我們EasyDSS流媒體服務器就能夠集成在微信小程序用於直播,同時也很好避免了高延遲以及回聲的情況出現,適用於小程序進行課堂直播以及安防行業等場景。

DSS4.png

視頻直播點播服務器EasyDSS流媒體服務器能夠提供一站式的轉碼、點播、直播、時移回放服務,極大地簡化了開發和集成的工作。點播功能主要包含:上傳、轉碼、分發。直播功能,主要包含:直播、錄像,直播支持RTMP輸入,RTMP/HLS/HTTP-FLV的分發輸出;錄像支持自定義保存時長、檢索及下載。提供豐富的二次開發接口,基於JSON的封裝及HTTP調用。提供播放鑑權、推流鑑權等安全保證。提供用戶及相關權限管理配置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章