直播CDN架构随想
互联网内容载体变迁历程,文字——图片/声音——视频——VR/AR——……从直播1.0秀场时代(YY)、2.0游戏直播(斗鱼、虎牙、熊猫)到如今全民直播3.0泛生活娱乐时代(映客、花椒),国外直播App(Meerkat 、Periscope),随着 VA/AR/MR 提出的沉浸式视听体验,直播4.0时代很快就能到来。
在这个全民娱乐的时代,直播已经火得不要不要的,各大公司都有自己的直播产品。本文主要从直播的一些基本知识,一步步打造直播 App。直播那么火的背后有什么样的技术支撑呢?
本文试图对当前火热的直播系统的传输架构做一个分析,希望可以对从对问题的思辨中可以得到一些启发。
http://geek.csdn.net/news/detail/112262 《从 0 到 1 打造直播 App》 这篇文章更加深入的讲解了一些直播技术。
下图描述了在直播的业务场景下,北京的PC用户在进行直播,他的音视频流在网络中的传输数据流。
不同于2个或少量几个用户间的视频电话,用户和用户之间可以建立TCP连接传输音视频流;直播业务场景中的数据流必须通过直播传输网络进行传输,用户的音视频流量先要上到最近的推流服务器,再通过推流服务器传输给其他用户。单个IDC所能 支持的最大用户数为: min(IDC带宽, ∑ IDC内所有推流服务器网卡带宽)/ 音视频流量。
假如一个主播在北京进行直播(音视频消耗带宽为1Mbps),在全国有10K人进行了收看。 那么北京IDC机房需要部署多少服务器和占用多少IDC带宽才能支持呢 ? 简单计算一下,10K * 1Mbps = 10Gbps,在假设10Gb网卡的服务器CPU和内存能够处理的50%流量和包, 理论上2个万兆网卡的服务器的可以支持。 一般用户和服务器配比为 20K用户:1台服务器, 那么如果百万级的用户在全国观看直播需要多少服务器支持呢,简单计算 50台服务器即可,那么怎么安排这些服务器在全国的IDC中呢, 因为在每个IDC服务的用户不同,最合理的方式的服务器的分布方式,应该参考这个地区的人口数的比例 来确定分布的比例较为合理。


那么IDC 又要怎么选址呢? 最好参考下图中国互联网骨干网图和人口密度图,把IDC建设在人口稠密和骨干网关键节点的位置。
中国互联网骨干网图如下:

CHINANET骨干网由北京、上海、广州、沈阳、南京、武汉、成都、西安等8 个核心节点组成的核心层和其它54 个汇接节点组成的汇接层组成。全网有3 个国际出口,通过京、沪、穗的路由器完成。国际路由器与国内路由器独立设置,并负责实现各国际策略及安全性限制。CHINANET 网络节点间的中继电路采用基于SDH 和DWDM 的光纤网络,网络总带宽超过800G,国际出口总带宽已超过5000Mbp
直播CDN架构随想的更多相关文章
- 直播技术:从性能参数到业务大数据,浅谈直播CDN服务监控
线上服务的有效监控和数据收集,一直是后端服务离不开的话题.直播作为一种经典的分布式系统,监控以及数据收集更是必不可少的工作.如何对海量的服务集群有效的监控和保活,又如何抓取集群中的碎片数据中来优化服务 ...
- 分布式还是混合式? 谈CDN架构对服务质量的影响
传统分布式模型 通 常,内容分发网络(CDN)採用分布式模型.在这样的模型里, 用户的文件存放在一个源server上.而且由大量边缘server负责分发这些文件.这些边缘server的磁盘空间比較小. ...
- 简化的CDN架构分析
CDN架构的设计目标是通过复制系统资源(即Web服务器)的方式来获得高性能和高扩展性,为了能确保在海量内容下可以稳定提供高性能的服务.系统资源的复制可以在本地和地理两个尺度上进行.如果是本地复制则响应 ...
- 阿里云李刚:下一代低延时的直播CDN
在上周落幕帷幕的多媒体领域技术盛会——LiveVideoStackCon音视频技术大会上,阿里云的高级技术专家李刚进行了<下一代低延时的直播CDN>技术分享.主讲人李刚,多年关注在CDN这 ...
- [RTMP] 国内各大视频直播CDN厂商推流抢流行为分析
背景 当存在一个推流客户端正在向rtmp://xxx.com/live/yyy推流时,又有另外一个推流客户端同时对这个地址进行推流,会发生什么呢? 查阅了 Adobe RTMP Spec 发现规范本身 ...
- CDN架构以及原理分析
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp61 在不同地域的用户访问网站的响应速度存在差异,为了提高用户访问的响应 ...
- QQ视频直播架构及原理 流畅与低延迟之间做平衡 音画如何做同步?
QQ视频直播架构及原理 - tianyu的专栏 - CSDN博客 https://blog.csdn.net/wishfly/article/details/53035342 作者:王宇(腾讯音视频高 ...
- CC视频CTO栗伟:CDN系统架构及CC视频应用实践
2017 年 11 月9日,CC视频获2.08 亿元C轮融资. EGO 北京分会会员.CC视频CTO栗伟获邀作为 EGO 线上分享第三季嘉宾,与大家交流了CDN系统架构及CC 视频的应用实践. \\ ...
- 闲谈CDN网络架构
CDN也就是内容分布网络(Context Delivery Network),它是构筑在现有interent上的一种先进的流量分配网络.其目的是通过现有的Internet中增加一层新的网络架构,将网站 ...
随机推荐
- 【Linux】Linux 目录结构
博客已转移,请借一步说话 .http://www.weixuehao.com/archives/492 初学Linux,首先需要弄清Linux 标准目录结构 / root --- 启动Linux时使用 ...
- AI(Adobe Illustrator)简单入门——小熊
成果: AI里ctrl+z撤销,恢复是ctrl+shift+z. 主要是使用Blob笔刷和橡皮擦工具来做. 一.选择Blog笔刷,选择小熊的颜色. 二.画小熊的头和身子和前脚掌 按住左中括号和右中括号 ...
- 《数据结构》之串的模式匹配算法——KMP算法
//串的模式匹配算法 //KMP算法,时间复杂度为O(n+m) #include <iostream> #include <string> #include <cstri ...
- Object-C中ARC forbids explicit message send of ' ' 错误
OC中ARC forbids explicit message send of '...'错误 转自CSDN hahahacff 有所整理 ARC forbids explicit message s ...
- 【转】最长回文子串的O(n)的Manacher算法
Manacher算法 首先:大家都知道什么叫回文串吧,这个算法要解决的就是一个字符串中最长的回文子串有多长.这个算法可以在O(n)的时间复杂度内既线性时间复杂度的情况下,求出以每个字符为中心的最长回文 ...
- dp入门问题
昨天晚上的rank彻底废了..一个星期没敲代码完全没手感.作为总结,贴一道昨天浪费了我两小时的dp.http://acm.dirring.com/problem.php?cid=1003&pi ...
- 一个App需要的东西
1.短信申请平台 (发送验证码需要的短信) http://www.yuntongxun.com/api/sms?nl=sy_cp 容联云通讯
- C# String.split()用法小结。String.Split 方法 (String[], StringSplitOptions)
split()首先是一个分隔符,它会把字符串按照split(' 字符')里的字符把字符串分割成数组,然后存给一个数组对象. 输出数组对象经常使用foreach或者for循环. 第一种方法 string ...
- 在ASP.NET中如何运行后台任务
from:https://blogs.msdn.microsoft.com/scott_hanselman/2014/12/21/asp-net/ [原文发表地址] How to run Backgr ...
- java多线程系类:基础篇:08之join
本章,会对Thread中join()方法进行介绍.涉及到的内容包括:1. join()介绍2. join()源码分析(基于JDK1.7.0_40)3. join()示例 转载请注明出处:http:// ...