WVP-GB28181平台与SIP协议详解在视频监控领域GB28181国标协议已成为实现设备互联互通的核心标准。本文将从WVP-GB28181平台的技术架构与功能特性以及SIP协议在GB28181中的具体应用两个维度系统梳理这一技术体系。一、WVP-GB28181平台1.1 什么是WVP-GB28181WVP-GB28181WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的开箱即用的网络视频平台负责实现核心信令与设备管理后台部分。它支持NAT穿透兼容海康、大华、宇视等主流品牌的IPC、NVR接入并支持国标级联。该项目采用MIT许可协议完全开源已被广泛应用于智慧园区、安防监控、物联网等项目中。1.2 核心架构信令与媒体分离WVP平台最核心的设计理念是**“信令与媒体分离”** 。整个系统由两个核心组件构成WVP-GB28181-pro信令控制层基于Java SpringBoot开发不处理任何视频数据只负责“发号施令”——处理SIP信令设备注册、保活、云台控制、目录查询并管理ZLMediaKit集群。ZLMediaKit流媒体引擎层基于C高性能网络框架开发负责视频流的接收RTP、转协议RTSP/RTMP/HTTP-FLV/WebRTC/HLS和分发。平台整体架构如下┌─────────────────────────────────────────────────────────┐ │ 客户端浏览器 │ │ http://ip:18080 (Web UI) │ └──────────────────────┬──────────────────────────────────┘ │ ┌──────────────────────▼──────────────────────────────────┐ │ WVP-PRO 应用 │ │ GB28181 信令服务 (SIP 端口:5060) │ │ 设备管理、用户认证、录像计划 │ └──────────┬──────────────────────────────┬───────────────┘ │ │ ┌──────────▼──────────┐ ┌─────────────▼────────────────┐ │ ZLMediaKit 流媒体 │ │ MySQL Redis │ │ • RTSP 554 │ │ • 设备信息存储 │ │ • RTMP 1935 │ │ • 用户数据管理 │ │ • HTTP 8081 │ │ • 会话缓存 │ │ • WebRTC 10000 │ │ • 配置存储 │ └─────────────────────┘ └───────────────────────────────┘一次完整的视频播放流程如下用户在浏览器点击“播放”向WVP发起请求WVP向ZLMediaKit申请一个接收端口SSRCWVP通过SIP协议向摄像头发送INVITE指令SDP中包含ZLMediaKit的IP和端口摄像头根据指令将视频流PS封装的RTP包推送到ZLMediaKitZLMediaKit将流转码/封装后返回播放地址给客户端。1.3 主要功能特性WVP平台覆盖了视频监控平台的核心业务需求设备接入支持国标设备IPC、NVR、平台接入同时支持RTSP、RTMP推流设备和非国标设备的拉流代理接入视频预览支持主码流/子码流切换无限制接入路数取决于服务器性能云台控制控制设备转向、拉近拉远、预置位查询与设置录像回放查询NVR/IPC上的录像支持指定时间播放与下载国标级联支持向上级平台注册级联多平台级联跨网视频预览多协议输出直接输出RTSP、RTMP、HTTP-FLV、WebSocket-FLV、HLS、WebRTC多种协议流地址语音对讲支持设备端语音对讲功能报警处理支持报警事件订阅与通知网络校时支持国标网络校时1.4 部署与配置WVP支持Docker一键部署典型命令如下dockerrun--envWVP_IP你的IP-it\-p18080:18080\-p30000-30500:30000-30500/udp\-p30000-30500:30000-30500/tcp\-p80:80-p5060:5060-p5060:5060/udp\648540858/wvp_proWVP的核心SIP配置集中在application-base.yml的sip:配置段中sip:ip:127.0.0.1# WVP监听网卡IPport:8116# SIP服务监听端口domain:3402000000# SIP域宜采用国标ID前10位id:34020000002000000001# WVP的20位国标编码password:# 设备注册时校验的密码设备侧需要填写与WVP侧一致的SIP信息才能成功注册包括上级平台SIP端口、SIP域、SIP ID和密码。在性能优化方面生产环境推荐使用TCP被动模式传输视频流以解决UDP丢包导致的花屏问题JVM参数建议大型部署使用-Xms8g -Xmx16g -XX:UseG1GC。二、SIP协议详解2.1 SIP协议概述SIPSession Initiation Protocol会话初始协议是一个应用层的点对点控制信令协议用于创建、修改和终止一个或多个参与者之间的会话。这些会话包括Internet电话呼叫、多媒体分发等。SIP由RFC 3261定义是GB28181协议的核心信令基础。SIP借鉴了HTTP的设计思路是一种基于文本的协议报文结构与HTTP类似包括起始行、头域字段和消息体。2.2 SIP消息结构每一条SIP消息由三部分组成起始行Start Line、头域Header Fields和消息体Body。请求消息的起始行为请求行格式为Request-Line Method SP Request-URI SP SIP-Version CRLF例如INVITE sip:340200000013200000013402000000 SIP/2.0。响应消息的起始行为状态行格式为Status-Line SIP-Version SP Status-Code SP Reason-Phrase CRLF例如SIP/2.0 200 OK。头域包含多个字段常见的有头域作用Via记录请求经过的路径用于响应回传From请求发起方标识To请求接收方标识Call-ID全局唯一标识一次会话CSeq命令序号用于匹配请求与响应Contact直接通信的地址Content-Type消息体的类型如application/sdpContent-Length消息体长度头域以一个空行CRLF结束其后是可选的消息体。在GB28181中SDPSession Description Protocol作为消息体用于描述媒体会话参数XML作为消息体用于控制指令。2.3 SIP方法SIP定义了多种请求方法每种方法表示不同的操作意图方法作用GB28181中的应用REGISTER向服务器注册位置信息设备向平台注册、平台向级联上级注册INVITE邀请用户或服务参与会话请求设备推送视频流ACK确认已收到INVITE的最终响应确认200 OK响应BYE终止已建立的会话停止视频流推送CANCEL取消正在进行的请求取消尚未完成的请求OPTIONS查询服务器能力设备能力查询MESSAGE传递即时消息发送XML控制指令、心跳保活INFO传递会话中的控制信息录像回放控制、语音对讲其中INVITE方法的成功响应会在消息体中指明被叫方希望接收的媒体类型SIP代理、重定向服务器和用户代理服务器都必须支持INVITE方法。2.4 SIP响应码SIP响应码按首位数字分为六类响应码类别含义典型示例1xx临时响应Informational100 Trying、180 Ringing2xx成功响应Success200 OK3xx重定向Redirection301 Moved Permanently、302 Moved Temporarily4xx客户端错误Client Error401 Unauthorized、404 Not Found5xx服务器错误Server Error501 Not Implemented6xx全局错误Global Failure603 Decline在GB28181的注册流程中401 Unauthorized和200 OK是最关键的两个响应码。2.5 SIP在GB28181中的具体应用注册与认证流程GB28181设备注册采用SIP REGISTER方法并配合摘要认证机制流程如下设备SIP代理向SIP服务器发送REGISTER请求SIP服务器返回401 Unauthorized响应在WWW-Authenticate头域中给出认证体制和参数包含随机数nonce设备根据收到的认证参数重新发送REGISTER请求在Authorization头域中携带包含认证信息的信任书SIP服务器验证通过后返回200 OK注册成功。实时视频点播流程实时视频点播是GB28181中最核心的业务场景采用INVITE方法实现涉及三方呼叫控制媒体流接收者向SIP服务器发送INVITE消息SDP中s字段为“Play”表示实时点播SIP服务器向媒体服务器发送INVITE消息不携带SDP媒体服务器回复200 OK携带SDP描述接收媒体流的IP、端口、媒体格式SIP服务器向媒体流发送者设备发送INVITE请求携带媒体服务器回复的SDP并增加y字段描述SSRC值设备回复200 OK携带SDP描述发送媒体流的IP、端口、媒体格式和SSRC字段。在WVP平台中SIPCommander负责生成面向设备的出站请求SIPCommanderForPlatform负责生成面向上级平台的出站请求SIPProcessorObserver负责将接收到的SIP请求路由到对应的处理器。心跳保活GB28181设备注册成功后会定时发送保活消息。保活消息采用MESSAGE方法携带设备状态信息SIP服务器收到后返回200 OK。如果服务器超时收不到保活消息则判断设备离线。三、总结WVP-GB28181平台通过“信令与媒体分离”的架构设计将SIP信令控制交给Java后端WVP将流媒体处理交给C流媒体引擎ZLMediaKit实现了高解耦、高扩展的系统结构。其优势在于只要设备支持GB28181标准无需适配厂商私有协议即可直接接入ZLM原生支持WebRTC浏览器无需插件即可低延迟播放。而SIP协议作为GB28181的信令基础以其基于文本的简洁设计、灵活的方法扩展机制和完善的认证体系承载了设备注册、会话控制、指令下发等核心功能。理解SIP协议的消息结构、方法语义和响应码机制是掌握GB28181平台开发和运维的关键基础。
企业数字化 ERP 产品动态
相关推荐
綦江烟草系统学习 一.一个系统由哪几块组成前端画界面 收集用户操作后端处理业务逻辑 调数据库 调算法数据库存取数据算法专门算风险分API(接口)定义:前端和后端之间的约定。前端说"我要什么",后端说"给你什么"。这个项目里… · 2026/9/25 21:28:42
POE温湿度监控系统:楼宇无人值守式数据采集与告警联动实践 1. 项目概述:为什么一栋老写字楼突然“会呼吸”了?去年接手一个老旧商业楼宇的智能化改造,业主只提了一个朴素需求:“别再让物业半夜被空调房湿度爆表的电话吵醒。”听起来像句玩笑话,但背后是真实痛点——整栋楼23个机… · 2026/9/25 21:28:36
Qt5.6.1+MinGW4.9.2+MQTT轻量级物联网桌面客户端实战 简介:本资源是一套基于Qt 5.6.1与MinGW 4.9.2环境开发的MQTT客户端完整工程,面向物联网嵌入式开发初学者及Qt跨平台应用开发者,解决在Windows平台快速接入阿里云IoT平台的核心技术问题。压缩包共28个文件,含20个头文件(… · 2026/9/25 21:28:36
SQL Server生产级存储过程实战:校验、事务、错误捕获与性能调优 简介:本资源是一份面向SQL Server初学者与数据库开发人员的存储过程实践入门包,聚焦核心语法、参数传递与典型业务场景应用。压缩包内含3个SQL脚本文件,总大小仅4KB,轻量易学:其中两个为供应链管理类报表存储过程&… · 2026/9/26 0:20:28
高并发限流器的微架构设计:无锁滑动时间窗口与令牌桶的内存与并发优化 高并发限流器的微架构设计:无锁滑动时间窗口与令牌桶的内存与并发优化在大促活动的入口网关层(API Gateway),**限流器(Rate Limiter)**是保护下游大模型推理集群、核心数据库与支付结算服务不被突发海量流量… · 2026/9/26 0:20:28
Oracle补丁包安装指南:OPatch实战从识别到验证 简介:面向64位Linux环境的Oracle 11.2.0.4.161018季度补丁包,编号24006111,适用于Oracle 11g第二版企业级数据库的日常维护与安全加固。该补丁包涵盖自上一季度以来的累积修复,可解决已知漏洞、稳定性问题并带来性能优化ÿ… · 2026/9/26 0:20:21
语音处理:Whisper语音识别实战 语音处理:Whisper语音识别实战 专栏:AI/LLM工程化实战 - 从Prompt到Agent的完整落地指南 模块7 多模态AI应用篇 第68篇 摘要 摘要:Whisper是OpenAI开源的语音识别模型,tiny到large五档尺寸,中文转录准确率随模型增大明显提升,本文覆盖音频转文… · 2026/9/26 0:20:07
TTS文字转语音:多引擎对比与集成 TTS文字转语音:多引擎对比与集成 专栏:AI/LLM工程化实战 - 从Prompt到Agent的完整落地指南 模块7 多模态AI应用篇 第69篇 摘要 摘要:TTS文字转语音引擎怎么选,OpenAI TTS与Edge TTS与开源ChatTTS、CosyVoice四类对比,中文音色、流式合成与缓存策略一次讲… · 2026/9/26 0:20:00
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46