微信在去年年末开放了小程序直播接口。小程序从仅适用于阅读、生活服务、工具等应用的流量入口,成为了许多音视频应用的又一个新平台。新功能的开放让更多应用能够利用微信的熟人社交链为应用快速拉新,提供便捷的增值服务,或加速应用变现。咱们的客户,荔枝 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恤等声网定制奖品。详情请戳