一、现状

调查了一下,主要有两种主流方式,WebRTC或者Flash。

1. WebRTC(不支持IE浏览器,已排除):网页实时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla基金会、Opera支持下已经成为ISO通信标准,跨平台(pc,安卓,iso),是未来趋势。

2. Flex+FMS方式实现(采用),优点是:FMS服务器是Adobe公司开发的基于Flash技术的主要支持流媒体的服务器软件,技术优势明显,方便的流媒体应用实现方式,稳定的运行状态。缺点,FMS是付费的,而且价格不菲(中文版价格¥65400)。

二、数据流量分析(FMS)

互联网的音视频传输主要测算方式是根据画面分辨率及其压缩比得出的码流(Data Rate)来计算视频数据量的负载。首先,要明确一下几点问题:

1、 通常一个在线观众要流畅的观看标清视频需要大概30k~40k的带宽流量。

2、 带宽的换算方法是128k的流量需要1M的网络带宽。

3、 服务器所要负载的带宽是按可承载的最高并发流量计算出来的。并发流量是指同时访问资源的流量值,如果是利用FMS技术,要想满足并发流量的需求就需要将流量累加。如100人同时访问视频资源则可计算出:

100人  *   30k     =  3000k

3000k  ÷  128k/M  =  23.4M(约20M带宽)

如果网站的视频观众最高并发量时达到100人,就需要至少20M的带宽;

如果网站的视频观众最高并发量时达到1000人,就需要至少200M的带宽;

如果网站的视频观众最高并发量时达到5000人,就需要至少1000M的带宽;

目前,国内正规服务器提供商常规配置:

30M宽带费用3万元/年(阿里云4核8G内存),

50M宽带费用5万元/年(阿里云4核8G内存),

100M带宽费用10万元/年(阿里云4核8G内存)。

以上测算均为理论值,并且是满负荷计算,在实际运营中服务器不会仅考虑满负荷和理论情况,大都在该基础上采用成倍数量级的服务器带宽资源来保障运行安全。

三、P2P(FMS5.0)

P2P技术可以解决流量过大的问题。FMS5.0以前可以用FMS+stratus(也是adobe的技术)来实现p2p视频,网上说理论上可以节省70%~90%的流量。从现在查到的资料来看FMS5.0以后也可以实现p2p.

所以说,按照上一节的结果,如果100人在线的话,

30M*(10%~30%) ≈ 3M~10M,一年的服务器费用大概在10000元。

四、开发费用:

1. FMS授权:60000元

2. 服务器费用:10000元

合计:70000元

五、开发周期:2~3人月。

1. Demo中实现基本视频功能:5人天(0.25人月)

2. Demo实现p2p功能:10人天(0.5人月)

3. 整理分析网站视频模块需求:2人天(0.1人月)

4. 实现网站视频模块需求:20人天(1人月)

5. 测试,完善5天(0.25人月)。

6. 部署并排查5天(0.25人月)

合计,2.35人月。

2014-02-14

视频FMS服务器带宽成本分析的更多相关文章

  1. [ActionSprit 3.0] FMS服务器带宽检测

    package { import flash.display.Sprite; import flash.net.NetConnection; import flash.events.NetStatus ...

  2. rtmp一些状态信息详解-as连接FMS服务器报错状态汇总~~

    原地址:http://help.adobe.com/zh_CN/AIR/1.5/jslr/flash/events/NetStatusEvent.html 下表说明了 code 和 level 属性可 ...

  3. FMS 客户端带宽计算、带宽限制

    FMS 客户端带宽计算.带宽限制 1. 带宽计算 FMS内置了带宽检测的特性(被称作"native bandwidth detection"),要进行带宽检测,客户端只要在成功连接 ...

  4. 网络服务器带宽Mbps、Mb/s、MB/s有什么区别?10M、100M到底是什么概念?

    网络服务器带宽Mbps.Mb/s.MB/s有什么区别?我们经常听到IDC提供的服务器接入带宽是10M独享,或者100M独享,100M共享之类的数据.这的10M.100M到底是什么概念呢? 工具/原料 ...

  5. linux减少服务器带宽的方法

    linux减少服务器带宽的方法用百度静态资源公共库http://cdn.code.baidu.com/ 不仅可以不使用服务器流量 而且还有cdn加速比方说http://apps.bdimg.com/l ...

  6. 使用speedtest-cli测量服务器带宽

    使用speedtest-cli测量服务器带宽,这个是python写的工具,很方便,只需要在服务器端安装即可. 1.安装python-pip # yum install python-pip –y 2. ...

  7. LINUX服务器带宽跑满、负载过高问题排查

    1.centos 安装流量监控iftop apt-get  install iftop -y 2.查看网卡名称 ifconfig 3.查看端口占用情况 iftop -i 网卡名称 -P 执行 nets ...

  8. 测试linux服务器带宽

    测试准备 1. 计划考量参数 TCP上传数据带宽 TCP下载数据带宽 UDP上传带宽 UDP下载带宽 多并发支持 稳定性 Tcp通讯网络延迟(小包:32.中包1k.大包1M) UDP通讯网络延迟(小包 ...

  9. 真实记录疑似Linux病毒导致服务器 带宽跑满的解决过程

    案例描述 由于最近我在重构之前的APP,需要和server端进行数据交互,发现有一个现象,那么就是隔1~2天总会发生获取数据超时的问题,而且必须要重启服务器才能解决.早在之前,我有留意到这个问题,但是 ...

随机推荐

  1. ListView优化-getView优化

    ListView作为Android中最常用的组件之一,其优化方式也比较多. 在使用ListView或是GridView的时候,往往需要自定义数据适配器.一般我们都需要复习getView方法.对于此方法 ...

  2. IOS小知识纪录

    1.scrollView缩放 #import "ViewController.h" @interface ViewController () <UIScrollViewDel ...

  3. 如何用ASP.NET实现bosh模拟http双向长连接请求

    在做研究之前先简单说一下之前公司的通讯模块.最早的时候公司开发的web管理系统是需要配合c++桌面客户端进行一些系统底层操作,并非普通的b/s架构,或者c/s架构,因为需求是可以通过web管理系统向客 ...

  4. WPF button 如何区分click和doubleclick

    WPF button 同时处理两个事件时候会先触发click事件,触发doubleclick事件  ,那如何区分呢,可以这样设置: private static DispatcherTimer myC ...

  5. Webservice发布出现 测试窗体只能用于来自本地计算机的请求

    今天发布了一个接口,一开始以为是.netframework版本的问题,从3.5降到2.0到服务器发布,发布后还是会出现 测试窗体只能用于来自本地计算机的请求 上网查找资料发现原来是 webconfig ...

  6. WCF之服务元数据

    服务元数据是用来获得服务的EndPoint的信息,也就是它的ABC. 服务有两种方案可以发布自己的元数据. 一种是基于HTTP-GET协议提供元数据: 一种是元数据交换方式,它往往使用一个专门的终结点 ...

  7. bzoj 1009:[HNOI2008]GT考试

    这道题机房n多人好久之前就A了…… 我到现在才做出来…… 一看就是DP+矩阵乘法,但是一开始递推式推错了…… 正确的递推式应该是二维的…… f[i][j] 表示第准考证到第 i 位匹配了 j 位的方案 ...

  8. C++ 嵌入汇编 获取CPU信息

    #include "windows.h" #include "iostream" #include "string" using names ...

  9. JS判断客户端是手机还是PC

    function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", " ...

  10. 利用Apply的参数数组化来提高代码的优雅性,及高效性

    利用Apply的参数数组化来提高代码的优雅性,及高效性 Function.apply()在提升程序性能方面的技巧 我们先从Math.max()函数说起,Math.max后面可以接任意个参数,最后返回所 ...