# patrol **Repository Path**: houwp/patrol ## Basic Information - **Project Name**: patrol - **Description**: 只能巡检 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-08 - **Last Updated**: 2026-07-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 系统部署: 1.3060服务器信息: 服务器ip:220.194.140.84 服务器账号:Administrator 服务器密码:JYB@2022 2.3060ftp服务器信息: ftp端口:6021 ftp根路径:D:\patrol\file\big\video\LocalUser 用户根路径与账号名同名 业务ftp账号: tdwb taiyuan datong shuozhou xinzhou yangquan lvliang jinzhong changzhi jincheng linfen yuncheng 业务ftp密码:tdwb@2026 备份ftp账号:backup 备份ftp密码:tdwb@2026 1. 创建数据库 1.1. mysql(8.4.9)安装: 1.1.1. bin的环境变量 1.1.2. "D:\patrol\db\mysql\mysql-8.4.9\bin\mysqld" --install MySQL84 --defaults-file="D:\patrol\db\mysql\mysql-8.4.9\my.ini" 1.1.3. 防火墙开放端口:3306 2. 生产环境3060 2.1. ubuntu虚拟机 2.1.1. 创建的用户名密码:tdwb/tdwb@2026 2.1.2. 宿主机与虚拟机互通 虚拟机ip:192.168.100.2 端口映射命令: netsh interface portproxy add v4tov4 listenport=2022 listenaddress=220.194.140.84 connectport=22 connectaddress=192.168.100.2 查看端口映射: netsh interface portproxy show v4tov4 2.1.3. 数据库mysql8.0.26 docker命令: docker run -d \ --name mysql8026 \ -e MYSQL_ROOT_PASSWORD=tdwb@2026 \ -p 8026:3306 \ -v /docker/mysql/mysql8026/data:/var/lib/mysql \ -v /etc/localtime:/etc/localtime:ro \ --restart=always \ mysql:8.0.26 端口映射: netsh interface portproxy add v4tov4 listenport=8026 listenaddress=220.194.140.84 connectport=8026 connectaddress=192.168.100.2 2.1.4. 大屏服务 大屏服务部署 部署地址:/opt/report/ 端口映射: netsh interface portproxy add v4tov4 listenport=9095 listenaddress=220.194.140.84 connectport=9095 connectaddress=192.168.100.2 大屏服务地址:http://220.194.140.84:9095/ 用户名:admin 密码:123456 2.1.5. zlmediakit流服务器 zlmediakit流服务器部署 部署地址:/docker/zlmediakit/ # 先在宿主机创建配置目录 sudo mkdir -p /docker/zlmediakit/conf # 先运行一次容器,把默认配置文件拷贝出来 sudo docker run -d \ --name zlmediakit \ --restart=always \ -p 1935:1935 \ -p 554:554 \ -p 9999:80 \ -p 443:443 \ -p 8000:8000/udp \ -p 9000:9000 \ -p 10000:10000/udp \ zlmediakit/zlmediakit:master # 导出配置文件 sudo docker exec zlmediakit cat /opt/media/conf/config.ini > /docker/zlmediakit/conf/config.ini # 用新配置重新启动(加了 -v 映射) # 5. 停掉容器,重新带挂载启动 sudo docker stop zlmediakit sudo docker rm zlmediakit sudo docker run -d \ --name zlmediakit \ --restart=always \ -v /docker/zlmediakit/conf:/opt/media/conf \ -p 1935:1935 \ -p 554:554 \ -p 9999:80 \ -p 443:443 \ -p 8000:8000/udp \ -p 8189:8189/udp \ -p 9000:9000 \ -p 10000:10000/udp \ zlmediakit/zlmediakit:master 端口映射: 删除映射案例:netsh interface portproxy delete v4tov4 listenport=8081 listenaddress=220.194.140.84 # RTMP: 1935 → 虚机 1935(端口相同) netsh interface portproxy add v4tov4 listenport=1935 listenaddress=220.194.140.84 connectport=1935 connectaddress=192.168.100.2 # RTSP: 8554 → 虚机 554(端口不同) netsh interface portproxy add v4tov4 listenport=8554 listenaddress=220.194.140.84 connectport=554 connectaddress=192.168.100.2 # HLS / HTTP-FLV: 9999 → 虚机 80 netsh interface portproxy add v4tov4 listenport=9999 listenaddress=220.194.140.84 connectport=9999 connectaddress=192.168.100.2 # WebRTC HTTP: 8889 → 虚机 80 netsh interface portproxy add v4tov4 listenport=8889 listenaddress=220.194.140.84 connectport=9999 connectaddress=192.168.100.2 # SRT 协议推流/拉流(改用shell) netsh interface portproxy add v4tov4 listenport=8890 listenaddress=220.194.140.84 connectport=10000 connectaddress=192.168.100.2 protocol=udp # WebRTC ICE 候选地址通信(UDP 打洞)(改用shell) netsh interface portproxy add v4tov4 listenport=8000 listenaddress=220.194.140.84 connectport=8000 connectaddress=192.168.100.2 protocol=udp # WebRTC ICE 候选地址通信(备用端口)(改用shell) netsh interface portproxy add v4tov4 listenport=8189 listenaddress=220.194.140.84 connectport=8189 connectaddress=192.168.100.2 protocol=udp ## ZLMediaKit 端口转发方案 ### TCP 端口映射(netsh portproxy) | 协议 | 用途 | 宿主机端口 | 虚机端口 | 容器端口 | 转发方式 | |------|------|-----------|---------|---------|---------| | RTMP | 推流 | 1935 | 1935 | 1935 | netsh | | RTSP | 摄像头推流/拉流 | 8554 | 554 | 554 | netsh | | HTTP | HTTP-FLV / HLS | 9999 | 9999 | 80 | netsh + Docker | | HTTP | WebRTC 信令 | 8889 | 9999 | 80 | netsh + Docker | ### UDP 端口转发(PowerShell 脚本) | 协议 | 用途 | 宿主机端口 | 虚机端口 | 容器端口 | 转发方式 | |------|------|-----------|---------|---------|---------| | SRT | 抗弱网推流/拉流 | 8890 | 10000 | 10000 | ps1 脚本 | | WebRTC ICE | 媒体流传输 | 8000 | 8000 | 8000 | ps1 脚本 | | WebRTC ICE | 媒体流传输(备用) | 8189 | 8189 | 8189 | ps1 脚本 | ### 流量链路示意 | 协议 | 完整链路 | |------|---------| | RTMP | 外部:1935 → netsh → 虚机:1935 → Docker → 容器:1935 | | RTSP | 外部:8554 → netsh → 虚机:554 → Docker → 容器:554 | | HTTP-FLV/HLS | 外部:9999 → netsh → 虚机:9999 → Docker → 容器:80 | | WebRTC HTTP | 外部:8889 → netsh → 虚机:9999 → Docker → 容器:80 | | SRT (UDP) | 外部:8890 → ps1脚本 → 虚机:10000 → Docker → 容器:10000 | | WebRTC (UDP) | 外部:8000 → ps1脚本 → 虚机:8000 → Docker → 容器:8000 |