虽然在视频行业做了2年多了,但是一直是做客户端,并没有细致的去了解过视频的一些基础知识,只是在开会相关同事套路的时候,会听到一些,因为并不直接相关,也就没有形成相关概念。既然自己不想一直只做客户端,想要了解行业,那么从这些最经常被同事提及的概念入手吧。
一、视频相关基本概念
- 帧率:FPS(Frames Per Second)每秒钟要多少帧画面。影响画面流畅度,与画面流畅度成正比:帧率越大,画面越流畅;帧率越小,画面越有跳动感。
帧率不要超过24
如果限定一个码率,比如800kbps,那么帧率越高,编码器就必须加大对单帧画面的压缩比,也就是通过降低画质来承载足够多的帧数。如果视频源来自摄像头,24FPS已经是肉眼极限,所以一般20帧的FPS就已经可以达到很好的用户体验了。
有些玩过3D游戏的朋友可能会说,游戏的帧率越高越流畅。这里要注意一定不要混淆场景:游戏追求高帧率的目的是为了尽可能让3D模型渲染出来的运动效果更加接近真实运动轨迹,所以帧率越高越好。 但对摄像头而言,它要采集的目标是真实世界的物体,真实世界本来就没有刷新率的说法,所以这个理论不适用。
- 画面组:Gop(group of pictures)表示多少秒一个I帧
- 码率:(DataRate)视频文件在单位时间内使用的数据流量大小,单位是kbps,比如1000kbps代表编码器每秒产生1000kb(或100KB)的数据。
如果码率为变量,则帧率也会影响体积,帧率越高,每秒钟经过的画面越多,需要的码率也越高,体积也越大。是视频编码中画面质量控制中最重要的部分。
同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。
码率和质量成正比,但是文件体积也和码率成正比。
码率超过一定数值,对图像的质量没有多大影响;
码率计算公式:码率=采样率 X 位深度 X 声道
文件大小:文件大小=码率 X 时长 (注:此计算公式对未压缩的wav格式文件有效,不适用于mp3等被压缩的文件)。
关于一个视频流的数据量:
码率如果为10Mb/s,代表1秒钟有10M bit的视频数据,对于YUV422格式的1080P视频而言,一帧图像是 1920x1080x2x8/1024/1024 = 31.64Mbit,1秒钟30帧图像的话,则有949.2Mb/s,不压缩根本无法网上传播,所以一定要经过视频压缩处理,不要以为1080P的视频就一定是高清的,清晰度还跟视频码率密切相关,对于1080P的视频而言,蓝光视频的码率是20Mb/s,一般下载的视频码率大都是10Mb/s,一些IPCamera/无人机的码率是2~8Mb/s,而很多视频网站的码率甚至低于5M/s,其实有时还不如高码率的720P清晰。
- 分辨率:单位英寸中所包含的像素点数。
影响图像大小,与图像大小成正比:分辨率越高,图像越大;分辨率越低,图像越小。
- 清晰度:视频的清晰程度
在码率一定的情况下,分辨率与清晰度成反比关系:分辨率越高,图像越不清晰,分辨率越低,图像越清晰。
在分辨率一定的情况下,码率与清晰度成正比关系,码率越高,图像越清晰;码率越低,图像越不清晰。
二、不同分辨率帧率码率下摄像机正常需要的带宽的关系
- 比特率:是指每秒传送的比特(bit)数。单位为bps(BitPerSecond)
比特率越高,传送的数据越大。比特率表示经过编码(压缩)后的音、视频数据每秒钟需要用多少个比特来表示,而比特就是二进制里面最小的单位,要么是0,要么是1。比特率与音、视频压缩的关系,简单的说就是比特率越高,音、视频的质量就越好,但编码后的文件就越大;假如比特率越少则情况恰好相反。
1.大B和小B含义
大B指的就是字节Byte,小B指的就是位bit,一个字节是8位
一般来说下载速度是按照Byte/s(字节/秒)来显示的,需要转换为bits/s(比特/秒)才行,换算关系是1Byte/s = 8bits/s(即8bps)
正常网络运营商给出的带宽如果是100M,指的是用户的带宽数值,单位是bps(比特位),一般来指下行带宽,一般来说这样的下载速度能到10Mbits/s ÷ 8 bits/s = 12.5MByte/s
视频传输带宽计算:比特率大小 × 摄像机的路数 = 网络带宽最低大小;
上行带宽计算:
码率计算公式
基本的算法是:【码率】(kbps)=【文件大小】(字节)X8/【时间】(秒)*1000
三、录像机不同分辨率下所占硬盘的空间大小
视频格式 | 视频分辨率 | 对应像素 | 推荐单路传输带宽 | 一天使用硬盘大小 |
---|---|---|---|---|
CIF | 352*288 | 10万 | 512Kbps | 5.3G |
D1 | 704*576 | 40万 | 1.5Mbps | 16G |
720P | 1280*760 | 100万 | 2Mbps | 21G |
960P | 1280*960 | 130万 | 3Mbps | 32G |
1080P | 1920*1080 | 200万 | 4Mbps | 42G |
1536P | 2048*1536 | 300万 | 5Mbps | 52G |
4K | 3840*2160 | 800万 | 8Mbps以上 | 84G |
以上计算公式是:
3600秒(每小时)* 24(每天)* 码率(kbps) / 8(位转换为字节)/ 1024(换算成M) /1024(换算成G) = 一天某一路相机在某一码率下所
带入上表的CIF的推荐码率计算式:86400 * 512 / 8 /1024² ≈ 5.3G
需要的硬盘大小
简化写:
86400s* 码率 / 8 / 1024² =一天一路摄像头某一码率下所需硬盘大小
=> 10.546875 * 码率(kbps) = 所需硬盘大小