开发直播app软件之前需要补充的那些知识

对于传统的点播业务来说,目前大部分泛娱乐和游戏类的直播架构都是分为上行和下行两种网络的。而架构的设计对于开发直播app软件来说也是至关重要的一步,但是在了解架构问题之前,我们先来简单的捋一捋所谓的上行和下行到底是怎么一回事儿吧。
1.推流
主播端推流到上行边缘节点,然后再由上行边缘节点将流推到汇聚核心。如果在某些环境下,上行边缘节点到汇聚核心的网络状况不好,就需要多走一层中转。当汇聚核心收到流以后,并不需要主动将流分发到边缘节点上。像直播过程中的转码、录制等业务都是在汇聚核心完成的。
2.回源拉流
当有用户访问到汇聚核心时,汇聚核心会向其中一个回源节点进行拉流,此时回源节点会向客户源站拉流下行观看流程。
3.拉取直播流
如果边缘节点上有音视频流,则可以直接发送给观众。如果此时没有音视频流,则会向上一级回源。(上一级节点可能是中转节点,也可能是汇聚核心)这里需要注意的是,在以下两种情况下回选取是否走中转节点:汇聚核心的处理能力和下行边缘到汇聚核心的链路质量。
通常,下行观看流程与传统的CDN类似,存在直播数据cache,但由于时效性问题,cache的时间是直播最近几秒的数据,大多会采用内存cache的方式。
从网络架构的角度考虑,CDN是不可能只使用一个汇聚核心的。因为一个汇聚核心就意味着如果机房或网络出现故障,整个直播业务就会瘫痪。况且,一个汇聚核心无法覆盖全国甚至是国外所有的边缘节点。所以,在直播业务中为了节省资源和成本,大都会使用多汇聚核心的架构。
1.保证每个汇聚核心都有流,这样一来下行边缘无论到哪个核心都能拉到流。不需要使用数据库去记录流是推到哪个核心的。从架构的设计上来看比较简单直接,但是也容易存在一些问题。比如:容易造成带宽浪费、上行边缘到两个核心的质量无法保证、造成成本浪费等。
2.链路选优,也就是上行到一个链路最优的核心,下行也到一个链路最优的核心,将两个核心之间“打通”从而保证质量。通常国内使用3个核心就足够覆盖国内的区域和运营商,并且核心与核心之间可以采取专线为主、公网为辅的方式,从而起到一定的容错性。
其实这些知识只是为了给大家简单介绍一下有关于直播的内容,要想真正的开发一个直播app软件,并不像我们想象中那么简单。所以,在开发直播app软件之前了解相关知识是需要最先去做的。
本文声明原创,转载请注明出处。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/695508

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。