视频监控系统中,可变码率和固定码率对录像文件存储大小的影响,如何配置比较好?

news2024/11/15 19:58:12

目录

一、问题描述

二、视频监控的录像文件计算

(一)计算方法

(二)计算工具

三、原因分析

(一)检查配置

1、IPCa配置

2、IPCb配置

3、录像文件存储大小的理论值

(二)实际情况观察

1、实际数据统计

2、实际码率

(三)分析原因

1、查看视频配置参数

2、变码率和定码率

(1)定码率

(2)变码率

3、Smart265

4、结论

四、总结

(一)影响录像文件大小的影响因素

(二)可变码率对录像文件大小的影响

1、视频内容的复杂性

2、编码器的配置

3、场景切换

4、编码效率

(三)如何配置CBR还是VBR

1、CBR和VBR的区别

2、需要考虑的因素(择CBR还是VBR)

(1)视频质量需求

(2)网络条件

(3)存储空间


一、问题描述

        有两个网络摄像头接入AS-V1000视频监控平台,并使用平台的录像服务模块进行中心录像。实际使用时,在web客户端下载某个时段的录像,发现录像文件的实际大小与理论值产生了一定的差距。

二、视频监控的录像文件计算

(一)计算方法

        详细可以参考以前的文章:《视频监控系统中,中心录像服务器的录像文件实际大小和理论值相差很大的问题解决》第二章第一节

(二)计算工具

        详细可以参考以前的文章:《视频监控系统中,中心录像服务器的录像文件实际大小和理论值相差很大的问题解决》第二章第二节

三、原因分析

(一)检查配置

        两个摄像头分别称作IPCa和IPCb,它们的配置页面如下所示:

1、IPCa配置

2、IPCb配置

3、录像文件存储大小的理论值

        可以看到两个设备都只有视频流,而没有音频流,因此可以只计算视频部分的大小。

(1)摄像头IPCa

        码率上限为1M,根据公式可以得出录像文件一天的存储大小的理论值为:

        (1024/ 8) * 3600* 24/ (1024*1024) ≈ 11G

(2)摄像头IPCa

        平均码率(512K)两项参数,由此可以得出录像文件理论值为5.8G

        详见上一章的表格。

(二)实际情况观察

1、实际数据统计

        (1)摄像头IPCa录像文件一天的存储大小为8.8G,

        (2)摄像头IPCb录像文件一天的存储大小为4.2G

2、实际码率

        使用视频监控平台的C/S客户端,可以查看摄像头视频的实时码率。

        (1)摄像头IPCa的实时的码率为860kbit/s左右,如下图示:

,        

        (2)摄像头IPCb的实时的码率为460kbit/s左右,如下图示:

        可以看到,两路摄像头实际的码率比配置页面中设置的码率要小很多。

(三)分析原因

        为什么实际的码率会比配置页面中设置的码率要小呢?

1、查看视频配置参数

        再仔细查看配置页面的配置,发现:这两路摄像头使用的都是码率类型都是变码率,IPCb摄像头还开启了smart265的功能。

2、变码率和定码率

        在设备的配置中,码率类型可设置为变码率或者定码率。它们的定义如下:

(1)定码率

        即固定码率(Constant Bitrate,简称CBR),视频码率在设定值附近相对固定,不会大范围波动,在分辨率与码率匹配的情况下,可以保证较好的成像效果。由于CBR是固定的比特率,因此无论视频帧的复杂度如何,码率都保持不变。如果视频内容中包含大量的复杂细节或快速运动,CBR可能会因为码率不足而导致画质下降,如画面模糊、不清晰等。另一方面,对于内容简单的视频帧,CBR可能会浪费一些码率。这种恒定的码率策略意味着录像文件的大小是固定的,与视频内容的复杂度无关。

(2)变码率

        即可变码率(Variable Bitrate,简称VBR),视频码率在设定值以下,根据环境复杂度而波动,相对节省存储空间,但在环境较大变化的情况下,会占用很大的存储空间。从视频画面上可以看出,两个视频都是在室内,场景内一直移动的事物不多,所以,视频码率一般会较小,所以存储空间占用的会比较小。

3、Smart265

        Smart265是一种编码方式,Smart265 开启后,在保证图像质量的前提下,典型场景中,开启Smart265时的平均码率相比H.265码率会小一些,因此可节省部分存储空间,节省用户存储成本。

4、结论

        (1)对于网络摄像机IPCa,若按照上节的实际码率计算,录像文件的实际大小可以估算为:

        860 k *11G/1024k=9.2G,

        跟实际统计值8.8G,相差为:

        (9.2-8.8)/9.2=4.3%,

        误差非常小了。

(2)对于网络摄像机IPCb,若按照上节的实际码率计算,录像文件的实际大小可以估算为

        458k*5.8G/1024k=5.1G,

        跟实际统计值4.2G,相差为:

        (5.1-4.8)/9.2=5.8%,

        误差也非常小了。

(3)由此可以得到结论,IPCa和IPCb摄像头的录像文件的统计值跟实际情况相符,实际值小于理论值也属于正常现象。

四、总结

(一)影响录像文件大小的影响因素

        录像文件大小的计算通常涉及几个关键因素,包括码流(或视频编码率)、音频编码率(如果有音频的话)、视频时长以及可能的音频参数(如采样率、位深和声道数)。

        此外,视频的分辨率、编码方式、图像质量也会在一定程度上影响录像文件大小。在统计录像文件大小时,还要考虑到实际的码率情况。

        对于动态码率录像,由于码率会根据实际环境自动调整,因此实际文件大小也会根据环境的不同而有所变化。

        结合以上这些信息,才能更准确的预估录像存储空间的理论值。

(二)可变码率对录像文件大小的影响

        由于录像文件的存储是根据音视频码流而定的,因此码率变化大,录像文件的存储空间变化也比较大。

        根据本文的实际值可以看出,若配置了可编码率,录像文件跟实际值差别可能比较大,IPCb的差值达到了近30%。因此若视频配置为可变码率VBR,录像文件的大小差异可以非常大。

        具体差别多大,要取决于视频内容的复杂性和编码器的配置。以下为影响文件大小差异的一些关键因素:

1、视频内容的复杂性

        (1)当视频包含大量的运动、颜色变化和细节时(例如,繁忙的街道、快速移动的对象等),编码器需要更多的比特来保持画面的清晰度和质量。

        (2)如果视频内容相对静态、颜色变化不大且细节较少(例如,一个静止的室内场景),编码器可以使用较少的比特来编码。

2、编码器的配置

        (1)编码器通常允许用户设置一个目标比特率范围或最大比特率最小比特率。在这个范围内,编码器可以自由调整每帧的比特率。

        (2)设定一个较高的最大比特率和较低的最小比特率将允许编码器在需要时增加比特率以应对复杂的场景,而在简单场景时减少比特率。

3、场景切换

        如果视频中包含大量的场景切换(例如,从一个繁忙的街道切换到一个安静的室内场景),那么录像文件的大小可能会因为比特率的频繁变化而有很大差异。

4、编码效率

        不同的编码器实现和设置可能会导致不同的编码效率。更高效的编码器可以在保持相同或更好质量的同时使用更少的比特。

(三)如何配置CBR还是VBR

        在视频监控系统中,视频参数的配置中选择CBR(恒定比特率)还是VBR(可变比特率)取决于我们的具体需求和系统环境。

1CBR和VBR的区别

        CBR恒定比特率表示在压缩音频或视频时,压缩出来的文件中每秒的数据流速率都是固定不变的。这种方式的优点是压缩出来的数据流速率稳定,音频或视频的质量也比较稳定,不会因为数据流速率的变化而导致画质或音质的变化。在需要稳定视频质量的场景下,CBR是一个不错的选择,例如对于安全监控等需要保证视频清晰度和连续性的应用。

        然而,VBR可变比特率则允许在压缩过程中根据视频内容的变化调整比特率。在画面或音频信息复杂的情况下,VBR可以自动提高比特率以保证视频质量,而在简单的情况下则降低比特率以节省存储空间。这种方式的优点是可以更有效地利用存储空间,同时保持相对较高的视频质量。在网络传输和存储资源有限的情况下,VBR可以提供更好的性能。

2、需要考虑的因素(择CBR还是VBR

        在选择CBR还是VBR时,需要考虑以下因素:

1)视频质量需求

        如果你需要稳定的视频质量,且对存储空间的需求不高,那么CBR可能是一个更好的选择。然而,如果你需要节省存储空间,并且可以接受一定程度的视频质量波动,那么VBR可能更适合你。

2)网络条件

        在网络条件较好的情况下,可以选择VBR以获得更好的视频质量和更小的文件大小。但是,在网络条件较差的情况下,CBR可能更稳定,因为它不会因为网络波动而导致视频质量下降。

3)存储空间

        如果你的系统存储空间有限,那么VBR可能是一个更好的选择,因为它可以根据视频内容的变化调整比特率以节省存储空间。


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1679865.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Darknet+ros+realsenseD435i+yolo(ubuntu20.04)

一、下载Darknet_ros mkidr -p yolo_ws/src cd yolo_ws/src git clone --recursive https://github.com/leggedrobotics/darknet_ros.git #因为这样克隆的darknet文件夹是空的,将darknet_ros中的darknet的文件替换成如下 cd darknet_ros git clone https://github.…

英飞凌SiC模块为小米电动车提供动力

至2027年之际,SiC功率模块与裸片产品将荣耀登场,助力小米电动汽车新品SU7璀璨问世。英飞凌,这家业界翘楚,将倾其所能,为小米SU7 Max提供两颗HybridPACK Drive G2 CoolSiC 1200 V模块,如同给电动汽车的心脏注…

[链表专题]力扣141, 142

1. 力扣141 : 环形链表 题 : 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾…

pytest教程-47-钩子函数-pytest_sessionfinish

领取资料,咨询答疑,请➕wei: June__Go 上一小节我们学习了pytest_sessionstart钩子函数的使用方法,本小节我们讲解一下pytest_sessionfinish钩子函数的使用方法。 pytest_sessionfinish 钩子函数在 Pytest 测试会话结束时调用,…

254 基于matlab的钢筋混凝土非线性分析

基于matlab的钢筋混凝土非线性分析,根据梁本构关系,然后进行非线性分析,绘制弯矩-曲率曲线。可设置梁的截面尺寸、混凝土本构,钢筋截面面积等相关参数,程序已调通,可直接运行。 254 钢筋混凝土非线性分析 弯…

那些年我与c++的叫板(一)--string类自实现

引子:我们学习了c中的string类,那我们能不能像以前数据结构一样自己实现string类呢?以下是cplusplus下的string类,我们参考参考! 废话不多说,直接代码实现:(注意函数之间的复用&…

公司邮箱是什么?公司邮箱和个人邮箱有什么不同?

公司邮箱是企业用来收发邮件的专业版电子邮箱,不同于个人邮箱的简单功能和有限的存储空间,公司邮箱的功能更加丰富,能够满足企业的日常办公和协作需求。本文将为您详细讲解公司邮箱和个人邮箱的区别,以供您选择更适合自己的邮箱类…

数学建模——农村公交与异构无人机协同配送优化

目录 1.题目 2.问题1 1. 问题建模 输入数据 ​编辑 2. 算法选择 3.数据导入 3.模型构建 1. 距离计算 2. 优化模型 具体步骤 进一步优化 1. 重新定义问题 2. 变量定义 3. 优化目标 具体步骤 再进一步优化 具体实现步骤 1. 计算距离矩阵 2. 变量定义 3. 约束…

【C++】:string类的基本使用

目录 引言一,string类对象的常见构造二,string类对象的容量操作三,string类对象的访问及遍历操作四,string类对象的修改操作五,string类非成员函数六,整形与字符串的转换 引言 string 就是我们常说的"…

UIKit之图片浏览器

功能需求 实现一个图片浏览器,点击左右按钮可以切换背景图,且更新背景图对应的索引页和图片描述内容。 分析: 实现一个UIView的子类即可,该子类包含多个按钮。 实现步骤: 使用OC语言,故创建cocoa Touch类…

【JavaScript】WeakMap 和 WeakSet

Map Map 用于存储键值对。 添加属性: 使用 Map 的 set() 方法可以向 Map 对象中添加键值对。例如: const map new Map(); map.set(key1, value1); map.set(key2, value2);通过二维数组快速创建 map 键值对。 let arr [[1, 2],[2, 3],[3, 4]]let map …

window10下安装ubuntu系统以及docker使用

window10下安装ubuntu系统以及docker使用 1. 启用适用于Linux的Windwos子系统2.下载Linux内核更新包3.将 WSL 2 设置为默认版本4.安装Ubuntu<br />直接去Microsoft store里面直接搜索Ubuntu进行安装。5.可能出现的问题1.win10启动ubuntu报错 参考的对象类型不支持尝试的操…

2024中国应急(消防)品牌巡展西安站成功召开!惊喜不断

消防品牌巡展西安站 5月10日&#xff0c;由中国安全产业协会指导&#xff0c;中国安全产业协会应急创新分会、应急救援产业网联合主办&#xff0c;陕西消防协会协办的“一切为了安全”2024年中国应急(消防)品牌巡展-西安站成功举办。该巡展旨在展示中国应急&#xff08;消防&am…

ABC352编程笔记

ABC352 编程笔记 题意&#xff1a;输入&#xff0c;四个数 a , b , c , d a,b,c,d a,b,c,d&#xff0c;若 d d d 在 c , d c,d c,d 之间&#xff0c;则输出 Yes&#xff0c;否则输出 No。 正解&#xff1a;直接判断。 #include <bits/stdc.h> //#define int long lo…

大数据比赛-环境搭建(二)

一、ubuntu安装google 1、下载google的Linux安装版 链接&#xff1a;https://pan.baidu.com/s/1w4Hsa1wbJDfC95fX2vU_1A 提取码&#xff1a;xms6 或者&#xff1a;Google Chrome 64bit Linux版_chrome浏览器,chrome插件,谷歌浏览器下载,谈笑有鸿儒 (chromedownloads.net) …

docker-java 操作docker

部署docker 10分钟学会Docker的安装和使用_docker安装-CSDN博客文章浏览阅读2.5w次&#xff0c;点赞44次&#xff0c;收藏279次。文章目录Docker简介Docker安装Windows安装Linux安装CentOS安装Ubuntu安装最近花了些时间学习docker技术相关&#xff0c;在此做一些总结&#xff0…

静态IP代理:网络世界的隐秘通道

在数字化时代&#xff0c;网络安全和隐私保护日益受到重视。静态IP代理作为一种网络服务&#xff0c;为用户提供了一个稳定且可预测的网络连接方式&#xff0c;同时保护了用户的在线身份。本文将从五个方面深入探讨静态IP代理的概念、优势、应用场景、技术实现以及选择时的考量…

【传知代码】VRT: 关于视频修复的模型(论文复现)

前言&#xff1a;随着数字媒体技术的普及&#xff0c;制作和传播视频内容变得日益普遍。但是&#xff0c;视频中由于多种因素&#xff0c;例如传输、存储和录制设备等&#xff0c;经常出现质量上的问题&#xff0c;如图像模糊、噪声干扰和低清晰度等。这类问题对用户的体验和观…

【JAVA】嵌入式软件工程师-2025校招必备-详细整理

一、Java 基础 1.JDK 和 JRE 有什么区别&#xff1f; jdk&#xff1a;java development kit jre&#xff1a;java runtime Environment jdk是面向开发人员的&#xff0c;是开发工具包&#xff0c;包括开发人员需要用到的一些类。 jre是java运行时环境&#xff0c;包括java虚拟机…

困惑点记录

【第十章 总结思考】CIM之我见 - 知乎