一、監(jiān)控平臺整體架構(gòu)

二、視頻部署步驟
2.1 服務(wù)器開放端口
- 5061:5061 //sip tcp端口號
- 5061:5061/udp //sip udp端口號
- 8082 //流媒體服務(wù)器api http接口
- 8443 //流媒體服務(wù)器api https接口
- 554:554 //rtsp推流接口
- 1935:1935 //rtmp推流接口
- 8000:8000 //rtc接口
- 30000-30500:30000-30500 //rtp tcp推流端口
- 30000-30500:30000-30500/udp //rtp udp推流端口
注意?。?!務(wù)必到服務(wù)器安全組開放對應(yīng)端口,否則設(shè)備上線,點(diǎn)播和直播等功能無法使用。
2.2 修改sip配置和record配置,并編譯jar包
- 配置文件在fastbee-admin/src/main/resources/application-prod.yml
# sip 配置 默認(rèn)情況下是關(guān)閉sip服務(wù)的,需要時開啟該服務(wù)
sip:
enabled: true
## 注意?。。ocker部署保持默認(rèn)即可,window測試環(huán)境填本地網(wǎng)卡內(nèi)網(wǎng)IP
ip: 177.7.0.13
port: 5061
domain: 3402000000
id: 34020000002000000001
password: 12345678
- record配置文件在fastbee-record/src/main/resources/application-prod.yml
# [可選] 監(jiān)聽的HTTP端口, 網(wǎng)頁和接口調(diào)用都是這個端口
# 您需要使用實(shí)際的證書名稱替換domain_name.jks
# 證書獲取參考文檔:https://help.aliyun.com/zh/ssl-certificate/user-guide/enable-https-on-spring-boot
server:
port: 18081
servlet:
context-path: / # 應(yīng)用的訪問路徑
# HTTPS配置, 默認(rèn)不開啟
ssl:
# 是否開啟HTTPS訪問 默認(rèn)關(guān)閉
enabled: false
# enabled: true
# 證書文件路徑,您需要使用實(shí)際的證書名稱替換domain_name.jks。
key-store: classpath:fastbee.online.jks
# 證書密碼 修改為對應(yīng)密碼
key-store-password: fastbee
# 證書類型, 默認(rèn)為jks,根據(jù)實(shí)際修改
key-store-type: JKS
2.3 將jar包,https證書復(fù)制到docker部署目錄,然后啟動
- zlmediakit鏡像地址
- default.pem證書獲取流程參考:開啟https相關(guān)功能
- docker/data 下有docker-compose.yml文件,可以一鍵跑環(huán)境,免去修改配置的麻煩
- 參考文檔:Docker部署
2.4 非Docker部署,服務(wù)拆分部署
- 保證服務(wù)器對應(yīng)服務(wù)的端口開放
- java sip配置根據(jù)本地接口環(huán)境,添加對應(yīng)網(wǎng)卡接口ip
- zlmediakit conf/config.ini的hook api 添加java api回調(diào)地址
- 設(shè)備管理-> 視頻配置-> 修改 zlmediakit 服務(wù)器IP 服務(wù)器域名 流媒體密鑰等信息
三、錄像模塊部署
3.1 Docker 部署
- 根據(jù)部署環(huán)境修改fastbee-record包的配置文件application-prod.yml,使用到redis緩存,根據(jù)需要修改對應(yīng)host和password
- 編譯fastbee-record.jar包,然后放在部署文件夾/data/zlmedia/record下面
- 項(xiàng)目路徑下 /docker/data/zlmedia/record 有打包容器的dockerfile,會把record包和ZLMediaKit打包到一起
- 把docker-compose.yml的注釋去掉,執(zhí)行"docker-compose up -d" 即可。
zlmedia-record:
build:
context: /var/data/zlmedia/record
# image: zlmediakit/zlmediakit:master
container_name: zlmedia-record
privileged: true
restart: always
ports:
- 18081:18081
- 8082:80
- 8443:443
- 554:554
- 1935:1935
- 8000:8000
- 30000-30100:30000-30100/udp
expose:
- "80"
- "443"
- "554"
- "1935"
volumes:
- /var/data/zlmedia/record/fastbee-record.jar:/fastbee-record.jar
- /var/data/zlmedia/record/logs:/opt/assist/logs
- /var/data/zlmedia/logs:/opt/media/bin/log
- /var/data/zlmedia/data/www:/opt/media/bin/www
- /var/data/zlmedia/conf/config.ini:/opt/media/conf/config.ini
- /var/data/zlmedia/conf/default.pem:/opt/media/bin/default.pem
networks:
network:
ipv4_address: 177.7.0.15
3.2 Windows&Linux環(huán)境 部署
- 安裝ffmpeg和ffprobe工具,并修改fastbee-record項(xiàng)目配置文件的工具路徑和錄像路徑
- 單獨(dú)運(yùn)行fastbee-record.jar包和ZLMediaKit,
- 執(zhí)行 "java -jar /fastbee-record.jar &"
# fastbee-record項(xiàng)目配置
userSettings:
# [必需修改 ] zlm配置的錄像路徑,
record: /opt/media/bin/www/record
# [必需修改 ] ffmpeg路徑
ffmpeg: /usr/bin/ffmpeg
# [必需修改 ] ffprobe路徑, 一般安裝ffmpeg就會自帶, 一般跟ffmpeg在同一目錄,用于查詢文件的信息
ffprobe: /usr/bin/ffprobe
注意!??! ffmpeg和ffprobe需要與ZLMediaKit配套使用,會管理流媒體服務(wù)器的錄像文件。
3.3 錄像相關(guān)接口切換為https
最新master版本的錄像接口支持https/http切換,請更新代碼
1. 下載JKS證書
參考文檔:https://help.aliyun.com/zh/ssl-certificate/user-guide/enable-https-on-spring-boot
2. 修改配置文件,重新部署jar包
- enabled:使能開關(guān)
- key-store:證書路徑
- key-store-password:證書密碼
# [可選] 監(jiān)聽的HTTP端口, 網(wǎng)頁和接口調(diào)用都是這個端口
# 您需要使用實(shí)際的證書名稱替換domain_name.jks
# 參考文檔:https://help.aliyun.com/zh/ssl-certificate/user-guide/enable-https-on-spring-boot
server:
port: 18081
# HTTPS配置, 默認(rèn)不開啟
ssl:
# 是否開啟HTTPS訪問 默認(rèn)關(guān)閉
enabled: true
# enabled: true
# 證書文件路徑,您需要使用實(shí)際的證書名稱替換domain_name.jks。
key-store: classpath:fastbee.online.jks
# 證書密碼 修改為對應(yīng)密碼
key-store-password: fastbee
# 證書類型, 默認(rèn)為jks,根據(jù)實(shí)際修改
key-store-type: JKS
3. 修改流媒體服務(wù)器的播放協(xié)議為https

3.4 常見問題
1. 修改錄像文件長度
# zlmedia/conf/config.ini 流媒體服務(wù)配置文件
[record]
appName=record
fileBufSize=65536
filePath=./www
fileSecond=3600
sampleMS=500
fastStart=0
fileRepeat=0
# Java 中 ZmlHookServiceImpl onPublish函數(shù)
...... playrecord
ret.put("mp4_max_second", 10);
...... download
ret.put("mp4_max_second", 10);
......
# 默認(rèn)為10s 可以根據(jù)需要修改
2. 錄像存放路徑
- zlmedia/data/www/record/ 攝像頭錄像文件
四、window環(huán)境下搭建調(diào)試監(jiān)控設(shè)備環(huán)境
4.1 使用docker腳本部署zlmediakit
使用docker目錄下腳本啟動zlmediakit

進(jìn)入docker/data目錄下,輸入: docker-compose -f docker-compose-window.yml up -d

4.2 修改sip配置
查看網(wǎng)卡ip


修改java配置中的sip配置

啟動后端和前端項(xiàng)目
后端 啟動FastBeeApplication應(yīng)用

前端 輸入 npm run dev啟動項(xiàng)目

4.3 在fastbee平臺新增流媒體服務(wù)器
新增服務(wù)器

添加局域網(wǎng)ip為192.168.31.159的服務(wù)器

修改HookUrl為:host.docker.internal:8080
