首页 > 其他分享 >DVR系统设计的大致思路和模块划分

DVR系统设计的大致思路和模块划分

时间:2024-06-15 15:59:20浏览次数:28  
标签:视频 存储 系统 模块 思路 摄像头 DVR

DVR系统设计的大致思路和模块划分

1. 源由

DVR系统设计其实并不是新鲜的东西,反之,这是一个标准化程度非常高的系统化产品类别。

鉴于目前接触了一些视频方面的模组和产品,以及讨论的一些事情,想就接触的这几块内容,做一个梳理:

  1. 传统网络IPC+DVR系统
  2. 无人机天空端+地面端
  3. 智能家居视频监控系统
  4. OpenIPC开源监控项目

2. 设计步骤

设计和落地一个DVR(数字视频录像机)系统需要涵盖多个方面,从需求分析到硬件选择、软件开发和测试。这些步骤涵盖了DVR系统设计的主要环节,从初期的需求分析到最终的部署和运维,确保系统能够满足用户需求并稳定运行。

以下是详细的步骤和落地细节:

2.1 需求分析

  • 确定目标用户和使用场景:明确DVR系统的应用领域,如家庭安全、商业监控、交通监控等。
  • 功能需求:确定系统需要支持的功能,如实时录像、回放、远程访问、运动检测、报警功能等。
  • 性能需求:包括录像分辨率、帧率、存储容量、数据传输速度等。

2.2 系统架构设计

  • 硬件架构

    • 摄像头:选择适合应用场景的摄像头(如高清、夜视、广角等)。
    • 存储设备:确定存储方式(本地硬盘、网络存储、云存储)。
    • 处理器:选择能够处理高分辨率视频编码和解码的处理器。
    • 网络设备:根据需求选择有线或无线网络设备。
  • 软件架构

    • 操作系统:选择嵌入式系统常用的操作系统(如Linux、Windows Embedded)。
    • 中间件:开发或选择现成的中间件来处理视频编码、传输和存储。
    • 应用层:包括用户界面、远程访问接口、报警处理等。

2.3 硬件设计与选择

  • 摄像头选择:根据分辨率、视角、夜视能力等参数选择合适的摄像头。
  • 处理单元:选择支持硬件视频编码的嵌入式处理器,如ARM Cortex系列。
  • 存储设备:根据需求选择SSD或HDD,考虑数据写入速度和容量。
  • 网络设备:选择符合带宽要求的路由器和交换机,确保数据传输稳定。

2.4 软件开发

  • 系统软件

    • 开发或定制Linux内核,支持摄像头驱动、网络协议等。
    • 实现视频编码/解码库,如H.264、H.265。
  • 中间件开发

    • 开发视频流传输模块,支持RTSP、HTTP等协议。
    • 开发存储管理模块,支持循环录像、事件录像等。
  • 应用层开发

    • 用户界面:设计友好的用户界面,支持本地和远程访问。
    • 报警处理:实现运动检测、报警通知等功能。
    • 数据分析:提供视频回放、事件搜索、日志管理等功能。

2.5 测试与调试

  • 功能测试:逐项测试DVR的各项功能,如录像、回放、远程访问等。
  • 性能测试:测试系统在高负载下的性能,确保视频流畅、存储稳定。
  • 兼容性测试:测试系统与不同品牌和型号摄像头、存储设备的兼容性。
  • 安全性测试:检查系统的网络安全性,防止未经授权的访问。

2.6 部署与运维

  • 安装部署:根据现场情况进行设备安装、网络布线、系统配置。
  • 培训与文档:提供用户使用培训,编写详细的用户手册和维护文档。
  • 运维支持:提供技术支持和售后服务,定期进行系统维护和更新。

2.7 持续优化

  • 用户反馈:收集用户反馈,分析使用情况,进行系统优化。
  • 软件更新:定期发布软件更新,修复漏洞,增加新功能。
  • 技术升级:关注新技术动态,逐步升级硬件设备和软件系统。

3. 模块切割

嵌入式系统产品,通常可以跟随硬件功能块做模块划分。当前DVR(数字视频录像机)硬件设计架构通常包括以下主要组成部分,每个部分都有多种具体的实现和选择方案:

3.1 摄像头

  • 模拟摄像头(Analog Cameras):通常使用同轴电缆连接到DVR,适用于传统的CCTV系统。
  • 数字摄像头(IP Cameras):使用网络连接(如以太网),提供更高的分辨率和智能功能。

3.2 视频处理单元

  • 处理器(CPU):通常选择高性能的嵌入式处理器,如ARM Cortex系列、MIPS处理器,或专用的数字信号处理器(DSP)。
  • 图形处理单元(GPU):有些DVR系统会集成GPU,以提高视频编码/解码和图像处理的效率。

3.3 存储系统

  • 本地存储:内置硬盘驱动器(HDD)或固态硬盘(SSD),用于存储录像数据。HDD适合大容量存储,而SSD提供更快的读写速度和更高的可靠性。
  • 网络存储(NAS):通过网络附加存储系统扩展存储容量,适用于大规模监控系统。
  • 云存储:将录像数据存储在云端,方便远程访问和数据备份。

3.4 网络模块

  • 无线网络(Wi-Fi):提供无线连接选项,适合不便于布线的场景。

优点:便携性高,使用灵活。
缺点:无线信号可能受环境干扰,传输距离和稳定性有限。

  • **光纤网络(Optical Fiber):**利用光纤束将光信号传输至显示设备。

优点:抗电磁干扰能力强、图像传输质量高。
缺点:成本较高,光纤的操作和维护较为复杂。

  • 有线网络(Ethernet):通过以太网、USB等方式连接摄像头和DVR,确保数据传输稳定。

优点:抗干扰能力强。
缺点:体积相对于无线、光纤来说更大;长距离部署,需中继,且成本高。

3.5 视频编码/解码

  • 视频编码器(Encoder):采用硬件或软件方式对视频进行编码,常见的编码格式有H.264、H.265(HEVC)。
  • 视频解码器(Decoder):用于视频回放时解码录像数据。

3.6 接口与连接

  • 输入/输出接口(I/O Interfaces):包括HDMI、VGA、BNC等视频输出接口,以及USB、RS-485、以太网接口等。
  • 电源管理:提供稳压电源模块,确保系统稳定运行。

3.7 控制与操作

  • 用户界面(UI):通过本地显示器或远程客户端提供图形用户界面,便于用户操作和配置。
  • 远程访问:支持通过移动应用或网页访问DVR系统,实现远程监控和管理。

3.8 其他功能模块

  • 报警接口:连接传感器(如门磁、红外探测器)进行报警触发和事件记录。
  • 音频输入/输出:支持音频录制和回放,适用于需要声音监控的场景。

4. 硬件设计架构示例

4.1 嵌入式DVR设计

  • 处理器:ARM Cortex-A53,四核处理器。
  • 存储:1TB HDD,支持扩展至4TB。
  • 视频输入:8路模拟视频输入,支持720p/1080p分辨率。
  • 视频输出:HDMI和VGA输出,支持1080p显示。
  • 网络:1个RJ45以太网接口,支持10/100/1000 Mbps。
  • 其他接口:2个USB 2.0端口,1个RS-485接口,4路音频输入,1路音频输出。
  • 电源:12V DC电源适配器,内置电源管理模块。

4.2 网络视频录像机(NVR)设计

  • 处理器:HiSilicon Hi3536D,四核ARM Cortex-A17处理器。
  • 存储:2个3.5英寸HDD插槽,最大支持16TB存储。
  • 视频输入:16路IP摄像头输入,支持4K分辨率。
  • 视频输出:1个HDMI输出,1个VGA输出。
  • 网络:2个RJ45以太网接口,支持10/100/1000 Mbps。
  • 其他接口:4个USB 3.0端口,1个eSATA端口,4路音频输入,1路音频输出。
  • 电源:内置电源,支持AC 100-240V输入。

这些架构设计可以根据具体需求进行调整和优化,以满足不同应用场景下的DVR系统要求。

5. 软件开源代码

OpenIPC是一款专为网络摄像机设计的第三方开源固件。

OpenIPC是一个开源的操作系统,针对一些使用ARM和MIPS处理器的网络摄像机,以替代供应商预装的那种封闭的、不透明的、不安全的、不再更新的、不支持的固件。

其整个代码设计采用了业界一流的构建工具buildroot,方便了应用的集成和升级更新。

6. DEMO - SCC338Q+IMX415+Hi3536DV100+RTL8812AU

笔者手头就有非常好的原型DEMO,尤其是在FPV领域应用。

  • 天空端(摄像头+视频编码+网络模块):SCC338Q+IMX415+RTL8812AU
  • 地面端(网络模块+视频解码+存储系统):Hi3536DV100+RTL8812AU+SATA SSD/USB Storage
  • 接口与连接:低延迟无线WiFi(70~80ms) //若地面端视频解码更换硬件,最高可提升至35ms左右
  • 其他可支持传感拓展:MIC、IO等

目前,欠缺在图像后端处理方面的工作:摄像头校准之白平衡&畸变&坏点,希望后面有时间和设备进行更进一步的校准以及图像重建工作。

<iframe allowfullscreen="true" data-mediaembed="bilibili" frameborder="0" id="gzDyYy9P-1718437377453" src="https://player.bilibili.com/player.html?aid=1753382350"></iframe>

OpenIPC(SCC338Q+IMX415+Hi3536DV100+RTL8812AU)性能测试

标签:视频,存储,系统,模块,思路,摄像头,DVR
From: https://blog.csdn.net/lida2003/article/details/139703145

相关文章

  • 6 MM模块-公司间STO(Inter-Company Stock Transfer Order)条件类型P101取供货工厂的成
    用户需求:请教下如果希望直接取供应工厂的成本价作为STO的定价应该怎么设置?需求分析:公司间STO的条件类型ConditonType需要取STO供应工厂(SupplyingPlant)对应的成本价(财务发布的标准价RunCostEstimate). 情形1:如果物料是外购件(采购类型-F),财务CK11N或CK40NRunCost......
  • 【华为OD机试真题】159、星际篮球争霸赛 | 机试真题+思路参考+代码解析(C++、Java、Py
    文章目录一、题目......
  • 【华为OD机试真题】155、计算数组中心位置 | 机试真题+思路参考+代码解析(C++、Java、P
    文章目录一、题目......
  • 牛客小白月赛96(待补思路和F)
    比赛链接:牛客小白月赛96赛时感受    赛时在前面卡的时间有点长,C题没开longlongwa了n发,D题没考虑负数又wa了n发,然后来写E的时候时间就不长了,匆忙写一次交一发。A思路    题解#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+10;#......
  • 基于cJSON及心知天气模块化实现获取城市气象信息(现在、未来)
    V1.02024年6月14日发布于博客园目录序言功能描述运行结果示范注意!代码weather_api.hweather_api.cdemo.ccJSON.hcJSON.c参考链接序言功能描述用于请求心知天气的信息,现在的信息,未来n天的气象信息(免费版仅能3天).使用域名通过TCP连接到心知天气服务器,采用cJSON进......
  • 在 Microsoft SQL Server 2012 中,修改密码的方法与 SQL Server 2000 相比有所变化,但基
    在MicrosoftSQLServer2012中,修改密码的方法与SQLServer2000相比有所变化,但基本思路是相似的。以下是几种常见的方法:使用SQLServerManagementStudio(SSMS):这仍然是最常见和推荐的方法。通过打开SQLServerManagementStudio,连接到相应的SQLServer实例,然后......
  • 45道工程模块化高频题整理(附答案背诵版)
    1.简述前端自动化构建工具?前端自动化构建工具是指用于自动化完成前端开发中重复性任务的软件工具,如代码压缩、文件合并、预处理器编译(如Sass、Less)、代码检查、自动刷新浏览器、模块打包等。这些工具的目的是提高开发效率,保持代码质量,以及优化项目的最终输出。常见的前端......
  • 智能指针的思路
    目录前言一、智能指针是什么?二、智能指针代码步骤1.创建一个基本的类,这个类有你想实现的功能2.智能指针类3.整体代码总结前言    在日常的类应用场景中,我们会很多时候涉及到申请内存new关键词和清空内存delete的使用,而我们在很多时候会在申请内存后,忘记......
  • 单例模式思路
    文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言        单例模式是一种常用的设计模式,用于确保一个类只有一个实例,并提供全局访问点。一、单例模式是什么?        单例模式是一种设计模式,用于确保一个类只有一个实例对象,......
  • Beego仿小米商城RBAC管理模块
    Beego仿小米商城RBAC管理模块原创 Go大神 Go大神 2024-05-2020:38 浙江一、RBAC表结构1、表结构图2、models\manager.gopackagemodelsimport(_"github.com/jinzhu/gorm")typeManagerstruct{IdintUsernamestringPasswordstringMobile......