WVP后端项目文件结构

WVP(Web Video Platform)是一个基于GB28181-2016标准实现的网络视频平台,负责实现核心信令与设备管理后台部分,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR、DVR接入。支持国标级联,支持rtsp/rtmp等视频流转发到国标平台,支持rtsp/rtmp等推流转发到国标平台。


应用场景:

支持浏览器无插件播放摄像头视频。 支持国标设备(摄像机、平台、NVR等)设备接入 支持非国标(onvif, rtsp, rtmp,直播设备等等)设备接入,充分利旧。 支持国标级联。多平台级联。跨网视频预览。 支持跨网网闸平台互联。

项目地址:

github:https://github.com/648540858/wvp-GB28181-pro

gitee:https://gitee.com/pan648540858/wvp-GB28181-pro


文档

wvp使用文档 https://doc.wvp-pro.cn

文件结构 :

com.genersoft.iot.vmp  
├── common            // 通用工具类  
│   ├── enums         // 枚举类  
│   │   └── DeviceControlType.java      // 枚举类定义了多种设备控制类型  
│   └── ApiSaveConstant.java            // 可能是用于存储API相关的常量或配置  
│   └── CivilCodePo.java                // 可能是与公民代码(如身份证号)相关的数据模型  
│   └── CommonCallback.java             // 通用回调接口的实现或定义  
│   └── CommonGbChannel.java            // 与GB28181标准相关的通道信息或管理  
│   └── GeneralCallback.java            // 另一个通用回调接口的实现或定义  
│   └── InviteInfo.java                 // 与SIP邀请相关的信息  
│   └── InviteSessionStatus.java        // SIP邀请会话的状态枚举或类  
│   └── InviteSessionType.java          // SIP邀请会话的类型枚举或类  
│   └── StreamInfo.java                 // 与流媒体相关的信息  
│   └── StreamURL.java                  // 流媒体的地址管理类  
│   └── SystemAllInfo.java              // 系统资源使用情况的信息类  
│   └── VersionPo.java                  // 版本信息的数据模型  
│   └── VideoManagerConstants.java      // 视频管理相关的常量类
├── conf            	// 框架核心配置  (包含Spring Boot的配置文件、数据库连接配置、日志配置等 )
│   ├── exception   // 异常处理  
│   │   └── ControllerException.java      // 控制器异常  
│   │   └── ServiceException.java         // 服务异常  
│   │   └── SsrcTransactionNotFoundException.java // Ssrc事务未找到异常  
│   ├── redis       // Redis相关配置  
│   │   ├── bean    // Redis相关的Bean  
│   │   │   └── RedisRpcMessage.java     // Redis RPC消息  
│   │   │   └── RedisRpcRequest.java     // Redis RPC请求  
│   │   │   └── RedisRpcResponse.java    // Redis RPC响应  
│   │   └── config  // Redis配置  
│   │        └── RedisMsgListenConfig.java  // Redis消息监听配置  
│   │        └── RedisRpcConfig.java        // Redis RPC配置  
│   │        └── RedisTemplateConfig.java   // Redis模板配置  
│   ├── security  // 安全配置  
│   │   ├── dto   // 数据传输对象  
│   │   │   └── JwtUser.java             // JWT用户对象  
│   │   │   └── LoginUser.java           // 登录用户对象  
│   │   └── service // 安全服务相关  
│   │        └── AnonymousAuthenticationEntryPoint.java // 匿名认证入口点  
│   │        └── DefaultUserDetailsServiceImpl.java     // 默认用户详情服务实现  
│   │        └── JwtAuthenticationFilter.java           // JWT认证过滤器  
│   │        └── JwtUtils.java                          // JWT工具类  
│   │        └── LogoutHandler.java                     // 登出处理器  
│   │        └── SecurityUtils.java                     // 安全工具类  
│   │        └── WebSecurityConfig.java                 // Web安全配置  
│   └── ApiAccessFilter.java               // API访问过滤器  
│   └── CivilCodeFileConf.java             // 民法典文件配置  
│   └── CloudRecordTimer.java              // 云录像定时器  
│   └── DynamicTask.java                   // 动态任务配置  
│   └── GlobalExceptionHandler.java        // 全局异常处理器  
│   └── GlobalResponseAdvice.java          // 全局响应建议  
│   └── MediaConfig.java                   // 媒体配置  
│   └── MediaStatusTimerTask.java          // 媒体状态定时器任务  
│   └── MybatisConfig.java                 // MyBatis配置  
│   └── ProxyServletConfig.java            // Proxy Servlet配置  
│   └── ScheduleConfig.java                // 定时任务配置  
│   └── ServiceInfo.java                   // 服务信息配置  
│   └── SipConfig.java                     // SIP配置  
│   └── SipPlatformRunner.java             // SIP平台运行器  
│   └── SpringDocConfig.java               // SpringDoc(文档生成)配置  
│   └── SystemInfoTimerTask.java           // 系统信息定时器任务  
│   └── ThreadPoolTaskConfig.java          // 线程池和任务配置
├── gb28181   				// GB28181标准实现 (实现GB28181协议的设备接入、SIP信令处理、设备注册等)
│   ├── ...           //   
├── jt1078      			// JT1078标准实现  (实现JT1078协议的视频流传输、处理等相关功能  )
│   ├── ...           // 
├── media      				// 流媒体处理相关  (封装FFmpeg等工具,处理视频流转码、录制、推流等 )
│   ├── ...           //  
├── service       	// 业务服务层  (实现具体的业务逻辑,如用户管理、设备管理、流媒体管理等  )
│   ├── ...           // 
├── storager      	// 数据存储相关  (实现数据的持久化存储,如文件存储、数据库操作等  )
│   ├── ...           // 
├── utils      			// 工具类(包含一些特定功能的工具类和方法)  
│   ├── ...           //   
├── vmanager      	// 视频管理相关  (实现视频流的管理、调度、分发等功能  )
│   ├── ...           // 
├── web.gb28181      	// GB28181的Web接口  (提供基于Web的GB28181接口,如设备配置、控制等  )
│   ├── ...           // 
└── VManageBootstrap.java // Spring Boot应用的启动类

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

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

相关文章

使用C#进行MySQL删改查操作

使用C#进行MySQL删改查操作 1.前提准备2.C#中MySQL的向指定数据库中增加数据3.C#中MySQL的向指定数据库中修改数据4.C#中MySQL的向指定数据库中删除数据 1.前提准备 在MySQL官网上下载C#相关的dll,或者在Nuget包中搜索“MySql.Data”,进行下载。 2.C#中…

js函数扩展内容---多参数,函数属性,字符串生成函数

1.多参数 在js中,Math.max()方法可以接受任意数量的参数, Math.max(1,2,3,4);//4 Math.max(1,2,3,4,5,6,7,8,9,10)//10 在max方法里面有一个rest参数,它接受了所有参数全部合成到了一个number数组里面, function rest(a,b,...a…

12 - matlab m_map地学绘图工具基础函数 - 在地图上绘制矢量场m_vec函数和绘制风羽图的m_windbarb函数

12 - matlab m_map地学绘图工具基础函数 - 在地图上绘制矢量场函数m_vec和绘制风羽图的函数m_windbarb 0. 引言1. 关于m_vec2. 关于m_windbarb3. 总结 0. 引言 本篇介绍下m_map中绘制矢量场的函数(m_vec)和地图上绘制风羽图的函数m_windbarb。 1. 关于m…

【python重复元素判定】

在Python中,判定一个序列(如列表、元组等)中是否存在重复元素,可以通过多种方法实现。这里列出几种常用的方法: 1. 使用集合(Set) 集合是一个无序的、不包含重复元素的数据结构。将序列转换为…

QT信号量与槽

文章目录 概述用系统生成新增一个信号量和槽代码方式信号量和槽的宏信号量和槽都用函数地址lamda表达式函数指针 槽和信号量函数信号量槽 小结 概述 这个内容是QT独有的,写的挺有意义的。之前写过一篇QT slots的函数,思来想去,觉得不是那么有…

python-22-零基础自学python-数据分析基础 打开文件 读取文件信息

学习内容:《python编程:从入门到实践》第二版 知识点: 读取文件 、逐行读取文件信息等 练习内容: 练习10-1:Python学习笔记 在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python知识,其中…

代码随想录:贪心2-4

455.分发饼干 题目 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j&#xff…

考CISP,不要踩坑的几点建议

当你立志要在信息安全领域闯出一片天,可能多少都会听行内人说,搞本CISP。但这个认证究竟该怎么拿?需要培训吗?培训又是怎么一回事?价格如何?还有,什么时候开始准备最好?这些问题可能…

C++ Lambda表达式第一篇, 闭合(Closuretype)

C Lambda表达式第一篇, 闭合Closuretype ClosureType::operator()(params)auto 模板参数类型显式模板参数类型其他 ClosureType::operator ret(*)(params)() lambda 表达式是唯一的未命名,非联合,非聚合类类型(称为闭包类型&#…

【实习问题记录】Nodeclub本地部署

问题描述 在按照官方网站给出的教程一步一步操作以后发现出现以下报错: 问题分析 显示连接不上mongodb,分析报错可能是因为版本不匹配导致的,查看安装的mongodb版本发现是7.0.4,与目标版本不匹配,同时查看mongodb官…

我们所熟知的meme梗图也可以用AI生成了,老外都玩坏了。

meme梗图不知道大家看到过嘛?相信你们看见下面的图你就会大叫“卧槽”,原来是这种图,我以前经常狂刷不止,太有趣了。 其实meme是一个网络流行语,可译为模因。在大众非学术范围内也可翻译为我们所熟知的“梗”。其中“表…

SDK环境的安装(测试使用)

1、安装 将文件解压至目录,我的目录为:D:\Program Files\Android 解压后如下: 下载链接如下: sdk下载 提取码见文章最后: 2、配置环境 1、在环境变量中,选择系统变量,点击新建。 变量名:ANDROID_HOME 变量值:“你自己的android-sdk安装路径” (例如我的:D:\Pro…

CF1955C Inhabitant of the Deep Sea 题解

题目 模拟 首先想到模拟。 但是看到数据范围&#xff0c;模拟不了。 #include<bits/stdc.h> #include<cstring> #include<queue> #include<set> #include<stack> #include<vector> #include<map> #define int long long #define …

如何在 Linux 中高亮显示日志关键字

在 Linux 系统中&#xff0c;实时查看日志文件通常使用 tailf 命令&#xff0c;但 tailf 本身并不支持高亮显示关键字功能。通过结合 grep、sed 等工具&#xff0c;我们可以实现日志关键字高亮。本文将介绍几种高效的方法来实现这一目标。 方法一&#xff1a;使用 grep --color…

人机交互中有许多不满足紧致性条件的地方

紧致性条件通常用于描述拓扑空间的性质。一个拓扑空间被称为紧致的&#xff0c;如果它的任意开覆盖都有有限子覆盖。换句话说&#xff0c;对于任何开覆盖&#xff0c;都可以从中选取有限个开集&#xff0c;它们的并仍然覆盖整个空间。 满足紧致性条件的方法通常包括以下几种&am…

7月8日 四道经典单链表oj题

大家好呀&#xff0c;本博客目的在于记录暑假学习打卡&#xff0c;后续会整理成一个专栏&#xff0c;主要打算在暑假学习完数据结构&#xff0c;因此会发一些相关的数据结构实现的博客和一些刷的题&#xff0c;个人学习使用&#xff0c;也希望大家多多支持&#xff0c;有不足之…

CSS--表格自适应宽度并设置最小宽度

原文网址&#xff1a;CSS--表格自适应宽度并设置最小宽度_IT利刃出鞘的博客、-CSDN博客 简介 本文介绍怎样让HTML的表格自适应宽度。 Java技术星球&#xff1a;way2j.com 问题描述 默认样式下&#xff0c;表格会出现某一列很窄的情况&#xff1a; 代码&#xff1a; <h…

Redission 解锁异常:attempt to unlock lock, not locked by current thread by node id

标题&#xff1a;解锁异常&#xff1a;Redission中的"attempt to unlock lock, not locked by current thread by node id"问题分析与解决方案 在分布式系统中&#xff0c;锁是常用的同步机制&#xff0c;用于保护共享资源&#xff0c;避免并发冲突。Redission是一个…

java-多线程 2

### 7. 线程池 线程池是管理和复用线程的机制&#xff0c;可以避免频繁创建和销毁线程的开销。Java 提供了 Executor 框架来管理线程池。 #### 7.1 使用 Executors 工厂类 Executors 工厂类提供了一些静态方法&#xff0c;用于创建常见类型的线程池。 java import java.uti…

[240708] 中国 AI 企业在世界人工智能大会上展现韧性与创新

目录 中国 AI 企业在世界人工智能大会上展现韧性与创新 中国 AI 企业在世界人工智能大会上展现韧性与创新 中国科技公司在本周上海举行的世界人工智能大会上展现出强大的韧性和创新能力。超过150 种 AI 相关产品和解决方案在大会上展出&#xff0c;包括商汤科技、华为、科大讯…