safesight-edge/docs/deployment.md

225 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# RK3588 Media Server 部署指南
## 快速开始
### 1. 编译
在 RK3588 设备上编译:
```bash
cd ~/apps/OrangePi3588Media
# 编译 Media Server
mkdir -p build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
# 编译 Agent可选用于 Web 管理)
cd ../agent
GOOS=linux GOARCH=arm64 go build -o rk3588-agent_linux_arm64 ./cmd
```
### 2. 安装
使用统一脚本安装:
```bash
cd ~/apps/OrangePi3588Media
sudo ./scripts/manage.sh install
```
安装过程会提示:
- **运行模式**
- `独立模式` - Media Server 由 systemd 直接管理
- `Agent 模式` - Media Server 由 Agent 管理(推荐,支持 Web 界面)
- **配置文件**
- `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. 查看状态
```bash
sudo ./scripts/manage.sh status
```
显示内容:
- 系统运行时间
- NPU 负载
- Media Server 状态PID、CPU/内存、端口)
- Agent 状态(如果安装)
- 最近日志
### 4. 卸载
```bash
sudo ./scripts/manage.sh uninstall
```
卸载会:
1. 停止所有服务
2. 删除 systemd 服务文件
3. 自动备份配置文件和模型到 `/root/rk3588-backup-时间戳/`
4. 提示是否删除安装目录
---
## 升级
升级步骤与安装相同,脚本会自动处理:
```bash
cd ~/apps/OrangePi3588Media
# 1. 拉取最新代码(如果是 git 仓库)
git pull
# 2. 重新编译
mkdir -p build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
# 3. 重新安装(会自动备份旧配置)
cd ..
sudo ./scripts/manage.sh install
```
---
## 管理命令
### 独立模式
```bash
# 启动/停止/重启
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
# 启动/停止/重启
sudo systemctl start rk3588-agent
sudo systemctl stop rk3588-agent
sudo systemctl restart rk3588-agent
# 查看状态
sudo systemctl status rk3588-agent
# 查看日志
sudo journalctl -u rk3588-agent -f
# Web 管理界面
http://<设备IP>:9100
```
---
## 配置修改
编辑配置文件:
```bash
sudo nano /opt/rk3588-media-server/etc/media-server.json
```
常用修改:
- **修改 RTSP 输入源**:找到 `input_rtsp` 节点,修改 `url` 字段
- **修改输出端口**:找到 `publish` 节点,修改 `port` 字段
修改后重启服务:
```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/ # 依赖库
├── etc/
│ └── media-server.json # 配置文件
├── models/ # AI 模型
├── logs/ # 日志目录
└── web/hls/ # HLS 输出目录
/opt/rk3588-agent/ # Agent 安装目录(如果使用)
├── rk3588-agent
└── agent.config.json
```
---
## 故障排查
### 服务无法启动
```bash
# 查看详细错误
sudo journalctl -u media-server -n 50
# 或
sudo journalctl -u rk3588-agent -n 50
```
### 检查 NPU 是否正常
```bash
# 查看 NPU 负载
cat /sys/kernel/debug/rknpu/load
# 查看 NPU 驱动
ls /dev/rknpu
```
### RTSP 流无法播放
```bash
# 在设备上测试播放
ffplay rtsp://localhost:8555/live/cam1_face_det
# 测试输入源
ffplay rtsp://输入源IP:端口/路径
```
### 端口占用
```bash
# 查看端口占用
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 支持)