视频监控系统中,中心录像服务器的录像文件实际大小和理论值相差很大的问题解决

目录

一、现象描述

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

(一)计算方法

1、仅视频部分

2、视频和音频部分

3、使用平均码率

(二)计算工具

1、关注威迪斯特公众号

2、打开“计算容量”的小工具

三、原因分析

(一)实际码流检测

(二)检查配置

1、接入方式

2、通道配置

(三)分析原因

四、问题解决

(一)更改接入方式

(二)监测码率

(三)统计录像容量


一、现象描述

        使用AS-V1000视频监控平台录像服务器进行录像,在进行录像文件下载时,发现下载的录像文件大小与理论值的相差很大,将近10倍。如下图编号5的摄像机的数据:

        理论值是12GB,而统计下来的实际值是1.3G,是什么原因造成的?

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

(一)计算方法

1、仅视频部分

        使用码流来计算。码流(以kbit/s为单位)除以8,然后乘以录像时间(秒为单位),最后除以1024再除以1024,得到的结果就是以GB为单位的文件大小。

2、视频和音频部分

        视频部分如上节所述。

        音频部分需要考虑采样率、位深和声道数。文件大小 = 采样率 × 位深 × 声道数 × 时长 ÷ 8。得出的结果是以字节为单位,需要根据实际情况转换为适当的单位(如MB或GB)

        然后将视频和音频部分的文件大小相加,得到总的录像文件大小。

3、使用平均码率

        平均码率(以kbit/s为单位)除以8,然后乘以录像时间(秒为单位),最后除以1024再除以1024,结果就是以GB为单位的录像文件大小。

以上这些计算方式都是基于理论值,实际文件大小可能会因为压缩算法、编码方式、音频和视频格式以及具体参数等因素而有所不同。

(二)计算工具

1、关注威迪斯特

         在微信中选择“添加朋友”,然后选择“公众号”,输入“威迪斯特”或者“vidisit”,就可以看到苏州威迪斯特。如下图示,第一个就是“苏州威迪斯特”。

2、打开“计算容量”的小工具

        关注以后,进入威迪斯特,出现如下界面,按照图示进行操作。

        弹出如下界面:

        可以通过选择或填入相关参数(例如码率、分辨率、摄像头个数、天数),进行录像文件大小理论值的计算。

三、原因分析

(一)实际码流检测

        使用视频监控平台的C/S客户端,可以查看摄像头视频的实时码率只有60K左右,如下图示:

        进入IPC的配置,摄像头配置页面可以看到,设置的码率为512K

实际画面码率与配置码率相差了大约8~9倍,由此可以推测是在接入时配置出现了问题

(二)检查配置

1、接入方式

         进入视频监控平台的管理端,查看该设备的配置,发现摄像头接入时使用的是RTSP的方式接入。

2、通道配置

         然后进入通道配置,发现RTSP可能是子码流方式,如下图示:

   

(三)分析原因

        客户的设备是海康的网络摄像机,海康网络摄像机RTSP取流有两种方式:

        (1)主码流取流:rtsp://<用户名>:<密码>@<ip>:554/h264/ch1/main/av_stream

        (2)子码流取流:rtsp://<用户名>:<密码>@<ip>:554/h264/ch1/sub/av_stream

        由此可以看到,在配置时使用的子码流取流。

        主码流通常码流较大,清晰度高;而子码流的码率较小,图像较流畅,但画质相对较低。
        因此,可以初步判断,实时视频码率较低的原因可能就是取流时配置了子码流而非主码流的地址。

四、问题解决

        根据上一章节分析,需要更改接入方式和前端设备配置

(一)更改接入方式

        将关联RTSP地址中的sub,更改为main,使设备在取流时选择主码流。

(二)监测码率

        使用C/S客户端,可以查看摄像头视频的实时码率,如下图示:

        可以看到码率接近512K左右。

(三)统计录像容量

        发现实际录像文件大小与理论值相近,实际值为10.5G,比理论值差8%左右。如下图所示:

        问题得到了解决!


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


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

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

相关文章

SharePoint 使用renderListDataAsStream方法查询list超过5000时的数据

问题&#xff1a; 当SharePoint List里的数据超过5000时&#xff0c;如果使用常用的rest api去获取数据&#xff0c;例如 await this.sp.web.lists.getByTitle(Document Library).rootFolder.files.select(*, listItemAllFields).expand(listItemAllFields).filter(listItemA…

Python多线程与互斥锁模拟抢购余票的示例

一、示例代码&#xff1a; from threading import Thread from threading import Lock import timen 100 # 共100张票def task():global nmutex.acquire() # 上锁temp ntime.sleep(0.1)n temp - 1print(购票成…

语音网关有哪些?

语音网关是一种网络设备&#xff0c;它使得通过传统的电话网络&#xff08;如公共交换电话网络&#xff0c;PSTN&#xff09;和现代的数据网络&#xff08;如互联网或私有数据网络&#xff09;进行的语音通信成为可能。语音网关的主要作用是在模拟或数字电话信号与数据网络的数…

python基础--推导式和拆包

推导式和拆包 推导式 这是一个快速地生成数据的方式 比如在数组里面存1, 3, 5…99 [x for x in range(1, 100) if x % 2 0]只一个不可以生成元组, 可以用于列表, 字典和集合 这一个循环是可以嵌套的 [(x, y) for x in range(1, 3) for y in range(3)] [(1, 0), (1, 1), (…

论文 学习 Transformer : Attention Is All You Need

目录 概述&#xff1a; 对摘要的理解&#xff1a; 框架解析 按比例缩放的点积注意力 多头注意力机制 前馈神经网络与位置编码 概述&#xff1a; transformer 是一个encoder ——decoder 结构的用于处理序列到序列转换任务的框架&#xff0c;是第一个完全依赖自注意力机制…

1分钟搞定Pandas DataFrame创建与索引

1.DataFrame介绍 DataFrame 是一个【表格型】的数据结构,可以看作是【由Series组成的字典】(共用同一个索引)。DataFrame 由按一定顺序排列的多列数据组成。设计初衷是将 Series 的使用场景从一维扩展到多维。DataFrame 既有行索引,也有列索引。 行索引:index 列索引:co…

2万字干货:如何从0到1搭建一套会员体系(2)

2.用户等级 还是一样&#xff0c;我们为什么要搭建用户等级&#xff1f; 一个国家有几亿人口的时候你怎么来管理&#xff1f;老祖宗秦始皇给出了我们答案&#xff1a;郡县制。发展到现在则演进成了省-市-区县-乡镇(街道)-村(社区)5层行政治理结构。 产品同理&#xff0c;当你…

贪心算法----摆动序列

今日题目&#xff1a;leetcode376 点击跳转题目 观察样例2&#xff1a; 发现最长摆动序列都是极大值和极小值 再加上两个端点&#xff0c;那么我们保证每次都能选择到每个极值点&#xff0c;就能从局部最优推广全局最优了&#xff01; 但是还有一些细节情况需要注意&#xff…

P2036 PERKET

题目描述: Perket 是一种流行的美食。为了做好 Perket&#xff0c;厨师必须谨慎选择食材&#xff0c;以在保持传统风味的同时尽可能获得最全面的味道。你有 &#x1d45b;n 种可支配的配料。对于每一种配料&#xff0c;我们知道它们各自的酸度 &#x1d460;s 和苦度 &#x1…

Android内核之解决报错:error: ISO C90 forbids mixing declarations and code(七十四)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

c语言之替换数据类型名

在c语言里&#xff0c;是用typedef语句替换数据类型名 就像定义一个变量时&#xff0c;只是在前面加上typedef语句 #include<stdio.h>int main() {typedef int y;typedef char c;y a1;c bw;printf("%d\n",a);printf("%c\n",b); } 这这个代码里&am…

线程池原理简谈

1&#xff0c;概述 线程池是一种池化技术&#xff0c;本质是减少线程对象创建销毁的开销&#xff0c;同对象池、连接池一样&#xff0c;达到对象复用的效果。那么线程池怎么复用呢&#xff1f;即一个或多个Thread对象怎么执行更多的Task&#xff1f;这里面的关键就涉及到了阻塞…

ASP.NET一个简单的媒体播放器的设计与实现

摘 要 本论文所描述的播放器是在Microsoft Visual Studio .NET 2003平台下利用Visual Basic.NET语言完成的。使用Visual Basic.NET提供的Windows Media Player控件以及文件处理&#xff0c;最终实现一款别致的&#xff0c;贴近用户操作习惯的媒体播放器。 该播放器实现了对WAV…

微服务项目 - SpringBoot 2.x 升级到 SpringBoot 3.2.5,保姆级避坑

目录 一、前言 二、取经之路 2.1、依赖版本情况 2.2、MyBatis-Plus 依赖改变

matlab中的引导滤波函数imguidedfilter()

在MATLAB中&#xff0c;可以使用imguidedfilter函数进行引导滤波。该函数的语法如下&#xff1a; output imguidedfilter(input, guidance, varargin)其中&#xff0c;input是待滤波的图像&#xff0c;guidance是用来引导滤波的图像&#xff08;通常是原始图像或其它相关信息…

HTML【常用的标签】、CSS【选择器】

day45 HTML 继day44&#xff0c;w3cschool 常用的标签 k) 表格 表格由 table 标签来定义。每个表格均有若干行&#xff08;由 tr 标签定义&#xff09;&#xff0c;每行被分割为若干单元格&#xff08;由 标签定义&#xff09;。字母 td指表格数据&#xff08;table data&…

1 开发环境

开发环境&#xff08;platformio python arduino框架&#xff09;的搭建可以参考b站upESP32超详细教程-使用VSCode&#xff08;基于Arduino框架&#xff09;哔哩哔哩bilibili 这里推荐离线安装esp32库文件&#xff0c;要不然要等很久&#xff08;b站教程很多&#xff09; 搭…

面试题 01.05. 一次编辑

字符串有三种编辑操作:插入一个英文字符、删除一个英文字符或者替换一个英文字符。 给定两个字符串&#xff0c;编写一个函数判定它们是否只需要一次(或者零次)编辑。 示例 1: 输入: first "pale" second "ple" 输出: True示例 2: 输入: first &qu…

原子学习笔记4——GPIO 应用编程

一、应用层如何操控 GPIO 与 LED 设备一样&#xff0c;GPIO 同样也是通过 sysfs 方式进行操控&#xff0c;进入到/sys/class/gpio 目录下&#xff0c;如下所示&#xff1a; gpiochipX&#xff1a;当前 SoC 所包含的 GPIO 控制器&#xff0c;我们知道 I.MX6UL/I.MX6ULL 一共包…

【数组算法】598. 区间加法

给你一个 m x n 的矩阵 M 和一个操作数组 op 。矩阵初始化时所有的单元格都为 0 。ops[i] [ai, bi] 意味着当所有的 0 < x < ai 和 0 < y < bi 时&#xff0c; M[x][y] 应该加 1。 在 执行完所有操作后 &#xff0c;计算并返回 矩阵中最大整数的个数 。 示例 1: …