AI summary
Turn your Android phone into a WiFi camera with live MJPEG streaming to any browser, manual camera controls, and motion/sound detection. Integrates with Home Assistant via MQTT, supports automation through broadcast intents, and offers auto-upload to WebDAV or Telegram. Includes thermal and battery-aware power management, scheduled recording, and a local gallery with remote web access.
Generated by AI. May contain inaccuracies.
About this app
WiFi camera streaming app for Android. Turn your phone into a WIFI camera. Live MJPEG video + audio to your browser, manual exposure/ISO/focus controls, interval photography, scheduled recording, and remote control via embedded web UI.
MQTT alert publishing to any broker with Home Assistant discovery: motion/sound/tamper appear as binary_sensor entities automatically, with retained availability and a last will (offline on ungraceful loss) — see NVR integration On-device detection event log with a live dashboard event feed (thumbnail, type, dispatched actions, zone/ML labels, and a link to the event's recorded clip) — pushed over server-sent events with an automatic polling fallback Automatic deterrence: optional siren and torch auto-trigger on detection, with a configurable cooldown — the siren auto-stops after its duration, while the torch stays on until turned off Automation Broadcast intents for automation apps, adb, and scripts: start/stop streaming, capture a photo, start/stop recording, set torch, set siren — com.raulshma.lenscast.action.*, see automation/AutomationReceiver.kt. Optional extras: enabled (boolean) makes SET_TORCH/SET_SIREN set an explicit on/off state instead of toggling, and durationSeconds (integer) bounds a START_RECORDING clip (0–3600) or auto-stops a SET_SIREN start (a new duration command re-arms the timer, extending a running siren) The receiver is exported but permission-guarded: a sending app must declare <uses-permission android:name="com.raulshma.lenscast.permission.AUTOMATION" /> — a dangerous-level permission, so a helper app must also request it at runtime (like camera access); it is not granted automatically at install. Senders that cannot hold permissions — Tasker/MacroDroid intent actions — can still reach it over adb (adb shell am broadcast, which sends as the exempt shell uid) or from a tiny helper app that declares and runtime-requests the permission Home-screen widget with one-tap stream start/stop and photo capture, kept honest across tile and web toggles Backup Auto-upload new captures to any WebDAV collection (Nextcloud/self-hosted) or Telegram chat (Bot API), with Wi-Fi-only mode and WorkManager-backed retries OS-level cloud backup / device transfer never carries the auth session tokens (auth/sessions.json) or the detection-event log (detection_events.json — its entries embed base64 camera snapshots); both are excluded via backup_rules.xml / data_extraction_rules.xml and stay device-only Self-Update In-app update check against GitHub releases with a SHA-256 digest + APK size integrity gate before install — verification is skipped (the update proceeds unverified) when a release omits the digest Capture One-tap quick photo and video capture Interval/time-lapse photography with configurable interval (1–3600s), total captures, JPEG quality, capture mode, and flash mode Scheduled video recording with quality presets (High/Medium/Low), duration limits, repeat intervals, and optional audio Capture history tracking persisted via DataStore Time-based retention: optional capture and detection-event windows in days (0 = keep forever, else the oldest entries beyond the window are deleted) swept on startup, on every media refresh, and after every append Video recording as a foreground service for reliability Gallery Grid layout with chronological sections Filter by media type (All, Photos, Videos) Selection mode for batch operations Full-screen media viewer with horizontal pager navigation and shared element transitions Video thumbnail extraction via Coil video decoder Share and delete capabilities Also accessible remotely from the Web UI with thumbnail grid and download support Monitoring & Power Management Device thermal state monitoring (Normal → Critical) with automatic quality and frame rate adaptation Battery level monitoring with tiered optimization: auto-reduces quality, bitrate, and resolution as battery drops Power save mode detection and Doze mode awareness Wake lock management for long-duration streaming and recording sessions Battery optimization exemption request for uninterrupted background operation Networking Network change monitoring with real-time connectivity state tracking (WiFi, Cellular, Ethernet, Bluetooth, VPN) Automatic stream URL generation based on device local IP Per-client connection statistics with throughput, latency, and frames-per-second tracking HTTP Range request support for video file streaming in the web gallery
About this version
- Version
- 0.1.0 (1)
- Size
- 4.16 MB
- Requires Android
- 6.0
- Target SDK
- 23
- Architecture
- arm64-v8a, armeabi-v7a, x86, x86_64
- Downloads
- 22
- Updated
- Sep 10, 2026
- Package
- com.raulshma.lenscast
Similar apps
Ratings & reviews
- 50
- 40
- 30
- 20
- 10