A web-based application for managing video files and streaming them via RTSP protocol. Upload MP4 files through a modern React frontend and stream them using FFmpeg.
- 📁 Video file upload with drag & drop support
- 📺 RTSP stream management (start/stop)
- 🎨 Professional light/dark theme toggle
- 🗃️ SQLite database for video metadata
- React + TypeScript
- Material-UI
- Custom theme system
- FastAPI + Python
- SQLite
- FFmpeg for RTSP streaming
- Docker & Docker Compose
- Docker & Docker Compose
One-click RTSP stream activation
RTSP streaming play with media player
# Clone this repository
cd video-file-rtsp-streamer
docker compose up --build
# or
docker-compose up --buildThe application will be available at:
- Frontend: http://localhost:3000
- Backend API Document: http://localhost:8000/docs
- RTSP Streams:
rtsp://localhost:8554/stream/{video_id}
- Start all services using docker
- Access http://localhost:3000 in your browser
- Upload MP4 files.
- Start RTSP streams for uploaded videos
- Play streams via ffplay, VLC or any RTSP client
- backend: FastAPI server with SQLite database
- frontend: React development server
- rtsp-server: MediaMTX RTSP streaming server
This project is licensed under the MIT License.
Third-Party Dependencies:
- FFmpeg (LGPL/GPL) - External process for RTSP streaming
- Not distributed with this project
- Used as external subprocess (no linking)
- MediaMTX (MIT) - Docker container for RTSP server
- No GPL/LGPL code is embedded or statically linked in this project
Users are responsible for complying with FFmpeg's license terms in their own deployments.
-
Implement persistent volume for database
- ✅ SQLite data persistence across container restarts
- ✅ Prevent data loss on container recreation
-
Enhanced stream status management
- ✅ Check streaming status using database flags
- ✅ Display real-time stream status in video list
- ✅ Show RTSP URI for active streams in table
-
Stream monitoring
- Health check for active RTSP streams
- Auto-restart failed streams
- Stream analytics and logging
-
User experience improvements
- Video preview thumbnails
- Batch upload support
- Download/export functionality
- Production deployment
- CI/CD pipeline setup
- Docker production optimizations
- Environment-specific configurations
- Monitoring and logging setup

