万人直播网络架构与CDN网络

目前市场上的产品主要分为两种:一种是像花椒、映客、斗鱼、YY等的泛娱乐化直播,一种是思科、声网之类的实时互动直播。一般情况下实时互动直播会与PSTN网络相连,所以实时互动直播必须达到电话级别的传输要求,一般不超过400ms。

泛娱乐化直播架构

在泛娱乐化直播架构中有信令服务器集群来负责创建房间、聊天、赠送礼物…,当直播端需要直播时直接向信令服务器发送请求,信令服务器向请求端返回推流的地址,然后直播端开始像CDN网络推送数据流(流媒体CDN与传统CDN有些不同),然后当观众需要观看直播时,使用同样的方式请求直播地址,然后在流媒体CDN拉取数据流,具体如图所示:

实时互动直播架构

众所周知,实时互动直播架构对传输效率要求高,因此客户端使用UDP协议向媒体服务器推流,由于要保证服务器7x24小时的服务,所以通过私有网络建立了服务器集群,直播端向媒体服务器推流。由于使用了多个直播服务节点,所以需要控制中心来控制这些节点以达到负载均衡、健康评估等的目的。每个节点通过内总线向控制中心发送心跳包,控制中心通过心跳包来分析服务节点的健康状况来做出相应的决策。使用内总线的原因一是为了数据的安全性,二是为了数据的时效性。那么有时候实时互动也需要多人观看,所以上面讲解的泛娱乐化直播架构与实时互动直播架构进行融合。在CDN流媒体网络与内总线之间有一层服务节点最重要的作用是将直播端的RTP转换为RTMP数据向CDN推流,由此得知内总线的主要作用就是提高数据吞吐量和保证数据实时安全,具体如下图所示:

流媒体CDN网络与传统CDN网络

虽然各大CDN厂商都提供CDN服务,但是流媒体CDN与传统CDN网络有很大的差别,但是要弄明白区别首先要了解什么是CDN:CDN就是内容分发网络的简称,主要用来加速用户访问数据的速度和承载源站点大部分访问压力。一个CDN网络大致上分为三层:

  • 边缘节点:用户访问边缘节点,边缘节点在主干接点拉去数据。
  • 主干接点:是边缘节点与源站点的中间层,负责分发源站点的内容到边缘节点。
  • 源站点:内容提供商的服务器集群。

具体见下图:

一般情况下,内容提供商有多个服务器来负载均衡,并且CDN提供区域的CDN边缘节点来提供服务,众多的边缘节点和源节点之间通过主干节点连接,主干节点之间一般通过光纤直接互联,如下图所示:

通过上文介绍,我们已经清楚CDN网络基本架构,那么传统CDN与流媒体CDN的区别是:

传统CDN网络是客户端请求某一站点的数据,首先请求源站点的数据,如果源站点有数据就直接返回,如果没有就会直接通过主干节点请求源站点直接返回,并且边缘节点缓存该数据以便下一次客户端去请求加速,也就是说传统CDN网络有热点数据这一说。

流媒体CDN网络采用的推送+拉去的数据分发策略,也就是内容提供商将数据推送到主干节点,然后边缘节点在主干节点拉取数据,用户请求边缘节点的数据拉取数据流。

搭建一个简单的直播系统

ffmpeg

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。

ffplay

ffplay是一个使用了 ffmpeg 和 sdl 库的、一个简单的可移植的媒体播放器。

Nginx

Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行,同时Nginx也支持流媒体服务。

Step.1 安装Nginx服务器和RTMP模块:

brew install nginx-full --with-rtmp-module

Step.2 配置Nginx服务:

# 文件路径:/usr/local/etc/nginx/nginx.conf
vim /usr/local/etc/nginx/nginx.conf

# 修改配置文件:
rtmp {
    server {
        listen 1935;
        chunk_size 4096; # 传输数据块的大小
        # 创建了一个应用
        application live {
            live on;
            record off;   # 关闭录制
            allow play all;
        }
    }
}

# 热加载配置文件:
nginx -s reload

Step.3 推流到服务器

ffmpeg -re -i ***帝国-矩阵危机.mp4 -c copy -f flv rtmp://127.0.0.1/live/hacker-three

Step.4 拉取数据

ffmpeg -i rtmp://127.0.0.1/live/hacker-three -c copy dump.flv
ffplay rtmp://127.0.0.1/live/hacker-three

原文地址:http://blog.51cto.com/xvjunjie/2287169

时间: 2024-11-03 22:29:38

万人直播网络架构与CDN网络的相关文章

网络架构、云平台和微信公众平台开发接入

版权声明:本文为博主原创文章,未经博主允许不得转载. 云与后端相关的技术似乎并不属于嵌入式和物联智能硬件开发工程师的范畴,但是嵌入式开发工程师有必要认识成熟的网络架构和相关的云技术,以拓展自己在系统架构方面的视野.大数据分析是物联网背后的核心价值,物联智能硬件是物联大系统的终端,开发工程师不仅要深入精通物联技术,也应该去理解大系统,甚至整个生态领域的相关技术. 作为嵌入式开发工程师,也许并不需要熟悉云和后端的技术开发,但至少要对其中用到的技术和接口有一定的认识. 一.网络架构 常见的网络架构分为

[转]漫谈数据中心CLOS网络架构

http://djt.qq.com/article/view/238 1.数据中心网络架构挑战 随着技术的发展,数据中心的规模越来越大,一个数据中心的服务器容量从几年前的几千台服务器发展到今天的几万甚至几十万台.为了降低网络建设和运维成本,数据中心网络的设计者们也竭力将一个网络模块的规模尽可能扩大.同时,数据中心网络内部东西向流量也日益增加,在一些集群业务的需求驱动下,数据中心网络设计者们甚至开始讨论一个网络模块内10000台千兆线速服务器的可能性. 常见的数据中心网络模块的典型架构是双核心交换

浅析IRF虚拟化技术增强企业网络架构的弹性

浅析IRF虚拟化技术增强企业网络架构的弹性  [摘要]随着"云"时代到来和各种虚拟化技术日趋成熟,对传统企业网络架构提出新挑战.例如:在不破坏企业原有网络架构和资产投入情况下,可以为企业网络提供更好的扩展性,其中包括简化管理.简化网络运行.降低整体投入成本.扩展端口密度和带宽容量.保护用户投资,使企业网络具备高可用性和持续的.不间断的运行效果.为了达到此效果,可利用H3C的IRF虚拟化技术在企业网络架构中增强弹性,现浅析如下. 关键词:云时代.企业网络.虚拟化技术.持续不间断.IRF.

菜鸟系列Fabric——Fabric 网络架构介绍(4)

Fabric 网络架构介绍 1. 网络架构介绍 如图所示,fabric网络架构主要包含客户端节点.CA节点.Peer节点.Orderer节点这几个部分.并且fabric架构是安装组织来进行划分当,每个组织都维护不同功能的peer节点.orderer节点属于整个联盟,一般不属于某个组织. 其中,各个节点功能如下: CA节点 功能:Fabric网络中的成员提供基于数字证书的身份信息.可选.可以用第三方生成的证书 客户端节点 功能:与Fabric区块链交互,实现对区块链的操作.常见cli容器及SDK客

网络革命:软件定义网络与网络虚拟化

发表于2014-08-28 14:49| 5691次阅读| 来源OpenStack中国社区| 13 条评论| 作者郑晨 摘要:虽然现在SDN或网络虚拟化还没有达到预期的高度,但对于IT从业者来说,拥抱这些技术永远都不算早,目前以太网在每一个数据中心中扮演者举足轻重的角色,但SDN厂商们正在摩拳擦掌准备迎接下一场网络革命. [编者按]网络经过多年的发展,已经来到“后Cisco”时代,软件定义网络.网络虚拟化等名词已经来到大家眼前,本文中着重介绍了传统网络架构与SDN网络的异同,网络虚拟化的发展状况

闲谈CDN网络架构

CDN也就是内容分布网络(Context Delivery Network),它是构筑在现有interent上的一种先进的流量分配网络.其目的是通过现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,提高用户访问网站的响应速度.有别于镜像,它比镜像更智能,可以做这样一个比喻:CDN = 镜像(Mirror)+缓存(Cache)+整体负载均衡(GSLB).因而,CDN可以明显提高Internet中信息流动的效率. 目前C

辽宁万人网络(辽宁易一网)

辽宁万人网络(沃玛网旗下)诞生于2006年,是一个专注于高端品牌互联网公司,核心团队自2006年开始接触网络,发展至今,服务于全国360多个大.中.小城市,已有着丰富的互联网经验和实战经验. 辽宁万人网络是一家专业的辽宁互联网公司,团队骨干有着丰富的网页设计和网站开发水平,为客户提供更符合搜索引擎的网站研发服务,协助构建OA网络办公信息平台,定制网站与数据库开发,并提供域名注册.国内外虚拟主机.企业邮箱.网络推广.网络营销.网站优化.网络广告.软件开发.系统软件.应用软件.数据库.小游戏开发.A

构建 CDN 分发网络架构

cdn基本架构: CDN的基本目的:1.通过本地缓存实现网站的访问速度的提升 CDN的关键点:CNAME在域名解析:split智能分发,引流到最近缓存节点 原文地址:https://www.cnblogs.com/hixiaowei/p/9271398.html

浅谈企业网络架构设计

本人工作已有10年有余,工作换了无数,从计算机的售后支持到系统集成项目经理,其间还做过几年网络技术老师.后来厌倦了上课(主要是太理论化了),转投到企业作IDC运维. 不管是在甲方还是在乙方,我们都是和网络打交道.在乙方时,每个项目,几乎都牵涉到网络架构设计.有的比较简单,有的也很复杂.但大多数情况下,都是采用老一套的方法,满足用户基本需求就ok了.很少真正深入用户企业,去探究企业实际需求和现实状况.大多都是按照自己对企业的理解,认为这样比较合理,又是站在甲方的立场,这样可以多赚点钱,或者这个设备