小程序音视频功能的原理及应用 (2)

上行和下行什么意思?上行是把本地的画面往服务器上传,下行就是把服务器的画面往本地拉,这个最典型的应用就是直播。大家可以看到我们如果假设像看到斗鱼、虎牙的直播不错,你回去可以用5分钟或者10分钟在小程序做一个,放一个

,它可以传到腾讯云的边缘节点,通过转码集群进入CDN,再用一个

进行播放,这可以组合出目前所有直播的应用能力。而直播质量的保证主要是在于CDN,CDN很大的一个作用不仅仅是下图片,也不仅仅是下文件,像视频类的CDN我们可以做到近几万几十万并发的,我们大型的直播活动、赛事直播都可以来实现。

img

但是有了这套架构之后有一个问题,它的应用场景还是比较偏小众的,所谓的娱乐直播、游戏直播,光看直播其实我觉得还是没有办法体现小程序的价值,接下来我们要做一些尝试,首先降低延时。就是主播这边说一句话、体育赛事的球进了你这边看大概需要5秒或者10秒。我们降低延时怎么做?很简单地思路就是把链路的传出延时降低,像这样一段链路它延时很高,我们采用加速节点,这些加速节点中间采用UDP直接传输,比如说我在北京,你在深圳,我们在北京找一个云上的节点,深圳找一个云上的节点,中间用专线打通,这样整个链路的延时是非常低的,单项传输延时可以控制在500毫秒以内。有了它可以监控一些监控摄像头这样一些场景。

但这样所用的场景还是有限,我们可以再拉一路低延时链路,这样就变成了大家看到应用场景非常广泛的双向视频通话。也就是,A有一个链路到B那边,B也有一个链路到A这边,延时都很低,A和B两边就可以沟通了(当然还要做好回音消除的工作)。

img

大家会说有双路是不是也可以做多路呢?当然可以,只要手机性能扛得住,并行多路也是没有问题,目前我们可以同时开启8路小画面,再高就不行了,手机性能可能扛不住。

img

但是有这个的话,其实我们会发现还不够优秀,我们其实还需要做一次延伸,将它跟Chrome浏览器打通。谷歌在收购了音视频公司之后进行开源,这套技术在Chrome浏览器是有的,我们可以把这两个链路通过远端的协议模块进行互通,这样就可以做到微信上用小程序,但是在PC上可以用浏览器。这对于什么场景非常有用呢?对于企业的服务场景,尤其是视频服务,对于客服人员是用PC但是对于有问题咨询的用户而言他们用微信就可以解决了。

img

大家可以看到,类似这样的一些事情,如果真的要做成的话,除了像两端的能力之外,我们还需要说在服务端做一些事情。比如说像大家打10086都需要排队,很多时候告诉你坐席比较忙,主要是因为客服人员有限,客服人员有限我们就要有排队系统。

img

再包括像医院的场景,不仅仅是打通一个就可以,大家知道这医生站在这里它要接很多单的,不是一个视频聊天做完就搞定了,他要看客户的满意度,看客户的病历,这里面除了排队系统还有病历服务、建档服务这样一些事情,在审核里面周边的工作还是要做的。我今天被拉过来,我们后面也会跟小程序的云开发进行深度合作来减少云开发的复杂度。

img

同时,过去一段时间,我们在音视频质量上也做了不少优化,最新的微信版本中(目前尚未发布),在卡顿率上我们做了很大的改进,如上图。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxddg.html