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应用的启动类