Track the real-time movements of Piper (my dog) across multiple rooms and outdoor areas using low-cost RTSP cameras and Roboflow Inference object detection.
| Source | Format | Notes |
|---|---|---|
| RTSP camera feeds (Tapo C100) | rtsp://... | 4 total, each fixed in a room |
| Object detector | Roboflow model | Custom dog detector (fine-tuned) |
| Room metadata | JSON config | Maps camera ID → room |
- Connect to 4 RTSP streams simultaneously
- Sample frames in near real-time
- Run inference using Roboflow-hosted fine-tuned model
- Extract bounding box center + confidence
- Map detections to a room based on camera source
- Snapshot Piper's location for strong confidence predictions
- Display current location of Piper
- Carousel of 5 most recent snapshots
- Activy stream of last 10 predictions
Before running the application, you need to set up two configuration files:
1. MediaMTX Proxy Configuration
Copy mediamtx.sample.yml to mediamtx.yml and configure your RTSP stream settings:
cp mediamtx.sample.yml mediamtx.ymlCopy .env.sample to .env and configure your camera streams:
cp .env.sample .envEdit .env to include your RTSP camera configuration. Example format:
CAM_PROXY_CONFIG=[
{
"name":"office",
"stream_url":"rtsp://host.docker.internal:8554/office"
},
...
]
docker-compose up --buildOpen the React web app at http://localhost:5173.
docker-compose down