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應用的啟動類