如何计算视频服务器需要的带宽

经常会被朋友问到这个问题,粗略总结下,如何评估视频服务器需要的带宽值。

一、视频帧率、分辨率、Bit、码流、Byte的关系。

帧率是每秒图像的数量,分辨率表示每幅图像的尺寸即像素数量,码流是经过视频压缩后每秒产生的数据量,而压缩是去掉图像的空间冗余和视频的时间冗余,所 以,对于静止的场景,可以用很低的码流获得较好的图像质量,而对于剧烈运动的场景,可能用很高的码流也达不到好的图像质量,所以结论是设置帧率表示您要的 实时性,设置分辨率是您要看的图像尺寸大小,而码率的设置取决于摄像机及场景的情况,通过现场调试,直到取得一个可以接受的图像质量,就可以确定码流大 小。

1、帧率

通常用FPS表示,全称Frames Per Second,字面解释每一秒钟的画面;一帧就是一副静止的画面,连续的帧就形成动画,如电视图象等。我们通常说帧数,简单地说,就是在1秒钟时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次,每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象。高的帧率可以得到更流畅、更逼真的动画。每秒钟帧数 (FPS) 愈多,所显示的动作就会愈流畅。

2、分辨率

视频分辨率是指视频成像产品所成图像的大小或尺寸。常见的视像分辨率有352×288,176×144,640×480,1024×768。在成像的两组数字中,前者为图片长度,后者为图片的宽度,两者相乘得出的是图片的像素,长宽比一般为4:3。

3、Bit

中文名称位,音译“比特”,bit 来自binary digit (二进制数字),二进制数系统中,每个0或1就是一个位(bit),每8个位(bit)组成一个字节(Byte),1Byte=8bit。

单位换算:

  • 1Byte=8bit
  • 1KB=1024Byte(字节)=8*1024bit
  • 1MB=1024KB
  • 1GB=1024MB
  • 1TB=1024GB

而这几个英文字母的来源:K:kilo(千) M:mega(兆) G:giga(吉) T:tera(太)

4、码流

英文Data Rate,也叫码率,是指视频文件在单位时间内使用的数据流量(比特流),意思是每秒传送多少个二进制数字1或0 ,单位(比特/秒),它是视频编码中画面质量控制中最重要的部分。同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。通常记为:bps、Kbps、Mbps、Gbps、Tbps ,俗称的10M带宽,全称是10Mbps,指每秒钟能够传送10M大小的比特,即10*1024 * 1024个1或0。
在数字信道传送数字信号的速率称为数据传输速率或比特率.比特率这个词有多种翻译,比如码率等,表示经过编码(压缩)后的音视频数据每秒钟需要用多少个比特 来表示,而比特就是二进制里面最少的单位,要么是0,要么是1。

例如:以500Kbps来编码音视频。
 其中 1KB/秒=1024*8bps,
 b就是比特位(bit)
 s就是秒(second)
 p就是每(per)
 所以,以500kbps来编码表示经过编码后的音视频数据每秒钟需要用500K的比特来表示。
    常见视频分辨率的码流;

  • D1:512kbps
  • 720P:2048kbps
  • 1080p:4096kbps
5、Byte

字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位。网络上的所有信息都是以“位”(bit)为单位传递的,一个位就代表一个0或1,每8个位(bit)组成一个字节(Byte)。

在ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。
符号:英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值:0 最大值:255 。如一个ASCII码就是一个字节,
此类单位的换算为:

  • 1KB(Kilobyte 千字节)=1024B,
  • 1MB(Megabyte 兆字节 简称“兆”)=1024KB,
  • 1GB(Gigabyte 吉字节 又称“千兆”)=1024MB,
  • 1TB(Trillionbyte 万亿字节 太字节)=1024GB,其中1024=2^10 ( 2 的10次方),
  • 1PB(Petabyte 千万亿字节 拍字节)=1024TB,
  • 1EB(Exabyte 百亿亿字节 艾字节)=1024PB,
  • 1ZB(Zettabyte 十万亿亿字节 泽字节)= 1024 EB,
  • 1YB(Yottabyte 一亿亿亿字节 尧字节)= 1024 ZB,
  • 1BB(Brontobyte 一千亿亿亿字节)= 1024 YB

注意:MiB和MB,KiB和KB等的区别:

  • 1KiB(kilobyte)=1024byte
  • 1KB(kibibyte)=1000byte
  • 1MiB(megabyte)=1048576byte
  • 1MB(mebibyte)=1000000byte

注:10TB大约等于一个人脑的存储量。
这是因为硬盘生产商是以GB(十进制,即10的3次方=1000,如1MB=1000KB)计算的,而电脑(操作系统)是以GiB(2进制,即2的 10次方, 如1MiB=1024KB)计算的,但是国内用户一般理解为1MB=1024 KB, 所以为了便于中文化的理解,翻译MiB为MB也是可以的。
同样根据硬盘厂商与用户对于1MB大小的不同理解,所以好多160G的硬盘实际容量按计算机实际的1MB=1024KB算都不到160G,这也可以解释为 什么新买的硬盘“缺斤短两”并没有它所标示的那么大。如果用MB来表示磁盘存储器的容量,则磁盘的标称容量与实际显示的容量之间有近5%的误差,如果用 GB来表示,则有7.4%的误差,如果用TB表示,则误差高达10%

二、如何计算
  • 视频的平均大小:指网站上所有视频大小的平均值,单位MB(MByte)
  • 视频的平均时间:指网站上所有视频播放时间的平均值,单位:秒
  • 在线用户峰值:指网站最高能够多少人,同时在线观看
  • 服务器所需带宽:指满足所有用户流畅观看时,需要的带宽值,单位M(Mbps)
  • 分辨率(码流):通常情况下对照数据
    D1:512kbps
    720P:2048kbps
    1080p:4096kbps

公式一:

服务器所需带宽 = ( 视频的平均大小 * 8 / 视频的平均时间 ) * 在线用户峰值

例如:某个1小时(3600)的视频,大小为100M,同时满足100人观看

则需要带宽:(100 * 8 / 3600) * 100 = 22.22Mbps

公式二:

服务器所需带宽 = 分辨率(码流) /1024 * 在线用户峰值

例如:100人同时观看1080P的视频,需要带宽:4096 / 1024 * 100 = 400M

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>