直播CDN技术的架构解析

编程

 

直播从CDN架构" title="技术架构">技术架构上讲主要分以下三类:

 

传统三层的CDN架构:1推流边缘—2推流区域—3源站----2拉流区域----1拉流边缘

p2p直播:上行和传统直播架构差不多,下游主要通过p2p的方式将直播流进行分块再切片,然后通过矿机的方式分发piece片,拉流sdk端再进行还原

互动直播:后面有时间另外分析

以下主要是分析的传统直播的架构

 

直播业务整体介绍:

从业务功能属性上:

 

转码(直播视频主要以h264,音频aac为主),主要是降低视频码率

截图(主要用以房间的缩略图显示,一般一分钟或者五分钟粒度更新)

水印(水印其实也算转码的一部分,主要以直播画面某个角落显示存在)

直播转点播录制(有些直播需求,需要后续提供回看功能)

事件通知(开停播通知,方便统计主播在线时长以及app端开播通知)

禁播 (主要用来鉴黄和暴力场面的时候进行实时禁播)

直播CDN技术架构

一套完整的CDN直播系统主要包过以下模块服务:

接入端sdk(pc,安卓,ios,H5),为保证安全防止攻击或者盗流量,一般CDN接入的时候会采用防盗链,vhost黑白名单以及ip限制等防护措施

流媒体服务集群:

传统直播架构图,集群主要按照边缘-区域-源站部署。源站一般来说两个或者三个做主备,边缘主要分布在全国各个省市比较多; 区域一般主要作为二级节点缓解源站的压力,主要部署在全国几个大区

互动直播架构跟此架构还有点差异,暂不分析

p2p直播上行和传统直播架构差不多,主要区别在下行,一般都是音视频数据流切块,然后再切片。将片分发到不同的集群节点上,最后客户通过sdk接入的方式从不同的节点上取的当前流的片,获取片后进行还原。

调度服务:

转码服务(截图,转码,水印)

运营平台(流量计费,配置管理,API服务等)

API服务:主要用来接收来自流媒体服务的开停播通知,禁播接口,鉴黄接口,提供等

配置管理:主要用来部署流媒体集群,以及后续的热更新配置下发

流量计费:可以按域名或者三元组粒度实时显示当前带宽状况

监控平台:agent采集节点负载信息,以及能查看当前流状态,链路节点信息方便快速定位问题,和实时告警等

数据库:主要用来保存流状态,打点,日志,以及集群的节点负载信息等,方便监控,计费和调度服务使用

以上是 直播CDN技术的架构解析 的全部内容, 来源链接: utcz.com/z/516425.html

回到顶部