# OECT-RSTP-NVR **Repository Path**: sunnydodo/OECT-RSTP-NVR ## Basic Information - **Project Name**: OECT-RSTP-NVR - **Description**: 使用网心云OECT录制 RSTP ,将OECT变成网络摄像机。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-10 - **Last Updated**: 2025-07-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ONVIF NVR ![系统架构图](front.png) > 本项目专为部署在网心云 OEC-turbo 平台设计,适用于边缘计算场景下的摄像头集中管理、录像与预览。 > 本项目专为部署在网心云 OEC-turbo 平台设计,适用于边缘计算场景下的摄像头集中管理、录像与预览。 This project is designed for deployment on Wangxin Cloud OEC-turbo platform, suitable for edge computing scenarios requiring centralized camera management, recording, and preview. --- 一个基于 FastAPI + React 的简易 ONVIF 网络录像机(NVR)系统,支持摄像头发现、录像、预览和管理,配有 Web 前端界面。 A simple ONVIF Network Video Recorder (NVR) system based on FastAPI (backend) and React (frontend), supporting camera discovery, recording, preview, and management with a web interface. ![录像文件管理界面](rec_files.png) ## 项目结构 / Project Structure - `backend/`: 后端服务,基于 Python FastAPI,负责摄像头管理、录像、HLS 预览等。 - `main.py`: 主后端服务入口,提供摄像头管理、录像、预览等 API。 - `requirements.txt`: 后端依赖列表。 - `config.json`: 摄像头及全局配置文件。 - `frontend/`: 前端服务,基于 React,提供摄像头管理和预览的用户界面。 - `src/`: 主要前端源码。 - `public/`: 静态资源。 - `package.json`: 前端依赖及脚本。 - `nvr_service.sh`: 一键管理前后端服务的 Shell 脚本。 --- ## 快速开始 / Quick Start ### 将项目部署到 /root 文件夹 ```bash cd /root git clone https://github.com/linlinsunny/OECT-RTSP-NVR.git ``` ### 1. 后端环境准备 / Backend Setup ```bash cd backend python3 -m venv venv source venv/bin/activate pip install -r requirements.txt ``` ### 2. 前端环境准备 / Frontend Setup ```bash cd frontend npm install ``` ### 3. 启动服务(推荐使用 nvr_service.sh)/ Start Services (Recommended) ```bash # 赋予脚本执行权限 / Make script executable chmod +x nvr_service.sh # 启动前后端服务 / Start backend & frontend ./nvr_service.sh start # 查看服务状态 / Check status ./nvr_service.sh status # 停止服务 / Stop services ./nvr_service.sh stop ``` ### 4. 手动启动(可选)/ Manual Start (Optional) - 后端 / Backend:`cd backend && source venv/bin/activate && uvicorn main:app --host 0.0.0.0 --port 8000 --reload` - 前端 / Frontend:`cd frontend && npm start` ## nvr_service.sh 用法说明 / Usage 该脚本用于一键启动、停止、重启和检查 NVR 前后端服务状态,支持如下命令: This script manages backend and frontend services with one command. Supported options: - `./nvr_service.sh start`:启动前后端服务 / Start both backend and frontend - `./nvr_service.sh stop`:停止前后端服务 / Stop both backend and frontend - `./nvr_service.sh restart`:重启前后端服务 / Restart both - `./nvr_service.sh status`:查看服务运行状态 / Check status - `./nvr_service.sh start-backend`:仅启动后端 / Start backend only - `./nvr_service.sh stop-backend`:仅停止后端 / Stop backend only - `./nvr_service.sh start-frontend`:仅启动前端 / Start frontend only - `./nvr_service.sh stop-frontend`:仅停止前端 / Stop frontend only - `./nvr_service.sh help`:显示帮助信息 / Show help 日志文件默认保存在 `/var/log/onvif_backend.log` 和 `/var/log/onvif_frontend.log`。 Log files are saved in `/var/log/onvif_backend.log` and `/var/log/onvif_frontend.log` by default. ### 开机自启 / Auto Start on Boot 如需开机自动运行 NVR 服务,可将如下内容加入 root 用户的 crontab(crontab -e): To auto start NVR service on system boot, add the following line to the root user's crontab: ```bash @reboot /bin/bash /root/nvr_service.sh start ``` > 注意:请根据实际脚本路径调整上述命令。 > Note: Please adjust the script path according to your actual deployment. > 注意:脚本内默认的路径为 `/root/onvif-nvr/`,如有需要请根据实际部署路径修改脚本中的相关目录变量。 > Note: The default path in the script is `/root/onvif-nvr/`. Please modify the script if your deployment path is different. ## 主要功能 / Features - 支持多摄像头管理、自动录像 - Multi-camera management, auto recording - 前端管理摄像头、录像控制 - Web UI for camera management, recording control - 后端 API 支持摄像头增删改查、录像控制、配置管理 - Backend API for camera CRUD, recording control, and config --- 如需详细 API 或二次开发说明,请参考源码注释。 For detailed API or secondary development, please refer to the source code comments.