资讯专栏INFORMATION COLUMN

小程序直播连麦的技术实现与解析

xiaoxiaozi / 1308人阅读

摘要:微信在去年年底开放了小程序直播接口。基于声网的小程序直播互动连麦方案开发的小程序,在的低延时实时网络环境下可实现与其它平台的无缝互通。

微信在去年年底开放了小程序直播接口。小程序从仅适用于阅读、生活服务、工具等应用的流量入口,成为了许多音视频应用的又一个新平台。新功能的开放让更多应用可以利用微信的熟人社交链为应用快速拉新,提供便捷的增值服务,或加速应用变现。我们的客户,荔枝 FM 就在小程序上实现语音社交直播,花椒直播也通过小程序实现直播答题一掷千金的场景。

小程序直播目前对在线教育、金融、医疗、政务民生、社交行业开放了接口,而在增加互动连麦后,将能在这些场景下实现更丰富的业务功能,拓展出更多的使用场景,例如:

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

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

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

在线购物:直播展示商品,同时观众连麦互动,进一步促成交易;

VIP 客服:专属视频客服,1对1实时交流;

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

远程报警:从微信小程序实现一键报警,迅速连接相关部门,并通过实时视频通信,使警方能实时掌控现场情况。

通过附加低延时、高质量的音视频互动,可以为微信小程序延伸出更广阔的应用场景。不过在开发过程中还需要解决三大难点。

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

iOS 的微信内核浏览器不支持 WebRTC。如果开发者通过 WebRTC 来实现小程序直播,则只能在 Android 平台上实现直播连麦。所以要想实现支持 iOS 与 Android 平台,就需要通过微信两个直播接口来实现。

然而通过这两个接口都是基于 RTMP 协议进行拉流与推流。这种基于 TCP 的协议天然存在较高的延时,并不适用于直播连麦场景。

我们曾在《详解音视频直播中的延时》一文中详细分析过不同阶段延时的产生与应对,延时的产生过程简化后如上图,延时由两大部分构成:

端上的延时。采集端和播放端会出现不同程度的延时(T1)。这一段的延时受到设备性能、编解码算法、直播/通话时选取的分辨率和帧率等因素影响,延时可能是几十毫秒;

在端与服务器之间的传输延时(T2)。这一段延时受到网络质量、传输线路选择、跨运营商、跨国等因素影响。上文提到小程序接口限制只能推/拉rtmp流,如果直接通过CDN传输,延时可达2-5s。设备端上的几十毫秒延时跟这个相比,微不足道。

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

声网降低延时的做法是在音视频流经过协议转换后,不通过 CDN 传输,而是通过 Agora 的私有 UDP 协议后,进行低延时的传输。普通的 UDP 建立的是不可靠的传输,因此要进行深度开发来抗丢包,让传输变得可靠。并且,为了保证传输质量,要搭建整套低延时的 UDP 传输网络,有较高的技术和资金门槛。若直接上公网传输,无异于“裸奔”。

如何实现小程序互动连麦直播?

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

协议转换:在边缘节点通过协议转换器对小程序端发出的音视频流进行协议转换;

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

全平台兼容:由 Agora SD-RTN™ 通过声网私有 UDP 协议可传输到集成了声网 SDK 的各个平台 App 上。

声网小程序直播互动连麦方案基于声网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恤等声网定制奖品。详情请戳

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/34741.html

相关文章

  • 这么多直播连麦方案,到底哪种适合你?

    摘要:改进主播和连麦嘉宾,基于进行视频会议,将视频会议在服务端合图后推到进行分发。从声网全球首个推出多人互动连麦,到现在连麦成为直播的标配,只用了不到年的时间。连麦对比视频左侧是声网,右侧是行业其它方案。 2016年陌陌、映客等直播平台陆续上线连麦,如今连麦已经成为主流直播平台标配。声网于2016年全球率先推出的多人连麦、纯语音连麦等多种玩法,半年时间内,就与几乎所有全球主流直播平台达成深度...

    王岩威 评论0 收藏0
  • 技术详解:实现互动直播全过程

    摘要:对于聊天室本身的聊天功能的实现,因为接入云信,主要是通过调用封装实现的,就不细说了。云信的互动直播功能,支持主播和观众实时连麦互动。 本文主要整理互动直播中各端的逻辑,重点是与前端相关的教师端IM的部分和Web/Wap学生端。希望通过这份整理,对于前端在维护时可以尽快的理解互动直播的流程,提高项目的可维护性;对于客户端和教师端来说,可以了解到前端提供的接口和消息的实现。也能提高对整个请...

    airborne007 评论0 收藏0
  • 连麦,不直播,都在说的直播利器连麦互动到底是啥?

    摘要:又拍云连麦互动直播方案架构图连麦互动直播方案有两点优势主播和连麦观众使用了实时音视频来进行连麦互动,实时性高,观众看到的合成画面里主播和观众的互动也是同步实时的,保证延时小,减少带宽压力。 在2016年的互联网关键词中,「直播」毫无疑问排在前列。从年中开始,直播便接替短视频成为新的大流量入口。参与直播的人,也从网红逐渐扩大到全民,内容也从最初的单一娱乐向更多元化的方向发展。 直播被普遍...

    马龙驹 评论0 收藏0
  • 一套代码快速实现一个语音聊天室

    摘要:接下来,我们来看一下基于声网视频通话,实现语音聊天室的步骤吧。更便于已经开发视频连麦直播的开发者,进一步实现语音聊天室。而在教育应用中也有师生之间的语音聊天室。 前言:本文将简要分享几个语音聊天室的应用场景,并讲述基于声网SDK,实现语音聊天室的步骤。 语音聊天在泛娱乐社交行业中有着重要的地位,行业中很多佼佼者也都为用户提供了语音聊天室,甚至有些平台最初就是依托语音聊天起家的,比如大家...

    kevin 评论0 收藏0
  • 一套代码快速实现一个语音聊天室

    摘要:接下来,我们来看一下基于声网视频通话,实现语音聊天室的步骤吧。更便于已经开发视频连麦直播的开发者,进一步实现语音聊天室。而在教育应用中也有师生之间的语音聊天室。 前言:本文将简要分享几个语音聊天室的应用场景,并讲述基于声网SDK,实现语音聊天室的步骤。 语音聊天在泛娱乐社交行业中有着重要的地位,行业中很多佼佼者也都为用户提供了语音聊天室,甚至有些平台最初就是依托语音聊天起家的,比如大家...

    lunaticf 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<