微信在去年年末開放了小程序直播接口。小程序從僅適用於閱讀、生活服務、工具等應用的流量入口,成爲了許多音視頻應用的又一個新平臺。新功能的開放讓更多應用能夠利用微信的熟人社交鏈爲應用快速拉新,提供便捷的增值服務,或加速應用變現。咱們的客戶,荔枝 FM 就在小程序上實現語音社交直播,花椒直播也經過小程序實現直播答題一擲千金的場景。git
小程序直播目前對在線教育、金融、醫療、政務民生、社交行業開放了接口,而在增長互動連麥後,將能在這些場景下實現更豐富的業務功能,拓展出更多的使用場景,例如:github
經過附加低延時、高質量的音視頻互動,能夠爲微信小程序延伸出更廣闊的應用場景。不過在開發過程當中還須要解決三大難點。算法
iOS 的微信內核瀏覽器不支持 WebRTC。若是開發者經過 WebRTC 來實現小程序直播,則只能在 Android 平臺上實現直播連麥。因此要想實現支持 iOS 與 Android 平臺,就須要經過微信<live-pusher>
和<live-player>
兩個直播接口來實現。小程序
然而經過這兩個接口都是基於 RTMP 協議進行拉流與推流。這種基於 TCP 的協議自然存在較高的延時,並不適用於直播連麥場景。微信小程序
咱們曾在《詳解音視頻直播中的延時》一文中詳細分析過不一樣階段延時的產生與應對,延時的產生過程簡化後如上圖,延時由兩大部分構成:瀏覽器
所以,解決小程序延時問題的本質在於縮短T2的延時。服務器
聲網下降延時的作法是在音視頻流通過協議轉換後,不經過 CDN 傳輸,而是經過 Agora 的私有 UDP 協議後,進行低延時的傳輸。普通的 UDP 創建的是不可靠的傳輸,所以要進行深度開發來抗丟包,讓傳輸變得可靠。而且,爲了保證傳輸質量,要搭建整套低延時的 UDP 傳輸網絡,有較高的技術和資金門檻。若直接上公網傳輸,無異於「裸奔」。微信
如上圖所示,實現邏輯中有三個關鍵點:網絡
聲網小程序直播互動連麥方案基於聲網Agora SD-RTN™ 實時雲實現低延時、高質量的實時音視頻傳輸。聲網小程序直播互動連麥方案可幫助開發者解決開發中的多個難點:架構
1. 完美解決 iOS 端小程序連麥直播
聲網小程序直播互動連麥方案利用微信小程序自身的推拉流接口,與聲網Agora SD-RTN™ 全球虛擬通信網絡配合,經過聲網私有的 UDP 協議實現了讓用戶可經過 iOS 端小程序與 Android 小程序的低延時連麥通話。聲網能夠幫助開發者解決小程序連麥直播中的協議轉換與低延時傳輸。
2. 小程序與Native App無縫互通
聲網Agora Native SDK 支持 iOS、Android、Windows、macOS、Web 主流系統平臺。基於聲網的小程序直播互動連麥方案開發的小程序,在 Agora SD-RTN™ 的低延時實時網絡環境下可實現與其它平臺 Native App 的無縫互通。
同時,Agora SD-RTN™ 在全球部署了近 200 個節點,採用分佈式架構、動態路由算法,能夠避免網絡擁塞、骨幹網絡故障。因爲是全球部署,所以跨國、跨洲傳輸也能保證高可用、低延時,可爲具備全球視野的開發者提供有力支持。
3. 支持 7 人同時視頻連麥
社交直播、在線教育場景須要實現多人的直播連麥。在保證畫面分辨率、音頻質量的同時,聲網的小程序方案目前可支持 7 人同時在線連麥互動。
4. 高質量,低延時
小程序與客戶端均通就「近」接入策略,讓用戶接入質量最好的數據節點,經過 SD-RTN™ 的軟件定義優化路由選擇最優路徑,自動避免網絡擁塞,並規避骨幹網絡故障的影響,並保證音視頻數據以最佳質量傳輸。
聲網小程序體驗 Demo 已經上線,歡迎你們掃描下方二維碼體驗!咱們將稍後在Github爲你們提供源碼。
聲網Agora 有獎徵文活動 正在進行中,只要分享與聲網SDK相關的開發經驗博文,即有機會得到 Cherry 紅軸機械鍵盤、T恤等聲網定製獎品。詳情請戳