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

简介: 对于传统的点播业务来说,目前大部分泛娱乐和游戏类的直播架构都是分为上行和下行两种网络的。而架构的设计对于开发直播app软件来说也是至关重要的一步,但是在了解架构问题之前,我们先来简单的捋一捋所谓的上行和下行到底是怎么一回事儿吧。

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

相关文章
|
5天前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
81 7
|
5天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
59 1
|
5天前
|
JavaScript 前端开发 UED
Vue与uni-app开发中通过@font-face巧妙引入自定义字体
Vue与uni-app开发中通过@font-face巧妙引入自定义字体
31 9
|
9天前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
51 1
|
10天前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
111 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
15天前
|
JavaScript 前端开发 小程序
uniapp一个人开发APP关键步骤和考虑因素
uniapp一个人开发APP关键步骤和考虑因素
56 0
uniapp一个人开发APP关键步骤和考虑因素
|
27天前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
5天前
|
JavaScript 小程序 开发者
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
25 0
|
9天前
|
小程序
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
94 0
|
13天前
|
机器学习/深度学习 搜索推荐 数据挖掘
北邮移动互联网应用大作业实验报告《云账本app》开发
北邮移动互联网应用大作业实验报告《云账本app》开发
29 0