luneto
CH01CH02CH03living roomkitchengaragebackyardstreet1 : 100

Your cameras, on your machine.

Luneto finds the IP cameras on your network, shows them all live and controls them over ONVIF. No account, no cloud, no password ever leaves your device.

First frame
in hundreds of milliseconds, not tens of seconds
Protocols
ONVIF, RTSP and XM/Sofia DVRIP
Runs on
Windows, Linux, macOS, Android and iOS
Servers of ours
none
Languages
English, Portuguese, Spanish

Every camera on one screen

Frames per second, bitrate and resolution are read from the stream itself, not guessed. When a camera freezes, Luneto notices and reconnects on its own; when a main stream is unstable, it falls back to the sub stream and tells you.

Nothing leaves your network

Luneto is a client, not a service. It talks to the cameras on your LAN and to nothing else — there is no server of ours to sign up for, pay for or trust.

camera 1camera 2camera 3your routerdesktopphoneinternet
Passwords stay on the deviceSaved in a file only your user account can read, written atomically. They are stripped from every log line before it is written.
Video is decoded locallyThe stream goes from the camera to your screen through a media server on 127.0.0.1. It is never uploaded.
No telemetry, no analyticsThe app contains no tracking SDK. The privacy policy is a factual description of the binary, and you can check it.

Works with the cameras you already have

ONVIFDiscovery, live video, pan/tilt with presets, image, encoder, relay and clock. Talks to the secure-mode firmwares (Digest and WS-Security) and tolerates the namespace quirks of cheap ones.
RTSPVideo from any camera that streams. When there is no ONVIF, Luneto probes the known stream paths by brand — the bare IP is usually enough.
DVRIPThe XM/Sofia protocol of low-cost cameras. Human detection and tracking, which those firmwares never expose over ONVIF.

Download

Desktop builds are published on GitHub Releases. Mobile versions arrive through Google Play and the App Store.