Wanyard records any RTSP camera and turns days of footage into encounters you can actually skim. Filter by object and area, preview the whole visit, or swipe through a private detection feed.
git clone https://github.com/blowhacker/wanyard && cd wanyard && docker compose up -d --build
The detector sees frames. Wanyard turns them into visits: one walker, one card; a group moving together, one encounter. Then it gives you three good ways to find the moment.
Choose cameras, object classes and multiple areas. Areas belong to their camera, so “all of the front” and “peanut table in the garden” can coexist.
Hover on desktop or press on touch. The preview follows the detected subject smoothly through the frame and keeps playing for the encounter, not an arbitrary second.
Full-height video on mobile, arrow keys on desktop, and the next encounter preloaded. The URL follows the current item, so the exact moment is shareable.
Wanyard recognises classes such as bird, cat, dog and person. It does not recognise faces, search profiles or upload footage for somebody else to analyse.
Wanyard is opinionated about the boring parts—capture, timestamps, retention and browser playback—so finding the interesting parts feels light.
Watch every camera live over WebRTC. Footage is written as timestamped MP4 segments, ready to scrub, replay and export without a cloud round-trip.
Select the classes worth keeping in settings. YOLO detects them in real time and can backfill recent recordings after an interruption.
Tracking and spatial-temporal grouping join repeated boxes into one useful encounter, while preserving the path needed for a smooth preview.
Use the full recording timeline when you know when, the detection wall when you know what, and the feed when you just want to see what visited.
Keep a chosen number of days or cap disk usage. Wanyard prunes the oldest footage first and never lets the recorder casually eat the drive.
Bring Docker, a footage directory and an RTSP URL. The ingest, recorder, web app and detector come up together; add the GPU override when you want acceleration.
No camera lock-in. No "verified device list." If you can paste a URL that starts with rtsp://, wanyard records it.
+--------+ rtsp +---------+ relay +--------------------+ | camera | ------> | go2rtc | ------> | mediamtx + stamper | +--------+ +----+----+ +-----+--------+-----+ | WebRTC | | v v v +-----+-----+ +--------+ +--------+ | live wall | | MP4 disk | | YOLO | +-----------+ +----+---+ +---+----+ | events | v v +----------------+ | viewer + wall | +----------------+
go2rtc owns the camera connection and serves low-latency WebRTC. MediaMTX relays the recording stream; the stamper carries a frame-accurate clock in SEI metadata. The recorder writes MP4 while YOLO tags the same timeline with detections.
An honest comparison. The other projects in this space are good. Pick the one that matches what you actually want to run.
:8091, and nothing else to configure.
Wanyard needs Docker and a directory to write footage to. That's it. The YOLO model downloads automatically on first run.
# clone, build, run git clone https://github.com/blowhacker/wanyard.git cd wanyard docker compose up --build -d # add your first camera open http://localhost:8091/settings
# enable the gpu override cp docker-compose.gpu.yml \ docker-compose.override.yml docker compose up --build -d # yolo worker now runs on cuda docker compose logs wanyard-yolo
Stop renting your own footage.
git clone https://github.com/blowhacker/wanyard && cd wanyard && docker compose up -d