Records without re-encoding
H.264/H.265 from any RTSP camera, stored as sent. Retention in days. Playback and export via Frigate.
Open source · Raspberry Pi 5 · MIT
A home video recorder for IP cameras on a Raspberry Pi 5 – plus an AI that alerts you to red sunsets, shelf clouds, mammatus, rainbows or lightning while they are happening.
Free. Recording works offline. AI runs on the free tier of Google Gemini.
The installer asks what it needs. Everything else is one admin page in plain language.
Recordings never leave the Pi. Only single snapshots go to the AI.
Everything Atmovio knows is available as JSON. Ready-made YAML for Home Assistant, PHP examples, push to your own website.
New releases appear in the admin. Backup and rollback are automatic.
H.264/H.265 from any RTSP camera, stored as sent. Retention in days. Playback and export via Frigate.
ONVIF discovery and port scan. Every stream is verified for real frames before it is saved. Remote cameras over WireGuard.
A snapshot goes to a vision model every few minutes. Score 0–10 and the phenomena it sees. Dark and unchanged frames are skipped.
E-mail or webhook with the picture. One alert per episode – a 40-minute sunset is one message. Outages are reported too.
Automatically after an alert, or by hand around any detection. Browser playback up to 120×, MP4 download, timelapse.
Disk health in plain words. Storage guard when the drive disappears. Logs with search.
Nothing runs on the Pi. One JPEG goes to a hosted vision model with one question: how interesting is this sky, and which of these phenomena do you see?
One frame per camera every few minutes, more often around sunrise and sunset.
Dark or unchanged frames never reach the model.
The model answers with a 0–10 score, what it sees and one sentence why.
Above your threshold you get one message, not ten.
Raspberry Pi 5 only. Four to six cameras are fine.
| Board | Raspberry Pi 5, 4 GB min., 8 GB recommended |
|---|---|
| System | Raspberry Pi OS Lite 64-bit on SSD or SD card |
| Recordings | USB 3 hard drive. Mbit/s of all cameras × 10.8 ≈ GB per day |
| Power | Official 27 W supply, active cooler |
| Network | Wired Ethernet. Remote cameras over WireGuard |
| Cameras | Any RTSP camera (H.264/H.265), ONVIF preferred |
Flash Raspberry Pi OS Lite, plug in the drive, run the two lines on the right on the Pi (over SSH). The installer downloads from the latest GitHub release, asks for a password, retention, time zone and the disk – and never touches the system disk.
install.sh from the latest release and run it as root.http://<pi-ip>: cameras → disk → alerts → AI key.Plain HTTP by design: keep it in your LAN or behind a VPN. Never expose port 80 to the internet.
Installation guide →curl -fsSL -o install.sh https://github.com/VladimirVecera/atmovio/releases/latest/download/install.sh sudo bash install.sh
install.sh is in its root:git clone https://github.com/VladimirVecera/atmovio.git cd atmovio sudo bash install.sh
♥ Support the project
Server, cameras and AI credits cost money. Any amount helps – QR payment or bank transfer, no registration.
Atmovio is not a closed box. Status, cameras, snapshots, detections and videos are one GET away – and Home Assistant needs no custom component.
Sensors, camera entity and a phone notification with the picture – built-in REST integration, copy the YAML.
rest:
- resource: http://pi/api/v1/status
sensor:
- name: Atmovio disk used
value_template: "{{ value_json.storage.disk_pct }}"
Home Assistant YAML →
Status, cameras, snapshots, detections, videos and events as JSON with API keys. PHP scripts included.
GET /api/v1/status
GET /api/v1/cameras/zahrada/snapshot.jpg
GET /api/v1/detections?limit=5
GET /api/v1/videos
Authorization: Bearer at_…
API reference →
Atmovio pushes status every minute and every alert with its picture to your website. PHP receiver included.
POST https://your-site/webhook.php
{"kind": "sky", "score": 9,
"phenomena": ["cervanky"],
"image": "<base64 jpeg>"}
Webhook docs →
Made by Vladimír Večeřa for his own roof. MIT license. The admin is in Czech for now, the docs are in English and Czech – contributions welcome.
Recording: no. AI and alerts: yes, unless you run Ollama on the Pi.
No. Atmovio is about the sky. Object detection can be enabled in Frigate at the cost of CPU.
Mbit/s of all cameras × 10.8 ≈ GB per day. Four 4 Mbit/s cameras ≈ 1.2 TB a week.
No. Only single snapshots go to the AI provider and to your own webhook if enabled.
Not supported. Previews and AI snapshots are CPU-bound.
It runs in your LAN. Use a VPN for remote access, never port-forward.