# 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 支持)