直播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中增加一层新的网络架构,将网站 ...
随机推荐
- 大话设计模式C++版——工厂模式在COM中的典型应用
上篇<大话设计模式C++版——抽象工厂模式>中,我们拯救世界未遂,留下小小的遗憾,本篇中我们将给出一个解决方案——COM组件技术,同时也顺便扯扯工厂模式在COM组件技术中的应用. 工厂模式 ...
- HTTP常见状态码 200 301 302 404 500
HTTP状态码(HTTP Status Code) 一些常见的状态码为: 一.1开头 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码.代码 说明 100 (继续) 请求者应当继续提出 ...
- NOIP2003传染病控制[按层DFS]
题目背景 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代价控制传染病的蔓延.不幸的是,由于人们尚未完全认识这种传染病,难以准确判别病毒携带 ...
- Application中的路径
前提条件 项目工程目录:E:/Work/cosmosbox/cb-client/ 我电脑当前的用户名:qingqing PersistentDataPath Application.persisten ...
- svn恢复被删除的分支 svn del 分支
笔者不小心,在操作时,删除了一个主开发分支(main_dev). 一. 悲剧的语句: svn del -m"1.误删除分支" http://svr_path/branches/ ...
- javascript里面this机制的几个例子
javascript里面的this值会随着使用场景的不同二发生变化,但是总有一个原则,那就是this总指向当前调用函数的那个对象.以下我会举几个例子来说明这个问题.1.this本身总是指向当前的类的实 ...
- 在表单中元素的onchange事件的兼容性问题
onchange:在值发生改变的时候触发 text:当光标离开的时候如果内容有变化就触发 radio/check:标准浏览器下点击的时候只要值变了就触发 非标准浏览器下焦点离开的时候如果值变了就触发
- ie6-ie8中不支持opacity透明度的解决方法
ie6-ie8中是不支持的,需要加上下面这句话:filter: alpha(opacity=70);此外这种效果不能用ietester中的ie6测试,因为ietester的ie6这样写也是不透明的,但 ...
- javascript判断手机旋转横屏竖屏
javascript判断手机旋转横屏竖屏 // 横屏竖屏函数 function orientationChange(){ switch(window.orientation) { case 0: // ...
- css3在不同型号手机浏览器上的兼容一览表
网上搜集了css3对不同系统手机浏览器的支持情况(ios/android/winphone)备份一下以便查看. 以下资料由微信产品部"白树"整理, 转载请注明. √:完全支持 ...