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

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

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

相关文章
|
1月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
488 7
|
1月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
547 1
|
19天前
|
小程序 数据挖掘 UED
开发1个上门家政小程序APP系统,都有哪些功能?
在快节奏的现代生活中,家政服务已成为许多家庭的必需品。针对传统家政服务存在的问题,如服务质量不稳定、价格不透明等,我们历时两年开发了一套全新的上门家政系统。该系统通过完善信用体系、提供奖励机制、优化复购体验、多渠道推广和多样化盈利模式,解决了私单、复购、推广和盈利四大痛点,全面提升了服务质量和用户体验,旨在成为家政行业的领导者。
|
1月前
|
JavaScript 前端开发 UED
Vue与uni-app开发中通过@font-face巧妙引入自定义字体
Vue与uni-app开发中通过@font-face巧妙引入自定义字体
73 9
|
1月前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
193 1
|
16天前
|
机器人
布谷直播App系统源码开发之后台管理功能详解
直播系统开发搭建管理后台功能详解!
|
1月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
552 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
25天前
|
NoSQL PHP Redis
布谷语音app源码服务器环境配置及技术开发语言
布谷语音app源码服务器环境配置及技术语言研发。。
|
1月前
|
JavaScript 小程序 开发者
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
322 0
|
1月前
|
小程序
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
491 0