Repolode
samlu

samlu/CamMonitor

An Android app that turns a spare phone into a private home security camera, streaming peer-to-peer to a viewer phone with no accounts or cloud servers.

Open-source alternative to:Nest CamRing

Stars
137
Forks
25
Open issues
2
Last commit
4 days ago

What is it?

CamMonitor runs in two modes: Camera Mode on a spare Android phone that captures 720p video and audio, and Viewer Mode on your everyday phone to watch the live feed. The two devices are paired once by scanning an encrypted QR code, after which they connect directly over Wi-Fi or mobile data using WebRTC, so no video passes through a third-party server.

The app is built around hardware longevity. It is an on-demand live monitor rather than a 24/7 recorder: the camera screen blacks out after a minute of inactivity, and the sensor enters standby when no viewer is connected. Continuous recording and on-device object detection are intentionally left out, though the codebase can be extended for them.

The viewer can switch night mode, toggle the camera's torch, rotate the image in 90° steps, and talk back through push-to-talk. A single viewer can pair with up to eight cameras, and one camera can serve two viewers at once.

Key features

  • 01Zero-account pairing through a one-time encrypted QR code.
  • 02End-to-end encrypted P2P streaming with ECDSA device keys and AES-256-GCM.
  • 03Streams 720p video and audio, with up to two viewers per camera.
  • 04Remote night mode, torch control, and rotation from the viewer.
  • 05Push-to-talk intercom and battery level monitoring for both devices.
  • 06Auto-standby and OLED black screen to save battery.

Use cases

  • Watching a front door, living room, or baby's room with an old Android phone.
  • Monitoring several locations from one phone without subscribing to a cloud camera service.
  • Talking to someone at the camera location through the push-to-talk intercom.

Quick start

  1. 1

    On the camera phone, open CamMonitor and tap Start Camera Mode to show the pairing QR code

  2. 2

    On the viewer phone, open CamMonitor, tap Start Viewer Mode, and scan the QR code to pair

  3. 3

    On the viewer phone, tap Start Viewer Mode and select a paired camera to watch the live feed

Things to know

  • Android only, requiring Android 9.0 or higher on both phones.
  • It is a live monitor, not a 24/7 recorder, and has no built-in object or motion detection.
  • Both phones need an active network connection, and it needs two Android devices.

In collections

Topics

FAQ

What is CamMonitor?
An Android app that turns a spare phone into a private home security camera, streaming peer-to-peer to a viewer phone with no accounts or cloud servers. CamMonitor runs in two modes: Camera Mode on a spare Android phone that captures 720p video and audio, and Viewer Mode on your everyday phone to watch the live feed. The two devices are paired once by scanning an encrypted QR code, after which they connect directly over Wi-Fi or mobile data using WebRTC, so no video passes through a third-party server.
Is CamMonitor free to use? What license does it have?
CamMonitor is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is CamMonitor still maintained?
Actively maintained. The last commit to CamMonitor was on Nov 3, 2026.
What can I use CamMonitor for?
Watching a front door, living room, or baby's room with an old Android phone. Monitoring several locations from one phone without subscribing to a cloud camera service. Talking to someone at the camera location through the push-to-talk intercom.
How do I install CamMonitor?
On the camera phone, open CamMonitor and tap Start Camera Mode to show the pairing QR code On the viewer phone, open CamMonitor, tap Start Viewer Mode, and scan the QR code to pair On the viewer phone, tap Start Viewer Mode and select a paired camera to watch the live feed
Where can I get CamMonitor?
The source code and installation instructions are on GitHub: https://github.com/samlu/CamMonitor

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects