宝哥软件园

如何实现微信小程序和原生App多人直播?

编辑:宝哥软件园 来源:互联网 时间:2021-12-10

微信去年底开放了小程序直播界面。小程序已经成为许多音视频应用的另一个新平台,来自只适合阅读、生活服务、工具等应用的流量门户。新功能的开通,让更多的应用可以利用微信的熟人社交链,快速更新应用,提供便捷的增值服务,或者加速应用实现。我们的客户荔枝FM在小节目上实现了语音社交直播,花椒直播也通过小节目实现了现场答疑和大把花钱的场景。

目前,小节目直播已经向在线教育、金融、医疗、政务、民生、社会行业开放了接口,加上互动环节,将能够在这些场景中实现更丰富的业务功能,拓展更多的使用场景,比如:

网课:1对1、1对多的线上直播课,适用于职业教育、小班教育、学前教育等场景,实现师生实时互动;

视频会议:一秒钟内快速建立多人视频会议,实现高效远程协作;

在线医疗:突破医疗资源的地域限制和系统平台的限制,实现远程多方视频会诊,降低诊断成本;

网购:现场展示商品,同时观众之间互动,进一步促进交易;

VIP客服:专属视频客服,一对一实时沟通;

银行开户:专网,无需安装App,通过小程序快速实现信息认证和视频开户;

远程报警:通过微信小程序实现一键报警,快速连接相关部门,让民警通过实时视频通讯实时掌控现场情况。

通过加入低延迟、高质量的音视频交互,我们可以为微信小程序扩展更广阔的应用场景。然而,在开发过程中有三个困难需要解决。

小程序互动连麦直播的实现与难点

iOS的微信内核浏览器不支持WebRTC。如果开发者使用WebRTC实现小程序的直播,只能在安卓平台上实现直播。所以为了支持iOS和安卓平台,需要通过微信和两个直播接口来实现。

然而,这两个接口都基于RTMP协议来拉和推流。这种基于TCP的协议自然有很高的延迟,不适合连续播种的场景。

如何实现微信小程序与Native  App多人连麦直播?(图1)

如上所示,延迟由两部分组成:

终端延迟。采集端和回放端会有不同程度的延迟(T1)。该部分的延迟受设备性能、编解码算法、直播/通话时选择的分辨率和帧率等影响。延迟可能是几十毫秒;

终端和服务器之间的传输延迟(T2)。这种延迟受网络质量、传输线路选择、跨运营商、跨国等因素的影响。上面提到的小程序接口只能推/拉rtmp流。如果直接通过CDN传输,延迟可达2-5s。与此相比,设备端几十毫秒的延迟可以忽略不计。

因此,解决小程序延迟问题的本质在于缩短T2延迟。

降低声学网络时延的方法是将RTMP流转换为RTP流,不通过CDN传输,而是通过Agora的私有UDP协议低时延传输。常见的UDP建立了不可靠的传输,因此需要深入开发来抵抗丢包,使传输可靠。而且为了保证传输质量,需要构建一套完整的低时延的UDP传输网络,技术和资金门槛较高。如果直接在公网上传播,无异于“裸奔”。

如何实现小程序视频连麦?

如何实现微信小程序与Native  App多人连麦直播?(图2)

如上图所示,实现逻辑中有三个关键点:

协议转换:在边缘节点,小程序发送的音视频流由协议转换器转换,RTMP转换为RTP;

低延时传输:转换后的RTP流通过声音网络的私有UDP协议传输到Agora SD-RTN全球虚拟通信网络;

全平台兼容性:Agora SD-RTN可以传输到

利用微信小程序本身的推拉流接口,完美解决iOS小程序直播音频网络小程序直播互动组播方案

,与声网Agora SD-RTN™ 全球虚拟通讯网络配合,通过声网私有的 UDP 协议实现了让用户可通过 iOS 端小程序与 Android 小程序的低延时连麦通话。声网可以帮助开发者解决小程序连麦直播中的协议转换与低延时传输。

  1. 全平台无缝互通

声网Agora Native SDK 支持 iOS、Android、Windows、macOS、Web 主流系统平台。基于声网的小程序直播互动连麦方案开发的小程序,在 Agora SD-RTN™ 的低延时实时网络环境下可实现与其它平台 Native App 的无缝互通。

同时,Agora SD-RTN™ 在全球部署了近 200 个节点,采用分布式架构、动态路由算法,可以避免网络拥塞、骨干网络故障。由于是全球部署,因此跨国、跨洲传输也能保证高可用、低延时,可为具有全球视野的开发者提供有力支持。

  1. 支持 7 人同时视频连麦

社交直播、在线教育场景需要实现多人的直播连麦。在保证画面分辨率、音频质量的同时,声网的小程序方案目前可支持 7 人同时在线连麦互动。

  1. 高质量,低延时

小程序与客户端均通就“近”接入策略,让用户接入质量最好的数据节点,通过 SD-RTN™ 的软件定义优化路由选择最优路径,自动避免网络拥塞,并规避骨干网络故障的影响,并保证音视频数据以最佳质量传输。

声网小程序体验 Demo 已经上线,欢迎大家扫描下方二维码体验!点击了解更多技术详情

更多资讯
游戏推荐
更多+