前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >视频直播软件开发不得不引起重视的网络架构问题

视频直播软件开发不得不引起重视的网络架构问题

原创
作者头像
肉2466131704
修改2019-03-21 10:25:49
7201
修改2019-03-21 10:25:49
举报
文章被收录于专栏:短视频开发短视频开发

直播在互联网市场中一直都处于稳定发展的局面,虽然直播行业经历了不同时期的洗牌和考验,但它还是依靠自身强大的变现能力“存活”到现在。而且随着即将统一运营商服务和流量资费的不断下调,更是给视频直播软件开发业务提供了发展“温床”,比如接下来我要给大家分享的内容,开发过程中需要注意的网络架构相关。本文主要以CDN为主来介绍相关的架构问题。

图片来源于网络
图片来源于网络

对于传统的点播业务来说,CDN只有下行分发不同。但是对于泛娱乐和游戏类的直播场景来说,直播架构是分为上行汇聚和下行分发两种的。

1.主播推流模式

(1)直播端推流到上行边缘节点。

(2)上行边缘节点将流推到汇聚核心。

(3)汇聚核心收到流后,和 CDN 一样,不需要主动将流分发到边缘,一些转码、水印或录制类的业务通常是在汇聚核心完成。

2.回源拉流模式

如果用户在访问到汇聚核心后,会向一个回源节点拉流,回源节点向客户源站拉流。

3.下行观看流程

(1)观众到边缘节点拉取直播流。

(2)在边缘节点上如果存在音视频流,可以直接发送给观众,如果没有就会向上一级回源。

(3)上一级节点可能是中转节点,也可能是汇聚核心。通常会在两种情况下选择是否经过中转节点,即下行边缘到汇聚核心链路质量和汇聚核心处理能力。

图片来源于网络
图片来源于网络

对于CDN来说,是不可能单独使用一个汇聚核心的。如果使用单独的汇聚核心,一旦遇到网络故障或者是高并发等情况发生,就会导致整个直播业务出现瘫痪的情况。况且,单独的汇聚核心无论怎样都是无法覆盖全国的,所以就需要大量的中转节点。通常,直播会使用多汇聚核心的架构,即以下两种方式。

1. 链路选优

即上行到一个链路最优的核心,下行也到一个链路最优的核心。两个核心之间使用专线“打通”,从而保证传输质量。国内通常使用3个核心就可以覆盖国内的主要运营商和区域,5个核心基本就能全覆盖所有边缘节点。链路选优问题是需要进行长期的实时数据监控的。比如,直播流在哪个汇聚核心,是汇聚核心之间互相能拉到流的基础。如果需要考虑一些异常节点无法使用的情况,那么就需要进行对应的数据清理。需要注意的是:多一级拉流会增加首屏时间。

2.保证每个汇聚核心都有流

即下行边缘无论如何都能拉到流。这一架构的优点就是不需要使用数据库进行记录是推到了哪个核心,但是也容易存在以下几个问题。

(1)上行边缘到两个核心的质量无法保证,如果上行边缘到某个汇聚核心的链路质量较差,那么从这个汇聚核心拉流的用户观看质量肯定会很差。

(2)上行边缘是需要推两份流到汇聚核心的,这样一来就会造成一定的带宽浪费。对于直播来说,带宽的耗费远远要比主播的收益要高得多。

(3)为了解决上行边缘到所有核心的链路问题,就需要选取很多的中转节点,或者是使用BGP的机房作为上行边缘,这样就会耗费更大的成本。

图片来源于网络
图片来源于网络

在视频直播软件开发过程中,CDN的架构也是相当重要的。至于选择哪种架构,还是要根据直播平台自身的定位和资金等方面来决定的。

本文声明原创,转载请注明出处。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com