从视频编码格式->监控存储容量计算

115 阅读5分钟

在项目实施过程中,经常需要计算不同配置下保存录像回放文件所需的存储容量,监控存储所需的容量取决于多个因素,如视频格式、分辨率、帧率、压缩率、存储天数、摄像头数量等。其中视频编码格式是一个重要的概念,下面我们就从视频编码格式入手,直到最后得到我们想要的结果(^_^)

一、主流视频编码格式

  • H264,也称为AVC(Advanced Video Coding),是一种广泛使用的视频压缩标准,适用于数字电视、视频会议、监控、互联网流媒体等领域。它采用了许多先进的编码技术,如空间预测、运动补偿、变换编码等,从而在较低的比特率下实现较好的视频质量。H264的压缩效率比之前的标准有了显著提高,因此在许多领域得到了广泛应用,包括高清电视、蓝光光盘、流媒体等

  • H264B,是H264的一个子集,主要用于低码率的视频传输,它对B帧的数量和参考帧的数量进行了限制,从而降低了编码复杂度和解码延迟,但也牺牲了一定的视频质量

  • H265,也称为HEVC(High Efficiency Video Coding),是H264的下一代标准。相比于H264,H265进一步提高了压缩效率,可以在相同的视频质量下降低50%的比特率。这使得H265非常适合用于高清视频的传输和存储,例如4K视频。然而,H265的编码复杂度也相应地增加了,因此在硬件加速的支持下才能有效地实现

  • H265+,是H265的一个优化版本,它在P帧和动态码流控制这两方面上做了改进,以达到用尽可能小的码流来传输更高清的画面,好处就是实现了低带宽下传输高清画面,网络监控延时更小(画面更流畅),占用带宽更小,需要的存储空间更小

  • MJPEG,也称为Motion JPEG A,是一种基于静态图像压缩标准的视频压缩技术。MJPEG将每一帧图像单独压缩,并采用JPEG标准对其进行压缩。由于每一帧都是独立压缩的,因此MJPEG的视频质量通常会于基于帧间预测的压缩标准,如H264和H265。然而,MJPEG的压缩效率较低,需要较大的存储和传输带宽

二、压缩比、质量系数->码流大小

需要计算存储容量,最重要的是得到码流大小

摄像机设置中的帧率分辨率质量和活动编码格式都会影响视频的码流,即视频的比特率。一般来说,码流的计算公式如下:

image.png

其中,帧率是指每秒显示的图像数,例如25fps;分辨率是指每帧图像的像素数,例如1920x1080;颜色深度是指每个像素的位数,例如24位;质量系数是指视频的清晰度,一般在0.8~1之间;压缩比是指视频编码的效率。

压缩比

以下列出不同的编码格式的压缩比以作参考,运算时一般取最低值,例如H264的压缩比就带入200

  • H264:约为200~300
  • H264B:约为250~350
  • H265:约为400~600
  • H265+:约为500~800
  • MJPEG:约为10~20

码流大小

最后,假设我们使用H.264编码格式,设置分辨率为1920x1080,帧率为25fps,颜色深度为24位,质量系数为0.9,那么我们可以代入公式得到码流大小(运算时注意单位):

1920*1080*25*24*0.9/100/200 = 5598.72 MB/S (兆字节每秒) 
= 5598.72 * 1000 * 1000 * 8
= 44777600000 bps(比特每秒)

image.png

也就是说,我们需要大约11.7Mbps的码流来传输这样的视频。

三、码流大小->存储容量计算

监控存储所需的容量取决于多个因素,如视频格式、分辨率、帧率、压缩率、存储天数、摄像头数量等。

除了码流大小,其他参数按照实际情况来就可以 一般来说,可以用以下公式来估算:

image.png

其中,格式化损失比例是指磁盘格式化后的实际可用空间与原始空间的比例,通常在0.85~0.95之间。

例如,假设我们要用H265+格式存储50个1080P分辨率、25帧率、中等质量和活动的摄像头录像,保存30天,格式化损失比例为0.9,H265+的码流大小为1.5Mbps,然后代入公式得到:

image.png 也就是说,我们大约需要11.9GB的存储空间来满足这个需求。实际情景中,有时还会用到摄像机进行抓拍,这时还要计算抓拍图所占空间,这些需要按照实际情况进行考虑(^_^)

最后附上监控存储容量计算器以供参考:

监控存储容量计算器 | Western Digital

安防工具-安防计算器-录像容量 (hikmall.com)