OrangePi3588Media/docs/deployment.md

4.1 KiB
Raw Blame History

RK3588 Media Server 部署指南

快速开始

1. 编译

在 RK3588 设备上编译:

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. 安装

使用统一脚本安装:

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. 查看状态

sudo ./scripts/manage.sh status

显示内容:

  • 系统运行时间
  • NPU 负载
  • Media Server 状态PID、CPU/内存、端口)
  • Agent 状态(如果安装)
  • 最近日志

4. 卸载

sudo ./scripts/manage.sh uninstall

卸载会:

  1. 停止所有服务
  2. 删除 systemd 服务文件
  3. 自动备份配置文件和模型到 /root/rk3588-backup-时间戳/
  4. 提示是否删除安装目录

升级

升级步骤与安装相同,脚本会自动处理:

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

管理命令

独立模式

# 启动/停止/重启
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 模式

# 启动/停止/重启
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

配置修改

编辑配置文件:

sudo nano /opt/rk3588-media-server/etc/media-server.json

常用修改:

  • 修改 RTSP 输入源:找到 input_rtsp 节点,修改 url 字段
  • 修改输出端口:找到 publish 节点,修改 port 字段

修改后重启服务:

# 独立模式
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

故障排查

服务无法启动

# 查看详细错误
sudo journalctl -u media-server -n 50
# 或
sudo journalctl -u rk3588-agent -n 50

检查 NPU 是否正常

# 查看 NPU 负载
cat /sys/kernel/debug/rknpu/load

# 查看 NPU 驱动
ls /dev/rknpu

RTSP 流无法播放

# 在设备上测试播放
ffplay rtsp://localhost:8555/live/cam1_face_det

# 测试输入源
ffplay rtsp://输入源IP:端口/路径

端口占用

# 查看端口占用
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 支持)