# 海康无插件预览,云台控制,布防hikCamera
**Repository Path**: elfbobo_admin_admin/hik-camera
## Basic Information
- **Project Name**: 海康无插件预览,云台控制,布防hikCamera
- **Description**: 海康,大华,摄像头无插件预览,ISAPI接口封装(海康),SDK集成(海康),语音对讲(语音转发)(海康),实时语音数据(海康),云台控制(海康),支持zlmediakit流媒体播放,webrtcstreamer播放,go2rtc播放(推荐),websocket播放,项目后端采用java语言,前端vue2,jdk1.8,详细描述了流媒体服务安装启动方式
- **Primary Language**: Java
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 12
- **Created**: 2025-07-08
- **Last Updated**: 2025-07-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
### 海康,大华 摄像头浏览器中无插件预览(带音频传输),支持海康设备云台控制(上下左右,变焦),布防,预置点,喊话(语音播报),对讲(实时语音对讲,部分摄像头支持)
## 本项目支持的流媒体播放方案(附教程):
~~~
1-使用ZLMediakit播放
2-使用websocket方式播放
3-使用webrtcstreamer播放(超低延迟)
4-使用go2rtc播放(推荐,操作简单,集成容易,超低延迟,轻量级无系统负担)
~~~
#### 项目集成演示,demo效果:

#### 集成webrtcstreamer后的项目播放演示图片:

#### go2rtc播放演示图片:

## 说明
~~~
本来只是随便想搞个权限相关的项目,后来开始研究海康摄像头,也就没时间继续开发权限系统,后续会继续开发,代码仅供参考
~~~
#### ---------------------------------------------------------------------------------------------------------
### 该项目主要功能是ISAPI接口实现海康云台控制和视屏回放,SDK集成云台和语音对讲,视屏预览方案,采用的是webrtcstreamer播放方案,vue2项目已集成
### 纯分享
#### ---------------------------------------------------------------------------------------------------------
# 海康视屏播放方案
~~~
技术选型:
SpringBoot2.7.1 + mysql + redis + knife4j + jasypt + mybatis-plus
JDK版本:
jdk1.8
~~~
***
## Linux环境启动需要添加启动参数:
~~~
java -Djasypt.encryptor.password="1234567890" -Dknife4j.basic.username="Wenjie" -Dknife4j.basic.password="1234567890" -jar hikCamera.jar
~~~
***
## 本地启动需要添加启动参数:
##### EditConfiguration -- Modify options -- Add VM options
~~~
-Djasypt.encryptor.password="1234567890"
-Dknife4j.basic.username="Wenjie"
-Dknife4j.basic.password="1234567890"
~~~
***
## 开发注意:
| 序号 | 内容 |
|:---:|---------------------------------------------------------------------------------------|
| 1 | 注入尽量使用构造器注入 |
| 2 | 新增、修改接口,应看情况加接口防抖功能(非高并发接口,应加防抖,两秒内相同参数只能访问一次接口) |
| 3 | 频繁的查询数据库,应该用到缓存回源,继承自AbstractSyncCacheWorker,重写read和write方法,读取时使用find()方法读取数据 |
| 4 | 用户登陆后,使用UserInfoEntity userInfoEntity = BaseParamPool.getUserInfoEntity();获取当前登陆用户的信息 |
| 5 | 代码中不得出现魔法数字 |
| 6 | 所有自定义返回消息,全部写在MessageConstant中,每个controller自定义一个interface |
| 7 | 复制对象统一采用BeanConvertUtil.copyProperties(originalDTO, copyToDTO); |
| 8 | 通用字典参数写入CommonConstant类 |
| 9 | 密码,邮箱,身份证属于一级敏感信息,不能明文存储,也不能从日志中输出 |
| 10 | 如果接口希望跳过登陆拦截,则直接加上@NoNeedLogin注解即可 |
| 11 ||
***
## 海康威视摄像头h.264视频流预览:
#### 将lib/jna.jar复制到D盘下,执行下面命令
~~~
mvn install:install-file -DgroupId=com.sun -DartifactId=jna -Dversion=1.0.0 -Dpackaging=jar -Dfile=D:\jna.jar
~~~
#### 将lib/examples.jar复制到D盘下,执行下面命令
~~~
mvn install:install-file -DgroupId=com.sun -DartifactId=examples -Dversion=1.0.0 -Dpackaging=jar -Dfile=D:\examples.jar
~~~
#### pom中添加依赖:
~~~
com.sun
jna
1.0.0
com.sun
examples
1.0.0
~~~
#### 访问地址
~~~
http://127.0.0.1:8081 websocket播放视频流
http://localhost:8081/video2 流媒体播放视频流
http://localhost:8081/video3 通过录像机播放视频
~~~
#### linux系统下webrtc流媒体安装教程,参考:
~~~
https://blog.csdn.net/qq_53200007/article/details/133016535
https://blog.csdn.net/zengliguang/article/details/129941281
~~~
#### nginx配置文件参考:
###### /nginxFile/nginx.conf
~~~
监听的是8200端口,https访问,证书自签即可,配置文件仅做参考
~~~
#### 视频播放方案:
~~~
播放视屏采用的linux安装webrtcstreamer的方式实现无插件播放视屏,参考:
https://blog.csdn.net/qq_20937557/article/details/129879697
~~~
#### docker部署webrtcstreamer:
~~~
docker拉取镜像
docker pull mpromonet/webrtc-streamer:v0.8.1
docker run -d --network=host --name webrtc-streamer -it mpromonet/webrtc-streamer:v0.8.1 -v -o
默认监听端口8000
访问http://linux服务器ip:8000/webrtcstreamer.html?video=rtsp地址
海康的rtsp地址一般为rtsp://username:password@ip:554/Streaming/Channels/10拼接通道号
比如:rtsp://admin:qwer1234@192.168.11.13:554/Streaming/Channels/101
~~~
#### 项目部署后,页面访问:
~~~
https://ip:8200/#/videoPlay
备注:
1-前端包在vue2中,可自行编译打包
2-服务器中缺少webrtcstreamer的js文件等,可自行下载添加到前端包的同级目录中去,也可使用/webrtc中的文件
3-linux中监听的施https的8200端口,根据实际情况修改即可
~~~
#### 功能简介:
~~~
https://ip:8200/#/videoPlay页面功能
1-摄像头rtsp视屏预览
2-云台控制,上下左右,变倍
3-语音对讲(语音转发功能)
4-视屏回放(需要设备支持)
5-区域布防(后端接口已经支持,前端暂未集成,可用CANVAS集成)
~~~
#### 成品包(Linux直接部署):
~~~
直接解压使用
/成品包/192.168.11.19_8200.tar.gz--前端部署位置
/成品包/hikCamera.zip.001,/hikCamera.zip.002---后端部署位置(全选解压)
~~~
#### 演示:
~~~
录像:/演示
~~~
#### 2026-06-13新增无插件视屏流播放解决方案:(推荐)
~~~
go2rtc,路径:/stream
windows环境
1-windows环境解压go2rtc_win64.zip
2-将go2rtc.yaml放入解压后的目录中
3-双击go2rtc.exe,弹框不要关闭
4-打开浏览器,输入http://localhost:1984/stream.html?src=cam1&mode=webrtc即可无插件播放
linxu环境:
1-将go2rtc_linux_amd64和go2rtc.yaml放入服务器中
2-执行./go2rtc_linux_amd64
3-打开浏览器,输入http://服务器ip:1984/stream.html?src=cam1&mode=webrtc即可无插件播放
如需集成到前端vue项目,需要通过nginx转发,防止跨域问题产生。
~~~
#### 如有疑问,欢迎咨询,共同交流:
~~~
作者:朱文杰
邮箱:384814587@qq.com
微信:ZWJ-egg
~~~