估算视频直播的用量我们先要了解视频直播技术架构和码率的概念。
视频直播技术架构
直播架构.png如上图,直播需要有个推流的设备,可以是专用设备(特定是分辨率高、清晰),也可以使用电脑+推流软件 或者 手机+推流软件。
推流设备将视频流推到云端的推流服务(一般使用 rtmp 协议),云端服务将视频流转到播流服务,播流服务提供播流地址,观看设备加载播流地址进行观看。
播流地址一般有 rtmp协议 和 http 协议的,http 协议又分 m3u8 和 flv 格式的,观看设备根据自身需要来选择。播流服务一般采用 CDN ,因为推流只是一股,但播流有很多,并且分布在全国各地观看。
上图中的转码服务的作用是将原始的高码率视频流转换为低码率的视频流(码率的概念请见下文),原因有二:
1 观看设备在保证清晰度可接受的情况下尽量使用低码率来播放,能省不少流量。
2 传输原始视频率需要的带宽高,一些观看用户所在的网络条件差,可能会卡。
一般播放端会提供多个不同的清晰度版本来切换。例如 流畅、标清、高清、超高清。
码率
视频码率就是数据传输时单位时间传送的数据位数,单位 kbps 。基本的算法是:码率(kbps) = 文件大小(KB) * 8 / 播放时长(秒)
下面是各种清晰度和码率的对照表
清晰度 | 推荐码率 | 推荐分辨率 |
---|---|---|
流畅 | 400 | 640*360 |
标清 | 900 | 960*540 |
高清 | 1500 | 1280*720 |
超清 | 3000 | 1920*1080 |
2K | 3500 | 2560*1440 |
用量估算
接下来我们估算带宽和流量的使用,用来提前购买网络资源。
带宽峰值(单位Mb/s) = 码率/1024 * 观看人数
1小时流量(单位GB)= 码率/1024/102483600 * 观看人数
以上只是计算了观看产生的流量,没有计算推流和转码的流量,因为推流和转码只有一个,所以在观看人数多的时候基本可以忽略不计。
在一个实际的项目中,我们使用的标清码率(900)来进行播放。实际产生的流量和带宽比预估的大概小 25% ,以上这种用量估算方法基本靠谱。
网友评论