# 海康无插件预览,云台控制,布防hikCamera
**Repository Path**: sh2024/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**: 9
- **Created**: 2025-09-16
- **Last Updated**: 2025-09-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
### 海康,大华 摄像头浏览器中无插件预览(带音频传输),支持海康设备云台控制(上下左右,变焦),布防,预置点,喊话(语音播报),对讲(实时语音对讲,部分摄像头支持)
## 本项目支持的流媒体播放方案(附教程):
~~~
1-使用ZLMediakit播放
2-使用websocket方式播放
3-使用webrtcstreamer播放(超低延迟)
4-使用go2rtc播放(推荐,操作简单,集成容易,超低延迟,轻量级无系统负担)
~~~
#### 项目集成演示,demo效果:

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

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

#### 第一种无插件播放:使用webrtcstreamer视频播放方案:
~~~
播放视屏采用的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/通道号&码流类型
比如:rtsp://admin:qwer1234@192.168.11.13:554/Streaming/Channels/101
解释:
1-用户名密码:admin:qwer1234
2-ip地址:192.168.11.13
3-rtsp端口:554
4-取流地址:/Streaming/Channels/
5-通道号:1
6-码流类型--主码流:01
如需集成到前端vue项目,需要通过nginx反向代理,防止跨域问题产生。
~~~
#### 第二种无插件播放:
~~~
go2rtc,路径:/stream
windows环境
1-windows环境解压go2rtc_win64.zip
2-将go2rtc.yaml放入解压后的目录中
3-编辑修改go2rtc.yaml中的rtsp地址为rtsp://username:password@ip:554/Streaming/Channels/通道号&码流类型
4-双击go2rtc.exe,弹框不要关闭
5-打开浏览器,输入http://localhost:1984/stream.html?src=cam1&mode=webrtc即可无插件播放
linxu环境:
1-将go2rtc_linux_amd64和go2rtc.yaml放入服务器中
2-编辑修改go2rtc.yaml中的rtsp地址为rtsp://username:password@ip:554/Streaming/Channels/通道号&码流类型
3-执行./go2rtc_linux_amd64
3-打开浏览器,输入http://服务器ip:1984/stream.html?src=cam1&mode=webrtc即可无插件播放
如需集成到前端vue项目,需要通过nginx反向代理,防止跨域问题产生。
~~~
## 说明
#### ---------------------------------------------------------------------------------------------------------
### 该项目主要功能是ISAPI接口实现海康云台控制和视屏回放,SDK集成云台和语音对讲,视屏预览方案,采用的是webrtcstreamer播放方案,vue2项目已集成
### 纯分享
#### ---------------------------------------------------------------------------------------------------------
# 技术选型
~~~
SpringBoot2.7.1 + mysql + redis + knife4j + jasypt + mybatis-plus
JDK版本:
jdk1.8
~~~
***
***
## 云台控制:(SDK方式集成)
#### 将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
~~~
***
***
#### 云台控制、布防、回放:(ISAPI方式集成,DigestAuth认证接口请求封装)
~~~
云台控制:/isApi/cameraControl
获取设备的布防区域坐标以及灵敏度:/isApi/getAllZoneChannelZone
单通道区域布防:/isApi/fieldDetection
根据月份获取录像列表:/isApi/listPlaybackVideosByMonth
获取回放流地址列表:/isApi/listPlaybackStream
~~~
***
***
#### 项目启动后,访问地址
~~~
http://127.0.0.1:8081 websocket播放视频流
http://localhost:8081/video2 流媒体播放视频流
http://localhost:8081/video3 通过录像机播放视频
https://ip:8200/#/videoPlay 通过webrtc播放视音频,前后端分离,带云台控制,视屏回放,语音播报功能
~~~
#### 常见问题
~~~
1-无插件播放,推荐启动前端和后端,需要先安装webrtc-streamer(参考 第一种无插件播放:docker部署webrtcstreamer),访问https://ip:8200/#/videoPlay
2-接口调用报错,常见的是:如果是ISAPI调用,端口传80,如果是SDK调用,端口传8000
3-注意防火墙,linux下需要先安装FFMpeg,不要使用静态安装
4-语音播报和语音对讲需要https,参考项目中的nginx配置
~~~
#### linux系统下webrtc流媒体安装教程(ZLMediaKit),参考:
~~~
webrtcstreamer和go2rtc方式播放可忽略
https://blog.csdn.net/qq_53200007/article/details/133016535
https://blog.csdn.net/zengliguang/article/details/129941281
~~~
#### nginx配置文件参考:
###### /nginxFile/nginx.conf
~~~
监听的是8200端口,https访问,证书自签即可,配置文件仅做参考
~~~
#### 项目部署后,页面访问:
~~~
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集成)
6-语音对讲(实时语音对讲)
~~~
#### 成品包(Linux直接部署):
~~~
直接解压使用
/成品包/192.168.11.19_8200.tar.gz--前端部署位置
/成品包/hikCamera.zip.001,/hikCamera.zip.002---后端部署位置(全选解压)
后端包启动命令:(使用了jasypt作为加密工具,可根据需要自行去除)
java -Djasypt.encryptor.password="1234567890" -Dknife4j.basic.username="Wenjie" -Dknife4j.basic.password="1234567890" -jar hikCamera.jar
~~~
#### 演示:
~~~
录像:/演示
~~~
#### 如有疑问,请star后咨询,也可共同交流:
~~~
作者:朱文杰
邮箱:384814587@qq.com
微信:ZWJ-egg
~~~