去年底,微信开通了小程序直播界面。小程序从只适合阅读、生活服务、工具等应用的流量入口,成为众多音视频应用的又一个新平台。新功能的开放,让更多的应用可以利用微信的熟人社交链快速更新应用,提供便捷的增值服务,或者加速应用落地。我们的客户荔枝FM在小程序上实现了语音社交直播,花椒直播也通过小程序实现了答题、大手笔消费的场景。
目前,小程序直播已经开放了在线教育、金融、医疗、政务、民生、社会等行业的接口。通过增加交互链接,将能够在这些场景中实现更丰富的业务功能,扩展更多的使用场景,例如:
在线课堂:1对1、1对多在线直播课堂,适用于职业教育、小班教育、学前教育等场景,实现师生实时互动;
视频会议:一秒内快速建立多人视频会议,实现高效远程协作;
在线就医:突破医疗资源地域限制和系统平台限制,实现远程多方视频会诊,降低诊疗成本;
网购:商品现场展示,观众互动,进一步促进交易;
VIP客服:专属视频客服,一对一实时沟通;
银行开户:专网,无需安装APP,通过小程序即可快速实现信息认证和视频开户;
远程报警:通过微信小程序实现一键报警,快速连接相关部门,让民警通过实时视频通讯实时控制现场。
通过加入低延迟、高质量的音视频交互,我们可以为微信小程序拓展更广泛的应用场景。但是,在开发过程中需要解决三个难题。
小程序互动直播的实现及难点
iOS的微信内核浏览器不支持。如果开发者使用小程序的直播,则只能在平台上实现直播。因此,为了支持iOS和平台,需要通过微信和两个直播接口来实现。
但是,这两个接口都是基于 RTMP 协议来拉和推流的。这种基于 TCP 的协议自然有很高的延迟,不适合连续播种的场景。
如上图,延迟由两部分组成:
终端延迟。采集端和播放端会有不同程度的延迟(T1)。这部分的延迟受设备性能、编解码算法、直播/通话时选择的分辨率和帧率等影响。延迟可能是几十毫秒;
终端和服务器之间的传输延迟(T2))。这个延迟受网络质量、传输线路选择、跨运营商、跨国等因素影响,上面提到的小程序接口只能推/拉rtmp 。如果直接通过CDN传输,延迟可以达到2-5s。与此相比,设备端几十毫秒的延迟可以忽略不计。
因此,解决小程序延迟问题的本质是缩短T2延迟。
降低声学网络延迟的方法是将RTMP流转换为RTP流,不通过CDN传输,而是通过低延迟的私有UDP协议传输。普通的UDP建立了不可靠的传输,因此需要进一步开发以抵抗丢包并使传输可靠。另外,为了保证传输质量,需要建设一整套低延迟的UDP传输网络,技术和资金门槛都比较高。如果直接在公共互联网上传播微信小程序开发调用多人语音,无异于“裸奔”。
如何实现小程序视频链接?
如上图所示,实现逻辑有3个关键点:
协议转换:在边缘节点,小程序发送的音视频流经过协议转换器转换,RTMP转换为RTP;
低延迟传输:转换后的RTP流通过声网私有UDP协议传输到SD-RTN全球虚拟通信网络;
全平台兼容:SD-RTN 可以传输到
利用微信小程序本身的推拉流接口,完美解决了iOS小程序直播音频的直播交互组播方案。
,与声网SD-RTN™全球虚拟通信网络合作,通过声网的私有UDP协议,用户可以通过iOS小程序和小程序进行低延迟的麦克风通话。可以帮助开发者解决小程序连麦直播中的协议转换和低延迟传输。
跨平台的无缝互操作性
SDK支持iOS、、、、、Web等主流系统平台。基于声网的小程序直播互动麦克风连接解决方案开发的小程序可以在SD-RTN™的低延迟实时网络环境下实现与其他平台APP的无缝互通。
同时,SD-RTN™在全球部署了近200个节点,采用分布式架构和动态路由算法,避免网络拥塞和骨干网故障。由于全球部署,跨境跨洲传输也能保证高可用和低时延,为具有全球视野的开发者提供强有力的支持。
支持7人同时连接视频
在社交直播和在线教育场景中,需要实现多人直播。在保证屏幕分辨率和音频质量的同时, 的小程序目前支持 7 人同时在线与麦克风交互。
高质量、低延迟
小程序和客户端均采用“最近”访问策略,让用户以最佳质量访问数据节点,并通过SD-RTN™软件定义优化路由选择最优路径,自动避免网络拥塞,避免骨干网络故障的影响,并保证以最佳质量传输音频和视频数据。
声网小程序体验演示已经上线,欢迎大家扫描下方二维码体验!点击了解更多技术细节