大华摄像头SDK对接+实时预览+回放【亲测】

摄像头基础配置

1、从大华官网(https://support.dahuatech.com/tools)下载并安装ConfigTool。

2、如果你电脑在内网,比如:172...,那么先要在外网连接摄像头,然后把摄像头的ip设置成内网的和你本地网段一样的ip172...,然后你在本地172才能用ConfigTool搜索到摄像头。

3、浏览器直接输入设备的ip,直接打开摄像头设备进行设置。

部署zlmediakit

1、docker pull zlmediakit/zlmediakit:master

2、docker run -id --restart=always -p 1935:1935 -p 8888:80 -p 8443:443 -p 8554:554 -p 10000:10000 -p 10000:10000/udp -p 8000:8000/udp -p 9000:9000/udp zlmediakit/zlmediakit:master

3、访问服务器IP:8888

4、找到zlmediakit的secret

复制代码
# 先查容器ID
docker ps
# 进入容器
docker exec -it 容器ID /bin/bash
# 查看配置
grep api.secret /opt/media/conf/config.ini
# 进入配置文件目录
cd /opt/media/conf
# 查看配置文件(确认文件名)
ls -l
# 用 vi 编辑 config.ini
vi config.ini

5、浏览器输入连接:ip:8888/webassist/?secret=jgGhNxxxxbZdVRYJlZl2kBf0B6ser

6、可改密码,改为XWDxxx

7、部署完ZLMediaKit之后,根据以下步骤获取大华直播流。(具体实现直接AI帮你完成即可!)

复制代码
   ↓ 1. 发起请求(设备ID、通道号)
Java后端 getRealPlay 接口
    ↓ 2. 调用大华SDK预览接口
大华SDK
    ↓ 3. 网络连接 + 请求实时流
大华摄像头设备
    ↓ 4. 推送私有视频裸流
大华SDK
    ↓ 5. 裸流回传给Java后端
Java后端
    ↓ 6. 调用FFmpeg接收裸流、转码封装为RTMP
FFmpeg
    ↓ 7. RTMP流推送到流媒体服务
ZLMediaKit 流媒体服务
    ↓ 8. 转协议生成 HTTP-FLV/HLS 播放地址
    ↓ 9. 播放地址回传给Java后端
Java后端 getRealPlay 接口
    ↓ 10. 地址返回前端
前端播放器
    ↓ 11. 拉流、解码、渲染播放

8:通过ZLMediaKit获取到的flv格式的url:ip:8888/live/camera1.live.flv连接,需要是.live.flv的格式。

9:对接录像回放的时候,需要在大华的存储管理页面-时间表里面设置存储的事件,没有配置普通的话,就没有录像。需要注意。

10:大华的存储管理页面-存储,配置录像的存放地址。

11、到时设备的账号和密码需要做个映射,ZLMediaKit也需要映射。(根据需要)

本地代码

1、设置配置文件为80000,太小会导致读取失败。