# 海康无插件预览,云台控制,布防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效果: ![输入图片说明](stream/2.jpg) #### 集成webrtcstreamer后的项目播放演示图片: ![输入图片说明](webrtc/2.png) #### go2rtc播放演示图片: ![输入图片说明](stream/1.png) ## 说明 ~~~ 本来只是随便想搞个权限相关的项目,后来开始研究海康摄像头,也就没时间继续开发权限系统,后续会继续开发,代码仅供参考 ~~~ #### --------------------------------------------------------------------------------------------------------- ### 该项目主要功能是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 ~~~