在开始一个使用 FLASH MEDIA SERVER的项目开始之前,最好能够对你项目使用FLASH MEDIA SERVER 3的带宽需求进行计算.这样对你的项目最终的实现效果,会有一个稳定的结果;去评估您的 Flash Media Server 应用所使用的带宽, 您需要了解如下内容:

  • 您的应用并发用户数量的最大负荷数
  • 数据传输速度,您预计您的用户连接速度( 56 Kbps 拨号上网, cable/DSL, 或者是居域网的使用比例)
  • 您的应用将要支持视频/音频操作的用户比率
  • 服务器硬件的局限性以及互联网状况
  • 您应用中视频和音频格式的频率

首先区分您应用的类型;一种为一对多(例如视频点播),另一种是多对多(例如视频会议),

Figure 1. One-to-many 视频点播系统

带宽计算公式

  • 计算服务器端带宽需求 (BWs):
    BWs = N × S
    N = 并发用户数量 //number of simultaneous users (subscribers)
    S = 视频内容平均编码比特率 //average bitrate of encoded A/V content
  • 计算客户端带宽需求(BWc):
    BWc = S
    S = 视频内容平均编码比特率 //average bitrate of encoded A/V content

举例:

视频编码是500 Kbps,有1000人进行观看那么服务总体带宽需求是

500 Mbps = 1000 × 500 Kbps

如果您的服务器支持600 Mbps吞吐量的硬件配置能力,您只需要一台服务和许可就可以.

当然如果您需要更多的用户访问量,比如10,000人并发需求,那么下面的计算式:

5000 Mbps = 10,000 × 500 Kbps

并发服务器硬件配置能力是600 Mbps,您需要:

8.3 = 5000 Mbps ÷ 600 Mbps

调整多比率计算方程式

例如,前面的例子有一半人使用350 Kbps DSL modem,另一半人使用的是3 Mbps cable modem.当观众收看视频编码为500 Kbps的时候,你想要分割视频为150KBPS给DSL modem用户.

325 Mbps = (500 Kbps × 500) + (150 Kbps × 500)

这样带宽被降到了325MBPS.

实例2:多对多

例如视频会议,需要多个人同时看到对方.

Figure 2. 多对多视频会议

例如,如果有四个人在一个房间中,第一个人可以发送一个视频和接受三个其他的视频流,总共四个视频流.同样的第二,三,四个人也会消耗四个视频流.因此Flash Media Server视频流的总共数量是16每四个人.

带宽计算

  • 计算服务端带宽 (BWs):
    BWs = (P × N) × S
    P = 发布者的数量
    N = 订阅者的数量
    S = 视频编码的平均比特率
  • 计算客户端带宽 (BWc):
    BWc = P × S
    P = 发布者的数量
    S = 视频编码的平均比特率

实例计算

为四个人使用100 Kbps的视频流为一个会议室服务端带宽需要:

4.8 Mbps = (4 × 4) × 300 Kbps

为四个人使用100 Kbps的视频流为一个会议室客户端带宽需要:

900 Kbps = 3 × 300 Kbps 下载流

300 Kbps = 1 × 300 Kbps 上传流

因此每个视频会议房间将会需要一个4.8 Mbps的带宽.一台吞吐量为600 Mbps的服务器,你可以支持600 Mbps ÷ 4.8 Mbps = 125 房间.

FMS带宽的需求计算法的更多相关文章

  1. 大型网站的灵魂——性能

    前言     在前一篇随笔<大型网站系统架构的演化>中,介绍了大型网站的演化过程,期间穿插了一些技术和手段,我们可以从中看出一个大型网站的轮廓,但想要掌握设计开发维护大型网站的技术,需要我 ...

  2. 深入浅出HTTP协议(WEB开发和面试必备)

    1. 基础概念篇   a.简介 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和 ...

  3. 深入理解http/https协议

    深入理解HTTP协议(转) http协议学习系列 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(Wo ...

  4. SDN与NFV技术在云数据中心的规模应用探讨

    Neo 2016-1-29 | 发表评论 编者按:以云数据中心为切入点,首先对SDN领域中的叠加网络.SDN控制器.VxLAN 3种重要技术特点进行了研究,接下来对NFV领域中的通用服务器性能.服务链 ...

  5. HTML5离线缓存问题

    HTML5离线缓存问题 1.应用程序缓存 什么是应用程序缓存(Application Cache)? HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. ...

  6. 转载和积累系列 - 深入理解HTTP协议

    深入理解HTTP协议 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web C ...

  7. 【转】HTTP协议详解

    原文地址:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436.html 一.概念 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则 ...

  8. CDN技术

    CDN 是构建在数据网络上的一种分布式的内容分发网. CDN 的作用是采用流媒体服务器集群技术,克服单机系统输出带宽及并发能力不足的缺点,可极大提升系统支持的并发流数目,减少或避免单点失效带来的不良影 ...

  9. CDN(内容分发网络)技术原理

    1. 前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加, 用户数量也在不断增加,受Web服务器的负荷和传输距离 ...

随机推荐

  1. mysql查询的cache

    Mysql SQL_NO_CACHE不生效的问题 贾春春 1 票 1224 我想通过SQL_NO_CACHE得知某个query查询速度,但似乎无法实现 例如首次查询: mysql> select ...

  2. Android4.2以后,多屏幕的支持 学习(一)

    前几天总结了Android的多用户支持,过几天准备再总结Android的多屏支持.Android支持3种类型屏幕:主屏幕(Primary Display).外屏幕(External Display)和 ...

  3. 笔记:利用Cocos2dx 3.3 lua 做一个动作类游戏(一)

    在这之前,声明一下: 做不完我是小狗. 没办法,没毅力和恒心,之前的那个Quick Cocos2dx做的横版过关游戏的demo已经转成了3.3的版本了,其实也算是个半成品,战斗,UI啥的都有了,呵呵. ...

  4. PHP 对MySQLI预处理的包装

    mysql 类 <?php class Mysql { private static $instance; private $link; private $query; private $stm ...

  5. css控制div显示/隐藏方法及2种方法比较原码 - czf164的专栏 - 博客频道 - CSDN.NET

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  6. 使用for循环输出空心的菱形的思路-还是没有办法理解

    之前已经成功写过一次代码,今天重新看这个题目时,一下子又没了思路,在草稿纸上比划了大概十分钟才想到实现的思路.思路跟上次实现的完全一样,发现时间长了就忘记了!真是好记性不如烂笔头,何况我这么差的记性呢 ...

  7. WebRequestManager对象的使用

    WebRequestManager可以喝WebRequest对象一起使用. WebRequestManager对象的add_completedRequest方法,可以用来处理所有WebRequest对 ...

  8. CodeForces 652A Gabriel and Caterpillar

    简单模拟. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> ...

  9. POJ 2373 Yogurt factory

    简单DP. 这周所用的实际花费是上一周的花费+S与这周费用的较小值. #include<cstdio> #include<cstring> #include<cmath& ...

  10. 《算法导论》归并排序----merge-sort

    伪代码请见<算法导论>2.3节 merge-sort实现: public class MergeSort {        public static void sort(double [ ...