java多线程    Java入门    vsftp    ftp    linux配置    centos    FRP教程    HBase    Html5缓存    webp    zabbix    分布式    neo4j图数据库    

视频直播的带宽计算

最近经常收到关于视频直播,视频点播的问题。我要做个视频服务器,我要租用多大带宽。我要做个视频点播我要多大的带宽。
今天来把视频直播的带宽问题研究个一二。

首先要了解视频存储空间大小与传输带宽的之间的计算关系:

1.上行带宽就是本地上传信息到网络上的带宽。上行速率是指用户电脑向网络发送信息时的数据传输速率,比如用FTP上传文件到网上往,影响上传速度的就是“上行速率”。

2.下行带宽就是从网络上下载信息的带宽。下行速率是指用户电脑从网络下载信息时的数据传输速率,比如从FTP服务器上文件下载到用户电脑,影响下传速度的就是“下行速率”。

传输带宽计算: 比特率大小×网络监控摄像机的路数=网络带宽至少大小;

在摄像头监控中

D1:480i格式,和NTSC模拟电视清晰度相同,行频为15.25kHz

D1视频格式每路监控摄像头的比特率为1.5Mbps,即每路无线摄像头所需的数据传输带宽为1.5Mbps,10路摄像机所需的数据传输带宽为:1.5Mbps(视频格式的比特率)×10(网络监控摄像机的路数)=15Mbps(上行带宽)

720P(100万像素)的视频格式的所需带宽:
2Mbps(视频格式的比特率)×10(监控点的网络摄像机的总路数之和)=20Mbps(下行带宽),
即:采用720P的视频格式监控中心所需的网络下行带宽至少20Mbps

1080i和720p同是国际认可的数字高清晰度电视标准。原NTSC国家采用的是1080i/60Hz格式,与NTSC模拟电视场频相同。而欧洲以及中国等一些原PAL制国家则采用了1080i/50Hz模式,场频与PAL模拟电视相同。至于720p,则由于IT厂商更深的渗透到了电视行业而成为了一个可选的标准。[1]

视频的编码和视频文件大小的关系。

视频的大小不仅仅取决于视频的分辨率,还取决于视频的格式和编码方式,相同的视频格式可能会是不同的编码方式渲染出来的。这三个选项中编码方式对视频的体积影响最大。最直接的例子,我用AVI无损格式渲染一个3分钟的720P的小短片,容量可能会达到惊人的10G以上,而如果我用AVI H264.编码格式渲染相同的视频,最终成品可能也就100M左右。

比特率是指每秒传送的比特(bit)数。单位为 bps(Bit Per Second),比特率越高,传送的数据越大。视频中的比特率(码率)指由模拟信号转换为数字信号的采样率。计算:码率(kbps)=文件大小(字节)X8 /时间(秒)/1000

码率也叫比特率,表示经过压缩编码后的视音频数据每秒需要用多少个比特来表示,即把每秒显示的图像进行压缩后的数据量,一般采用的单位是kbps即千位每秒。
一般来说码率越大,处理出来的文件就越接近原始文件,但文件体积与码率是成正比的,所以几乎所有的编码格式重视的都是如何用最低的码率达到最少的失真,围绕这个核心衍生出来的CBR(固定码率)与VBR(动态码率),都是在这方面做的文章:
固定码率CBR(Constant Bitrate):指文件从头到尾都是一种码率,这是以固定文件大小为前提的压缩方式。
动态码率VBR(Variable Bitrate):指没有固定的码率,压缩时根据视音频数据即时确定使用什么码率,这是以质量为前提兼顾文件大小的压缩方式。
平均码率:通常是指数字音乐或者视频的平均码率。例如如果说一个MP3文件的平均码率是128kbps,就是说,平均而言,每秒钟有128,000比特被传输/解码。码率并不是衡量音频/视频质量的唯一标准,例如一些其它的格式,比如wma和ogg格式都可以在和mp3文件同样的平均码率下提供更好的声音质量。

abr是以一个平均数值来处理mp3,结果你就会看到你所指定的码率(例如222KbPS)是作为当前播放器解压的首选,而恒定码率就只是以固定的压缩比压缩文件。

如果1G带宽,能抗几个人同时看直播?
以1G带宽,1M码率为例, CU(人数) = 1G / 1M * 80% = 800.

大伙可以根据这个值,以此类推。

实际占用的网络宽带大小取决于同时在线的观看人数,视频采集分辨率大小,视频速率,产品的带宽要求以及会议支持的视频窗口数等。

首先大家需要了解两个单位Byte和bit

计算机上有两个最基本的单位,Byte(字节)和bit(位),二者的换算关系是1Byte=8bits。

100Mbps(100M bits per second)独享带宽,换算到我们日常熟悉的文件大小,要除以8;也就是说100Mbps带宽,理论下每秒可以下载的文件大小约是12.5MB(M Byte)。

用于视频服务器点播时候的在线人数

如果用100M去点播视频服务器上普通电影(600kbps)的,产生一次顺畅点播需要每秒传递的数据大小600/8≈80KB左右,下载速度 100*1024K/8 = 12800 K 一个用户下载数据大小为80K ,也就160个同时链接(并发)。

假设1个电影码率为1M 就是1000kbps
1G 带宽 公式为

(1000*1024/8)/(1000/8)

简化公式
(1000 * 1024)/(1000)

可以理解为1M 支持一个人。

如果有人问你,我200人同时看电影我的服务器要多大带宽,200M

你如果是网页同样可以支持1万个人在线,因为访问网页的时候只是短时间连接服务器请求数据,这 1万人未必同时需要1万个并发连接。

用于web站点的同时连接数

作为web站点(常见的web站点有门户、视频),可以参考如下公式大概计算出在线人数,

公式:支持连接个数 = 服务器带宽/8/页面尺寸大小

看到这,我想大家都已经明白了,100M独享带宽理论上是可以搭建视频服务器,只不过可支持120人同时在线观看视频,再多就会出现视频播放卡、请求排队等现状。因此一般而言搭建视频服务器至少需要百兆甚至千兆级别的带宽。

价格估算
http://www.zhibocloud.cn/price.html

http://vcloud.163.com/docs/guide/chargeLive.html#doc-toc-4


This entry was posted in 互联网观察 and tagged , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/shipin-zhibo/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.

One Response to 视频直播的带宽计算

  1. 很认真的去看,想要看个明白,然而一整篇看下来,还是一脸懵

Leave a Reply