【流媒体视频监控平台开发wvp-GB28181-pro】

wvp-GB28181-pro学习心得

  • wvp与GB28181介绍
    • 1.流媒体服务器视频协议介绍
    • 2.市面上的流媒体服务器
    • 3.wvp-GB28181-pro框架需要学习的框架和工具
    • 4.工具准备
    • 项目整合和配置

wvp与GB28181介绍

学习原因:需要开发一款视频监控集中平台,兼容海康、大华等视频厂家NVR和摄像头,共几百套设备,但是不需要每天实时监控,基本上每个NVR和摄像头每天观看1次左右,同时可以控制云台和回放,需要兼容大部分浏览器,可节约服务器资源。
海康、大华WEB控件开发问题很多,谷歌不能装插件,型号有些不兼容,插件卡死,视频预览回放无进度条,十分不方便。(主要是客户不太满意,又不多给点钱买服务器)

1.原有视频监控,基于海康、大华web控件和SDK
在这里插入图片描述
2.开源wvp-GB28181-pro
gitee仓库
gitee地址:https://gitee.com/pan648540858/wvp-GB28181-pro.git
B站大佬北小菜:https://space.bilibili.com/487906612

ZLMediaKit简单介绍
在这里插入图片描述

视频监控平台工作流程

  1. 登陆
  2. 点击对应监控通道
  3. 访问ZLMediaKit,进行拉流推流
  4. 无人访问时ZLMediaKit断开拉流推流
  5. 心跳检测,检测SIP信令服务是否可用

1.流媒体服务器视频协议介绍

  1. RTSP 自行百度
  2. RTMP 自行百度
  3. WEBRTC 自行百度
  4. FLV 自行百度
  5. HLS 自行百度
  6. GB28181 自行百度
  7. SIP 自行百度
  8. ONVIF 自行百度
  9. h264 自行百度
  10. h265 自行百度

2.市面上的流媒体服务器

青柿:收费,可以在浏览器播放
LiveNVR:收费,可以在浏览器播放
ZLMediaKit:免费,针对安防GB28181,无人观看可以自行断流,需要额外开发web服务器
SRS:免费,主要针对互联网
webrtc-streamer:免费,主要针对互联网
其他就不多做介绍

3.wvp-GB28181-pro框架需要学习的框架和工具

3.1 其他工具
VLC:桌面播放器,可以播放rtsp
FFmpeg:强大的编解码器,自带播放器,学习其基本的编解码命令运用
mediaInfo:媒体文件格式解析
wireshark抓包工具

3.2 wvp-GB28181-pro框架
springBoot Java开发框架
mysql关系数据库
redis非关系数据库
ZLMediaKit框架
SIP信令服务的使用

4.工具准备

1.Windows用户需要安装Ubuntu
桌面开始搜索微软商城
需要具备基本的linux开发命令基础
2.IDEA
Java开发工具
3.Redis
redis服务端
4.mysql数据库
Navicat连接客户端
5.ZLMediaKit流媒体框架
Ubuntu访问

项目整合和配置

1.打开IDEA,通过git导入wvp-GB28181-pro项目
默认application.yml配置文件,需要将application-dev.yml的内容修改并复制到application.yml
application.yml文件内容

    # REDIS数据库配置redis:# [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1host: 127.0.0.1# [必须修改] 端口号port: 6379# [可选] 数据库 DBdatabase: 1# [可选] 超时时间timeout: 10000# mysql数据源datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/wvp2?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=trueusername: rootpassword: rootdruid:initialSize: 10                       # 连接池初始化连接数maxActive: 200                        # 连接池最大连接数minIdle: 5                            # 连接池最小空闲连接数maxWait: 60000                        # 获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。keepAlive: true                       # 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作。validationQuery: select 1             # 检测连接是否有效sql,要求是查询语句,常用select 'x'。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。testWhileIdle: true                   # 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。testOnBorrow: false                   # 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。testOnReturn: false                   # 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。poolPreparedStatements: false         # 是否開啟PSCache,並且指定每個連線上PSCache的大小timeBetweenEvictionRunsMillis: 60000  # 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒minEvictableIdleTimeMillis: 300000    # 配置一個連線在池中最小生存的時間,單位是毫秒filters: stat,slf4j             # 配置监控统计拦截的filters,监控统计用的filter:sta, 日志用的filter:log4juseGlobalDataSourceStat: true         # 合并多个DruidDataSource的监控数据# 通过connectProperties属性来打开mergeSql功能;慢SQL记录connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=1000
#[可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口
server:port: 18080
# 作为28181服务器的配置
sip:# [必须修改] 本机的IPip: 192.168.1.3# [可选] 28181服务监听的端口port: 15060# 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007)# 后两位为行业编码,定义参照附录D.3# 3701020049标识山东济南历下区 信息行业接入# [可选]domain: 3402000000# [可选]id: 34020000002000000001# [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验password: 123456789#zlm 默认服务器配置
media:id: your_server_id# [必须修改] zlm服务器的内网IPip: 192.168.1.3# [必须修改] zlm服务器的http.porthttp-port: 8080# [可选] zlm服务器的hook.admin_params=secretsecret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc# 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试rtp:# [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输enable: true# [可选] 在此范围内选择端口用于媒体流传输, 必须提前在zlm上配置该属性,不然自动配置此属性可能不成功port-range: 30000,30500 # 端口范围# [可选] 国标级联在此范围内选择端口发送媒体流,send-port-range: 30000,30500 # 端口范围# 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用record-assist-port: 0
# [可选] 日志配置, 一般不需要改
logging:config: classpath:logback-spring-local.xml

2.项目启动
idea启动Java项目,打开redis,编译并打开ZLMediaKit的MediaServer,编译wvp-GB28181-pro的web_src模块打开MySQL服务;
3.摄像头配置

在这里插入图片描述

4.登陆界面
用户admin
密码admin
在这里插入图片描述
5.预览界面
在这里插入图片描述
6.云台控制
在这里插入图片描述
7.ZLMediaKit推流成功界面
在这里插入图片描述

注意事项
ZLMediaKit配置文件config.ini和 wvp-GB28181-pro的配置应该一致

media:id: your_server_id# [必须修改] zlm服务器的内网IPip: 192.168.1.3# [必须修改] zlm服务器的http.porthttp-port: 8080# [可选] zlm服务器的hook.admin_params=secretsecret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc

后续准备进行现场并发测试和进行二次开发以适应客户的业务系统

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

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

相关文章

智己汽车联手美摄科技深度合作Carlog车载摄像系统

当前,中国智能汽车市场展现出了巨大的发展潜力。据《2022中国智能汽车发展趋势洞察报告》数据显示,预计到2025年,中国L2及以上智能汽车销量将突破千万辆,对应中国智能汽车渗透率将达到49.3%。作为智能汽车中的亮眼品牌&#xff0c…

Camera | 7.瑞芯微rk3568平台摄像头控制器MIPI-CSI驱动架构梳理

因为有拍照、录制视频、直播等刚需,现在手机的摄像头基本都是高清,支持高清摄像头的SoC都支持MIPI-CSI。 不同SoC的MIPI-CSI在实现上有一定差别,即使同一厂家设计生产的芯片也都不尽相同。 本文基于瑞芯微rk3568平台evb1公板为例来详细讲解…

3 海康视觉平台VisionMaster 上手系列:通讯

VisionMaster 通讯中 常用的工具:1,接收数据。 2,协议解析。 3,格式化。 4,发送数据。 以上4个工具是 通讯中用到的工具。根据红框,字面意思就可以理解,使用。就是接受字符串,拆分字…

景嘉微GPU与显卡

景嘉微GPU与显卡 图形处理器(GPU)芯片-JM7200 分享: JM7200采用28nm CMOS工艺,支持4K超高清显示,支持4路独立显示输出,支持十屏同时输出,提供多种丰富的外设接口,可高效完成2D、3D图…

chatgpt赋能python:Python连续输出的技巧

Python连续输出的技巧 Python是一种简单易学的高级编程语言。它具有易于阅读和编写的语法,同时也有足够的功能来进行复杂的编程任务。Python被广泛用于各种应用程序,从Web应用程序到数据分析和人工智能等。在这篇文章中,我们将探讨如何使用P…

(分步解释)----扑克随机洗牌

JavaScript中输出随机数的方法&#xff1a; <1> 系统Math对象里的random方法。 例如&#xff1a;输出1—6的随机数,包括1和6。 <script>/*1到5的随机数 包括1和5*/console.log(parseInt(Math.random()* 6) 1);</script> 模拟扑克洗牌&#xff1a; <…

排序算法之鸡尾酒排序

原文&#xff1a;微信公众号&#xff1a;程序员小灰——什么是鸡尾酒排序 1 鸡尾酒排序 鸡尾酒排序是冒泡排序的一种变形。它与冒泡排序的不同之处在于排序时是以双向在序列中进行排序。 2 原理 鸡尾酒排序的原理跟冒泡排序差不多&#xff0c;只不过冒泡排序每一轮的比较都…

算法:鸡尾酒排序

双向冒泡排序也被称为鸡尾酒排序、鸡尾酒调酒器排序、摇床排序、涟漪排序、洗牌排序、班车排序等。&#xff08;再多再华丽丽的名字也难以弥补它的低效&#xff09; 鸡尾酒排序&#xff0c;是冒泡排序的改良大部分元素都有序的时候&#xff0c;可以用鸡尾酒排序、地精排序 冒泡…

一文解决投骰子类的算法题

目录 首先来看一道经典的问题&#xff1a;n个骰子的点数 我们再来看另一个问题&#xff1a;掷骰子的N种方法 牢记投骰子类问题的解决方法&#xff1a;动态规划 首先来看一道经典的问题&#xff1a;n个骰子的点数 题目是这样的&#xff1a;把n个骰子扔在地上&#xff0c;所有…

21天经典算法之冒泡排序

​ ​ 活动地址&#xff1a;CSDN21天学习挑战赛 专栏前言: 本专栏主要是算法训练&#xff0c;目的很简单。就是为了进厂 最近官方在组织 21 天挑战赛&#xff0c;趁此机会我也更新一下经典算法的文章 如果想一起“狂”或者交流&#xff0c;欢迎来私聊 还不快趁着这个机会来提升…

鸡尾酒排序算法详解

一、什么是鸡尾酒排序 1.概念 鸡尾酒排序算法又叫快乐小时排序&#xff0c;它基于冒泡排序算法做了一些优化。冒泡排序算法每一轮都是从左到右进行元素比较&#xff0c;进行单向的位置交换&#xff0c;鸡尾酒排序算法则是双向的元素比较和交换。 2.算法原理 这是一个无序数…

【1072】鸡尾酒疗法

1072&#xff1a;鸡尾酒疗法 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 62913 通过数: 27350 【题目描述】 鸡尾酒疗法&#xff0c;指“高效抗逆转录病毒治疗”。人们在鸡尾酒疗法的基础上又提出了很多种改进的疗法。为了验证这些治疗方法是否在疗效上比鸡尾…

把psd自动生成html,根据psd文件生成html

我是新手&#xff0c;怎样在ps中把psd文件变成html文件呢&#xff1f;我知道要用切片&#xff0c;但是具体步骤怎么做&#xff0c;还有是不是不同的ps版本有差异 不同的ps版本是没有什么差异的&#xff0c;主要用到的就是工具里面的切片&#xff0c;用切片切好图后&#xff0c;…

为什么不要相信AI机器人提供的健康信息?

自从OpenAI、微软和谷歌推出了AI聊天机器人&#xff0c;许多人开始尝试一种新的互联网搜索方式&#xff1a;与一个模型进行对话&#xff0c;而它从整个网络上学到的知识。 专家表示&#xff0c;鉴于之前我们倾向于通过搜索引擎查询健康问题&#xff0c;我们也不可避免地会向Ch…

OpenAI 用于辅助治疗的 GPT-4:AI 如何彻底改变心理健康护理

人工智能&#xff08;AI&#xff09;改变了我们生活的方方面面&#xff0c;从娱乐和教育到医疗保健。人工智能最有前途的应用之一是在心理健康领域&#xff0c;它可以帮助数百万患有抑郁症、焦虑症、创伤后应激障碍 &#xff08;PTSD&#xff09; 和物质使用障碍等各种疾病的人…

大模型惨遭人类大范围攻击!国内各领域专家组团投毒,GPT-4也Hold不住

包括GPT-4在内等多个大模型惨遭人类攻击&#xff01;还是大范围、多边形那种。 而且这个军团被爆个个来头不小。 包括社会学家李银河、心理学家李松蔚、中科院计算研究所王元卓等&#xff0c;覆盖环境、心理、法理、心理、教育、大数据、无障碍等多个领域。 他们专挑刁钻、陷…

苹果AI哪去了?前员工揭秘Siri何以走向没落:团队内耗、技术判断太谨慎

明敏 发自 凹非寺量子位 | 公众号 QbitAI 苹果为何会在最新一轮ChatGPT趋势中“静悄悄”&#xff1f; 答案更进一步浮出水面。 内部团队混乱、决策缓慢、代码笨重&#xff0c;都成为了拖累苹果AI更快前进的原因。 最直接的体现&#xff0c;可以来看Siri。 这大概是大部分普通人…

新规拉开中国生成式AI“百团大战”序幕?

AI将走向何方&#xff1f; ChatGPT在全球范围掀起的AI热潮正在引发越来越多的讨论&#xff0c;AI该如何管理&#xff1f;AI该如何发展&#xff1f;一系列问题都成为人们热议的焦点。此前&#xff0c;马斯克等海外名人就在网络上呼吁OpenAI暂停ChatGPT的模型训练和迭代&#xf…

苹果AI哪去了?前员工揭秘Siri何以走向没落:团队内耗、技术判断太谨慎!

省时查报告-专业、及时、全面的行研报告库 省时查方案-专业、及时、全面的营销策划方案库 【免费下载】2023年3月份热门报告合集 万字干货&#xff1a;ChatGPT的工作原理 2023年创业&#xff08;有创业想法&#xff09;必读手册 ChatGPT等让你效率倍增的22个AI工具 ChatGPT调研…

Mac下安装Redis 4.0(服务器端)

系统环境: CentOS 7.4 Redis版本: 4.0 这里采用终端下载解析安装: 1.1 进入/usr/local/目录 cd /usr/local/ 1.2 下载稳定版 wget http://download.redis.io/releases/redis-4.0.10.tar.gz 1.3 解压: tar -zxvf redis-4.0.10.tar.gz 1.4 进入解压后的文件中 cd redis-4.0.10 1.…