跳至主要內容

视频监控环境部署

fastbee2024年9月27日大约 5 分钟

一、监控平台整体架构

监控平台整体架构
监控平台整体架构

二、视频部署步骤

2.1 服务器开放端口

注意!!!务必到服务器安全组开放对应端口,否则设备上线,点播和直播等功能无法使用。

2.2 修改sip配置和record配置,并编译jar包

# sip 配置 默认情况下是关闭sip服务的,需要时开启该服务
sip:
  enabled: true
## 注意!!!docker部署保持默认即可,window测试环境填本地网卡内网IP
  ip: 177.7.0.13
  port: 5061
  domain: 3402000000
  id: 34020000002000000001
  password: 12345678
# [可选] 监听的HTTP端口, 网页和接口调用都是这个端口
# 您需要使用实际的证书名称替换domain_name.jks
# 证书获取参考文档:https://help.aliyun.com/zh/ssl-certificate/user-guide/enable-https-on-spring-boot
server:
    port: 18081
    servlet:
        context-path: /         # 应用的访问路径
    #  HTTPS配置, 默认不开启
    ssl:
        # 是否开启HTTPS访问 默认关闭
        enabled: false
        # enabled: true
        # 证书文件路径,您需要使用实际的证书名称替换domain_name.jks。
        key-store: classpath:fastbee.online.jks
        # 证书密码 修改为对应密码
        key-store-password: fastbee
        # 证书类型, 默认为jks,根据实际修改
        key-store-type: JKS

2.3 将jar包,https证书复制到docker部署目录,然后启动

record包目录证书和zlm配置文件目录zlm运行日志

2.4 非Docker部署,服务拆分部署

三、录像模块部署

3.1 Docker 部署

  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环境 部署

# fastbee-record项目配置
userSettings:
    # [必需修改 ] zlm配置的录像路径,
    record: /opt/media/bin/www/record
    # [必需修改 ] ffmpeg路径
    ffmpeg: /usr/bin/ffmpeg
    # [必需修改 ] ffprobe路径, 一般安装ffmpeg就会自带, 一般跟ffmpeg在同一目录,用于查询文件的信息
    ffprobe: /usr/bin/ffprobe

注意!!! ffmpeg和ffprobe需要与ZLMediaKit配套使用,会管理流媒体服务器的录像文件。

3.3 录像相关接口切换为https

最新master版本的录像接口支持https/http切换,请更新代码

1. 下载JKS证书

参考文档:https://help.aliyun.com/zh/ssl-certificate/user-guide/enable-https-on-spring-boot

2. 修改配置文件,重新部署jar包
# [可选] 监听的HTTP端口, 网页和接口调用都是这个端口
# 您需要使用实际的证书名称替换domain_name.jks
# 参考文档:https://help.aliyun.com/zh/ssl-certificate/user-guide/enable-https-on-spring-boot
server:
    port: 18081
    #  HTTPS配置, 默认不开启
    ssl:
        # 是否开启HTTPS访问 默认关闭
        enabled: true
        # enabled: true
        # 证书文件路径,您需要使用实际的证书名称替换domain_name.jks。
        key-store: classpath:fastbee.online.jks
        # 证书密码 修改为对应密码
        key-store-password: fastbee
        # 证书类型, 默认为jks,根据实际修改
        key-store-type: JKS
3. 修改流媒体服务器的播放协议为https

3.4 常见问题

1. 修改录像文件长度
# zlmedia/conf/config.ini  流媒体服务配置文件
[record]
appName=record
fileBufSize=65536
filePath=./www
fileSecond=3600
sampleMS=500
fastStart=0
fileRepeat=0

# Java 中 ZmlHookServiceImpl  onPublish函数
...... playrecord
ret.put("mp4_max_second", 10);
...... download
ret.put("mp4_max_second", 10);
...... 
# 默认为10s  可以根据需要修改
2. 录像存放路径

四、window环境下搭建调试监控设备环境

4.1 使用docker脚本部署zlmediakit

下载docker桌面版本

使用docker目录下脚本启动zlmediakit

进入docker/data目录下,输入: docker-compose -f docker-compose-window.yml up -d

4.2 修改sip配置

查看网卡ip

修改java配置中的sip配置

启动后端和前端项目
后端 启动FastBeeApplication应用

前端 输入 npm run dev启动项目

4.3 在fastbee平台新增流媒体服务器

新增服务器

添加局域网ip为192.168.31.159的服务器

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