直播软件开发前,不妨先来了解下这些知识

直播行业发展时间已经很久了,建议新入局的玩家在进行直播app制作前要想好,直播平台的定位是什么,清晰明确的定位更利于定位受众人群,也更利于直播app制作时的对接和开发。

定制开发一款直播app的难点就是在弱网络的环境下,能够让视频的质量得到保障。弱网络就是指网络不好的情况。我们在平时使用WIFI也会碰到弱网络的情况,更别说3G/4G的卡顿了,出现这样情况就会出现直播画面延缓的情况。

主要是因为数据的传输是通过客户端上传到服务器,服务器在下传到客户端的模式,数据偏大的整体传输速度会更慢,客户端就会出现卡顿的情况,整体影响用户的视频观看度;页面的交互动画,其实就是主播与用户之间的互动,而且在互动中一般都会有打赏、送花的功能,这些花里胡哨的功能往往会增加开发的成本,还会对直播的兼容性和运营流畅速度造成一定的影响,后期出现BUG的可能性加大。

直播架构在开发过程中也是一件非常重要的事情,如果架构的设立不能从根本上解决问题或防止问题的发生,那么在前端app运行时就会出现一定的运行错误。接下来主要跟大家简单分享一下关于直播架构方面的内容。

直播架构的演进

(1)CDN直播架构

目前最流行的直播架构就是CDN直播架构,主播通过手机或电脑等设备,将自己的视频流上传到服务器,然后接入对应的CDN服务,通过CDN 进行网络分发,分发到各地的用户,然后所有的用户都可以看到主播的表演了。

(2)实时互动直播架构

实时互动直播并不能使用CDN方案,因为CDN方案的性质决定了延时达不到实时的需求。通常,实现实时互动的架构中,主播把自己的视频流上传到服务器,再通过这台服务器分发给其他用户,再次采用合适的传输协议,并且延时可以做到很小,从主播到服务器再到观众的延时,加上编解码和抖动的延时,可以将延时控制在几百毫秒以内。虽然这个结构很简单,大势有一个缺点就是没有考虑到覆盖不同地区和用户的问题。

(3)分布式实时互动直播架构

主播的视频流在上传到接入服务器后,这个服务器会把这个视频流分发到我们所部署在世界各地的服务器,然后这些服务器可以接入本地的用户,再把视频传下去。在这个架构里,部署在世界各地的服务器,可以让用户快速就近地接入,整个视频流通过我们在互联网上做的分布式传输算法将它实时传输到世界各地的机房,而且可以避免机房或者骨干性网络的故障,从而对传输造成一定的影响。

最后,要说到的就是有关云服务器和宽带成本的问题。经常听到别人说云服务器,那到底是什么?其实换句话讲,云服务器其实就是指面向各类互联网用户提供公用化的互联网基础设施服务平台。就拿打开app的登录界面来说,目前除了注册账号登录,还会接入第三方(微信、QQ、微博等)登陆,得需要接口对接,更别说互动这些复杂的功能了。可以这样说,在直播app界面一个简单的页面,可能背后就隐藏着一连串复杂的直播源码。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210115A06JTL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券