修改部署文档

This commit is contained in:
haotian 2026-02-25 19:21:17 +08:00
parent 317a8b1097
commit 9b3915e73d

View File

@ -1,5 +1,25 @@
# RK3588 Media Server 部署指南
## 架构说明
```
┌─────────────────┐ ┌─────────────────┐
│ Media Server │ │ RK3588 Agent │
│ (systemd) │◄────│ (systemd) │
│ 高可用独立服务 │ │ 监控/控制 │
└─────────────────┘ └─────────────────┘
│ │
▼ ▼
RTSP 输出流 Web 管理界面
HLS 输出流 http://IP:9100
```
- **Media Server**: 独立的 systemd 服务,高可用(崩溃自动重启)
- **Agent**: 独立的 systemd 服务,通过 `systemctl` 监控和控制 Media Server
- **两者可独立重启**: 重启 Agent 不会影响 Media Server
---
## 快速开始
### 1. 编译
@ -14,28 +34,23 @@ mkdir -p build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
# 编译 Agent(可选,用于 Web 管理)
# 编译 Agent
cd ../agent
GOOS=linux GOARCH=arm64 go build -o rk3588-agent_linux_arm64 ./cmd
go build -o rk3588-agent_linux_arm64 ./cmd/rk3588-agent
```
### 2. 安装
使用统一脚本安装:
```bash
cd ~/apps/OrangePi3588Media
sudo ./scripts/manage.sh install
```
安装过程会提示选择**配置文件**
- **配置文件**
- `test_cam1_face_det_rtsp_server.json` - 人脸检测(推荐)
- `sample_cam1_native_rtsp_face.json` - 完整功能
- `test_cam1_face_det_recog_rtsp_server.json` - 人脸识别
- `sample_cam1.json` - 完整功能(需手动修复)
Media Server 由 Agent 统一管理,可通过 Web 界面 `http://<设备IP>:9100` 查看状态和控制服务。
- `test_cam1_face_det_rtsp_server.json` - 人脸检测(推荐)
- `sample_cam1_native_rtsp_face.json` - 完整功能
- `test_cam1_face_det_recog_rtsp_server.json` - 人脸识别
- `sample_cam1.json` - 完整功能(需手动修复)
### 3. 查看状态
@ -47,7 +62,7 @@ sudo ./scripts/manage.sh status
- 系统运行时间
- NPU 负载
- Media Server 状态PID、CPU/内存、端口)
- Agent 状态(如果安装)
- Agent 状态
- 最近日志
### 4. 卸载
@ -56,22 +71,14 @@ sudo ./scripts/manage.sh status
sudo ./scripts/manage.sh uninstall
```
卸载会:
1. 停止所有服务
2. 删除 systemd 服务文件
3. 自动备份配置文件和模型到 `/root/rk3588-backup-时间戳/`
4. 提示是否删除安装目录
---
## 升级
升级步骤与安装相同,脚本会自动处理:
```bash
cd ~/apps/OrangePi3588Media
# 1. 拉取最新代码(如果是 git 仓库)
# 1. 拉取最新代码
git pull
# 2. 重新编译
@ -79,7 +86,10 @@ mkdir -p build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
# 3. 重新安装(会自动备份旧配置)
cd ../agent
go build -o rk3588-agent_linux_arm64 ./cmd/rk3588-agent
# 3. 重新安装
cd ..
sudo ./scripts/manage.sh install
```
@ -88,24 +98,47 @@ sudo ./scripts/manage.sh install
## 管理命令
Agent 统一管理 Media Server使用以下命令
### Media Server独立服务
```bash
# 启动/停止/重启 Agent同时会启动/停止 Media Server
# 启动/停止/重启
sudo systemctl start media-server
sudo systemctl stop media-server
sudo systemctl restart media-server
# 查看状态
sudo systemctl status media-server
# 查看日志
sudo journalctl -u media-server -f
```
### Agent独立服务
```bash
# 启动/停止/重启(不影响 Media Server
sudo systemctl start rk3588-agent
sudo systemctl stop rk3588-agent
sudo systemctl restart rk3588-agent
# 查看 Agent 状态
# 查看状态
sudo systemctl status rk3588-agent
# 查看日志
sudo journalctl -u rk3588-agent -f
```
# Web 管理界面
### Web 管理界面
```
http://<设备IP>:9100
```
功能:
- 查看 Media Server 运行状态
- 启动/停止/重启 Media Server通过 systemctl
- 查看配置信息
---
## 配置修改
@ -116,44 +149,30 @@ http://<设备IP>:9100
sudo nano /opt/rk3588-media-server/etc/media-server.json
```
常用修改:
- **修改 RTSP 输入源**:找到 `input_rtsp` 节点,修改 `url` 字段
- **修改输出端口**:找到 `publish` 节点,修改 `port` 字段
修改后重启服务:
修改后重启 Media Server
```bash
# 独立模式
sudo systemctl restart media-server
# Agent 模式
sudo systemctl restart rk3588-agent
```
---
## 目录结构
安装后的目录结构:
```
/opt/rk3588-media-server/
├── bin/
│ ├── media-server # 主程序
│ └── plugins/ # 插件目录
│ ├── libinput_rtsp.so
│ ├── libai_yolo.so
│ └── ...
├── lib/ # 依赖库
│ └── plugins/ # 插件
├── etc/
│ └── media-server.json # 配置文件
├── models/ # AI 模型
├── logs/ # 日志目录
└── web/hls/ # HLS 输出目录
├── logs/ # 日志
└── web/hls/ # HLS 输出
/opt/rk3588-agent/ # Agent 安装目录(如果使用)
├── rk3588-agent
└── agent.config.json
/opt/rk3588-agent/
├── rk3588-agent # Agent 程序
└── agent.config.json # Agent 配置
```
---
@ -163,37 +182,28 @@ sudo systemctl restart rk3588-agent
### 服务无法启动
```bash
# 查看详细错误
# Media Server 错误
sudo journalctl -u media-server -n 50
# 或
# Agent 错误
sudo journalctl -u rk3588-agent -n 50
```
### 检查 NPU 是否正常
### 检查 NPU
```bash
# 查看 NPU 负载
cat /sys/kernel/debug/rknpu/load
# 查看 NPU 驱动
ls /dev/rknpu
```
### RTSP 流无法播放
### RTSP 测试
```bash
# 在设备上测试播放
# 本地测试
ffplay rtsp://localhost:8555/live/cam1_face_det
# 测试输入源
ffplay rtsp://输入源IP:端口/路径
```
### 端口占用
```bash
# 查看端口占用
sudo ss -tlnp | grep -E "(8554|8555|9000|9100)"
# 远程测试
ffplay rtsp://<设备IP>:8555/live/cam1_face_det
```
---
@ -202,7 +212,4 @@ sudo ss -tlnp | grep -E "(8554|8555|9000|9100)"
- **硬件**: Orange Pi 5 Plus (RK3588)
- **系统**: Ubuntu 22.04 LTS (ARM64)
- **依赖**:
- RKNN Runtime
- MPP (Media Process Platform)
- FFmpeg (带 rkmpp 支持)
- **依赖**: RKNN Runtime, MPP, FFmpeg