209 lines
3.9 KiB
Markdown
209 lines
3.9 KiB
Markdown
# 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
|
||
```
|
||
|
||
安装过程会提示选择**配置文件**:
|
||
- **配置文件**:
|
||
- `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` 查看状态和控制服务。
|
||
|
||
### 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
|
||
```
|
||
|
||
---
|
||
|
||
## 管理命令
|
||
|
||
Agent 统一管理 Media Server,使用以下命令:
|
||
|
||
```bash
|
||
# 启动/停止/重启 Agent(同时会启动/停止 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 管理界面
|
||
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 支持)
|