Skip to content

Repository files navigation

FloatCam

FloatCam is a lightweight, fully local IP Camera viewer ecosystem. It was originally built as a custom Android app to solve the lack of Picture-in-Picture (PiP) support in standard webcam viewers, but has since evolved into a monorepo supporting Android, Google Chrome, and LG WebOS TVs.

It focuses on zero tracking, zero ads, and pure functionality with a modern, AMOLED Black/Dark UI.

Android App Chrome Extension WebOS TV App

📖 The Origin Story

FloatCam was born out of a practical need: creating a reliable, zero-cost baby monitor. I had a spare Android phone with a broken screen lying around and decided to repurpose it into a camera server using the fantastic IP Webcam app.

While the camera server worked flawlessly, I couldn't find a viewer app that completely fit my needs. Standard viewers lacked modern features like Picture-in-Picture (PiP) and seamless background audio for when the phone screen is turned off. I wanted an app that allowed me to hear and see the baby monitor while texting or browsing, without draining battery unnecessarily.

Thus, FloatCam was built. Over time, it expanded from a simple Android viewer into a full ecosystem covering desktop browsers and LG smart TVs, allowing me to keep an eye on the baby from any device in the house.

Supported Platforms

📱 Android

Built with Kotlin, Jetpack Compose, and Media3.

  • Picture-in-Picture (PiP): Supports both manual (floating button) and automatic (swiping home) PiP mode.
  • Background Play: Employs a Foreground Service (KeepAliveService) and WakeLocks to ensure your audio and stream connection stay alive even when you turn off the phone screen.
  • Auto-Reconnect: Automatically re-establishes the video stream connection when the app wakes up from a suspended state.

💻 Chrome Extension

A desktop browser solution that acts as a Picture-in-Picture viewer.

  • Persistent View: Monitor your camera stream in a floating window while browsing other tabs.
  • Lightweight: Pure HTML/CSS/JS with zero heavy frameworks.

📺 LG WebOS TV

A native .ipk application for LG TVs running WebOS.

  • Full Screen Viewing: Automatically scales your camera feed to fit the TV screen perfectly.
  • Remote Control Friendly: Optimized for Magic Remote interactions.

Core Features (All Platforms)

  • MJPEG Video Streaming: Optimized to render MJPEG streams flawlessly with zero native buffering lag.
  • Headless Audio: Seamlessly streams .wav audio alongside the video feed.
  • On-the-fly Configuration: Change your camera's IP address and base URL dynamically from within the app.
  • Zero Ads & Telemetry: Absolutely zero external tracking SDKs. It only communicates over your local network.

Stream Configuration

By default, the apps attempt to connect to:

  • Base URL: http://192.168.1.35:8080
  • Video Stream: /video endpoint
  • Audio Stream: /audio.wav endpoint

Cloud Build & Releases (GitHub Actions)

FloatCam is configured with a unified GitHub Actions workflow (.github/workflows/build.yml) that compiles and packages all three applications in the cloud automatically.

  1. Push your changes to the main or master branch.
  2. The workflow will run and generate:
    • app-release.apk (Android)
    • FloatCam-ChromeExtension.zip (Chrome)
    • com.floatcam.viewer_1.0.X_all.ipk (WebOS)
  3. The WebOS and Chrome Extension version numbers are automatically synchronized with the GitHub Run Number for seamless upgrades.
  4. Download the compiled artifacts directly from the Releases tab on GitHub!

About

local cctv viewer android without ads since it local with PiP feature

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages