package icon

LensCast

Turn your phone into a networked camera: web, MJPEG and RTSP streaming
New in version 0.1.7
Since 0.1.6:
• UnifiedPush: detection alerts can now reach a paired Android receiver through a UnifiedPush distributor - opt-in, end-to-end encrypted, and independent of browser Web Push
• The web server now stays foreground between streams, so alert delivery is not blocked by Android's background-network firewall (adds only the normal FOREGROUND_SERVICE_CONNECTED_DEVICE permission)
• HTTPS: toggling no longer fails with address-in-use, open dashboards follow the switch to the new scheme and por
LensCast turns your Android device into a networked camera station with professional controls, remote web access, interval photography, and scheduled recording.

Camera
• Live preview with a professional quick settings bar
• Manual controls: exposure compensation, ISO, white balance, focus mode, zoom
• Multi-lens support (ultra-wide, wide, telephoto) with runtime lens switching
• HDR, image stabilization, resolution up to 4K, frame rate 15–60 fps
• Photo capture and video recording
• Night vision / IR mode, scene modes, manual focus distance, color temperature

Live streaming
• Real-time MJPEG video streaming to any web browser on the same network
• Low-latency in-browser playback (WebCodecs over WebSocket) with automatic fallback to MJPEG and HLS
• RTSP streaming with AAC audio and H.264/H.265 video at 480p/720p/1080p for VLC, OBS, and NVRs
• ONVIF Profile S device service (off by default) so NVRs such as Home Assistant can discover the camera
• HTTPS mode with a self-signed on-device certificate

Web dashboard
• Watch the live stream, browse and download photos and recordings
• Full remote control of camera and stream settings
• Optional password authentication

Automation
• Object detection gate (optional): the open-source EfficientDet-Lite0 model — Apache-2.0, downloaded on demand with a pinned SHA-256 from TensorFlow's official hosting — triggers MQTT alerts or recording when configured objects appear
• Sound-event gate (optional): the open-source YAMNet model — Apache-2.0, also downloaded on demand with a pinned SHA-256 — triggers alerts or recording when configured sounds are detected
• Interval photography and scheduled or continuous recording
• Quiet hours for notifications

Optional network services (all off by default; each runs only when you enable and configure it)
• Telegram backup: auto-uploads new captures to the Telegram chat you choose (api.telegram.org)
• Web Push notifications: delivers encrypted detection alerts through your browser vendor's push service (such as Google's FCM or Mozilla's autopush)
• Model downloads: the optional detection models above are fetched on demand from TensorFlow's official hosting on Google Cloud storage
• STUN server for WebRTC streaming (WHIP push / WHEP viewing): blank by default, so streaming stays on your local network without contacting any third-party server

No ads, no tracking, no cloud defaults. All processing stays on your device; the web dashboard is served by a built-in HTTP server on your local network.

Note: the F-Droid build ships without the in-app self-updater; updates come from F-Droid.

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 0.1.7 (1073) suggested Added on Oct 27, 2026

    x86_64

    This version requires Android 6.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • android.permission.BIND_QUICK_SETTINGS_TILE
    • take pictures and videos
      This app can take pictures and record videos using the camera while the app is in use.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "camera"
      Allows the app to make use of foreground services with the type "camera"
    • run foreground service with the type "connectedDevice"
      Allows the app to make use of foreground services with the type "connectedDevice"
    • run foreground service with the type "microphone"
      Allows the app to make use of foreground services with the type "microphone"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • read image files from shared storage
      Allows the app to read image files from your shared storage.
    • read video files from shared storage
      Allows the app to read video files from your shared storage.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • record audio
      This app can record audio using the microphone while the app is in use.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • com.raulshma.lenscast.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
    • com.raulshma.lenscast.permission.AUTOMATION

    Download APK 30 MiB PGP Signature | Build Log

  • Version 0.1.7 (1072) - Added on Oct 27, 2026

    arm64-v8a

    This version requires Android 6.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • android.permission.BIND_QUICK_SETTINGS_TILE
    • take pictures and videos
      This app can take pictures and record videos using the camera while the app is in use.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "camera"
      Allows the app to make use of foreground services with the type "camera"
    • run foreground service with the type "connectedDevice"
      Allows the app to make use of foreground services with the type "connectedDevice"
    • run foreground service with the type "microphone"
      Allows the app to make use of foreground services with the type "microphone"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • read image files from shared storage
      Allows the app to read image files from your shared storage.
    • read video files from shared storage
      Allows the app to read video files from your shared storage.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • record audio
      This app can record audio using the microphone while the app is in use.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • com.raulshma.lenscast.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
    • com.raulshma.lenscast.permission.AUTOMATION

    Download APK 27 MiB PGP Signature | Build Log

  • Version 0.1.7 (1071) - Added on Oct 27, 2026

    armeabi-v7a

    This version requires Android 6.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • android.permission.BIND_QUICK_SETTINGS_TILE
    • take pictures and videos
      This app can take pictures and record videos using the camera while the app is in use.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "camera"
      Allows the app to make use of foreground services with the type "camera"
    • run foreground service with the type "connectedDevice"
      Allows the app to make use of foreground services with the type "connectedDevice"
    • run foreground service with the type "microphone"
      Allows the app to make use of foreground services with the type "microphone"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • read image files from shared storage
      Allows the app to read image files from your shared storage.
    • read video files from shared storage
      Allows the app to read video files from your shared storage.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • record audio
      This app can record audio using the microphone while the app is in use.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • com.raulshma.lenscast.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
    • com.raulshma.lenscast.permission.AUTOMATION

    Download APK 19 MiB PGP Signature | Build Log

  • New in version 0.1.6
    Since 0.1.5:
    • Localization: the camera dashboard is now fully translated — the Web/RTSP stream buttons' screen-reader labels, the thermal warning banner, the server status line, the quality badge, and the connection stats panel were still hardcoded in English
    • Proper plurals in every language: "2 viewers connected" instead of "2 viewer(s) connected", with correct Russian and Chinese plural forms
    • No other changes — this release carries no new permissions, no new network endpoints, and no beha
  • Version 0.1.6 (1063) - Added on Oct 12, 2026

    x86_64

    This version requires Android 6.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • android.permission.BIND_QUICK_SETTINGS_TILE
    • take pictures and videos
      This app can take pictures and record videos using the camera while the app is in use.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "camera"
      Allows the app to make use of foreground services with the type "camera"
    • run foreground service with the type "microphone"
      Allows the app to make use of foreground services with the type "microphone"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • read image files from shared storage
      Allows the app to read image files from your shared storage.
    • read video files from shared storage
      Allows the app to read video files from your shared storage.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • record audio
      This app can record audio using the microphone while the app is in use.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • com.raulshma.lenscast.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
    • com.raulshma.lenscast.permission.AUTOMATION

    Download APK 30 MiB PGP Signature | Build Log

  • Version 0.1.6 (1062) - Added on Oct 12, 2026

    arm64-v8a

    This version requires Android 6.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • android.permission.BIND_QUICK_SETTINGS_TILE
    • take pictures and videos
      This app can take pictures and record videos using the camera while the app is in use.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "camera"
      Allows the app to make use of foreground services with the type "camera"
    • run foreground service with the type "microphone"
      Allows the app to make use of foreground services with the type "microphone"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • read image files from shared storage
      Allows the app to read image files from your shared storage.
    • read video files from shared storage
      Allows the app to read video files from your shared storage.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • record audio
      This app can record audio using the microphone while the app is in use.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • com.raulshma.lenscast.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
    • com.raulshma.lenscast.permission.AUTOMATION

    Download APK 27 MiB PGP Signature | Build Log

  • Version 0.1.6 (1061) - Added on Oct 12, 2026

    armeabi-v7a

    This version requires Android 6.0 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • android.permission.BIND_QUICK_SETTINGS_TILE
    • take pictures and videos
      This app can take pictures and record videos using the camera while the app is in use.
    • allow Wi-Fi Multicast reception
      Allows the app to receive packets sent to all devices on a Wi-Fi network using multicast addresses, not just your phone. It uses more power than the non-multicast mode.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "camera"
      Allows the app to make use of foreground services with the type "camera"
    • run foreground service with the type "microphone"
      Allows the app to make use of foreground services with the type "microphone"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • read the contents of your shared storage
      Allows the app to read the contents of your shared storage.
    • read image files from shared storage
      Allows the app to read image files from your shared storage.
    • read video files from shared storage
      Allows the app to read video files from your shared storage.
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • record audio
      This app can record audio using the microphone while the app is in use.
    • ask to ignore battery optimizations
      Allows an app to ask for permission to ignore battery optimizations for that app.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • modify or delete the contents of your shared storage
      Allows the app to write the contents of your shared storage.
    • com.raulshma.lenscast.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
    • com.raulshma.lenscast.permission.AUTOMATION

    Download APK 19 MiB PGP Signature | Build Log