This repository contains two main components:
- A FastAPI backend, running on a Raspberry Pi connected to a Reolink PTZ camera, handling camera control and live streaming with FFmpeg.
- A Dash-based frontend app, providing an easy web interface to control the camera remotely.
The FastAPI app is responsible for controlling the Reolink camera and managing the video stream using FFmpeg (no MediaMTX required).
π To set it up:
- Install
ffmpegon the Pi. - Configure your
.envfile with the camera login details. - Launch the FastAPI server.
Once running, the API will be accessible at:
http://<pi_ip>:8000
You can interact with the API via Swagger UI at:
http://<pi_ip>:8000/docs
This is the visualization and remote control interface for your camera.
Open the file:
platform/app.py
And update the Pi IP address:
TARGET_IP = "<your-pi-ip>"From the platform/ folder, install Python packages:
pip install -r requirements.txtpython app.pyThen open your browser at:
http://127.0.0.1:8050
You will be able to view the video stream and control the camera movements and zoom.
- Raspberry Pi connected to a Reolink PTZ camera
- Python 3.11+
- FFmpeg installed on the Raspberry Pi
- Local machine to run the Dash frontend