Old Bird

Self-hosted IP webcam for Android

Old Bird turns a spare Android phone into a private security camera. Camera, microphone, recording and motion alerts — all hosted on the phone itself, with no cloud account required.

Coming soon on Google Play What it does →

At a glance

HTTPS viewer
Embedded browser viewer over TLS. Open the phone's address; the page is served from the device.
MJPEG + audio
Live video at any resolution your camera supports, plus 16 kHz mono PCM audio.
RTSP server
H.264 + AAC over RTP/UDP. Plug into VLC, ffmpeg, Frigate or Scrypted.
On-device recording
MP4 segments saved in the phone's app storage with a configurable ring buffer.
WebDAV upload
Hands finalised segments off to your own WebDAV server — Nextcloud, NAS, or anything compatible.
Motion detection
On-device frame differencing with one sensitivity knob. Fires a webhook and starts a clip.
Webhook providers
ntfy, Slack, Discord, Telegram, Generic JSON, or a fully custom template.
Internet access
Optional reverse SSH tunnel with a Google sign-in to register the camera with your viewer.
LAN-only by default
IP allowlist denies anything outside RFC 1918, link-local, ULA, CGNAT and Tailscale ranges.

Why

Old phones make great stationary cameras. Decent sensors, built-in batteries, always plugged in, already on Wi-Fi. But every IP-camera app insists on a cloud account, an in-app subscription, or a vendor portal. Old Bird does the opposite: the phone is the server, your LAN is the network, and your password lives only on the device.

The whole codebase fits in a single directory. Settings persist in SharedPreferences and are the single source of truth across the in-app UI, the web viewer, and the HTTP API. Everything reconfigures live — no service restarts.

Documentation

Features
Architecture, camera and encoder pipeline, recording, motion detection, RTSP, the optional internet tunnel.
Read →
Settings reference
Every preference category — Access, Service, Video, Recording, WebDAV, Motion, Wi-Fi, RTSP, Internet access — with defaults and live-update behaviour.
Read →
Integrations
RTSP players, NVR software, WebDAV servers, motion alert providers, the HTTP API.
Read →
Privacy policy
What Old Bird does and does not collect. (Spoiler: nothing.)
Read →

Tested on

Sony Xperia XZ1 Compact (Android 8.0, arm64-v8a) is the primary test device. Old Bird's minimum is Android 8.0 (API 26). It should run on any device with a Camera2-compatible HAL; Camera2 quirks vary by SoC and are documented in the project's gotchas.