Skip to content
Prime3vilPublic

About

Tactical geospatial surveillance console mapping over 22,000+ live public CCTV streams, webcams, traffic cameras, and harbor feeds across the globe on Android, Linux, Windows, and macOS.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

πŸ“Ή CCTV // Global Reconnaissance & Live Surveillance

License: MIT Platforms Active Feeds Tech Stack Interface

A tactical geospatial surveillance console mapping over 22,000+ live public CCTV streams, webcams, traffic cameras, and harbor feeds across the globe on Android, Linux, Windows, and macOS.


🌍 Overview

CCTV is an open reconnaissance console that aggregates, verifies, and plots thousands of publicly accessible live video feeds across the globe onto an interactive geospatial map. From major metropolitan traffic networks and international harbors to research stations, coastlines, and public squares, CCTV gives you real-time visual situational awareness from anywhere on Earth.


✨ Features

  • 🌐 Massive Global Feed Database:
    • Over 22,000+ active live video endpoints mapped with precise GPS coordinates.
    • Global coverage across 150+ countries, including traffic cams, coastal cams, airport runways, and weather stations.
  • πŸ—ΊοΈ High-Performance Geospatial Map:
    • Powered by Leaflet and optimized MarkerCluster algorithms to render tens of thousands of pins smoothly at 60 FPS without UI hitching.
    • Interactive clustering, custom tactical pin icons, and automatic cluster expansion on zoom.
  • πŸ“Ί Universal Live Stream Player:
    • Plays direct HLS (.m3u8) video streams with auto-recovery and fallback support.
    • Native embedding support for YouTube Live, EarthCam, HDOnTap, Ozolio, WetMet, and direct webcam streams.
    • Theater mode with full-screen playback and camera metadata overlay.
  • πŸ” Instant Tactical Search:
    • Search by city, country, landmark, provider, or coordinates.
    • Quick-focus shortcut (/) for rapid keyboard navigation.
  • 🐍 Data Curation & Pipeline Tooling (scripts/):
    • Automated Python utilities to scrape, deduplicate, validate HTTP stream status, and curate new camera networks.
  • πŸ“± 4-Platform Native Support:
    • Android: Native Kotlin application with hardware-accelerated WebView and mobile UI scaling.
    • Linux: Standalone desktop app for Linux (Fedora KDE Plasma, Ubuntu, Arch).
    • Windows: Native Windows 10/11 x64 application with system tray minimization.
    • macOS: Universal desktop client with native builds for both Apple Silicon (M-series) and Intel processors.

πŸ—οΈ Architecture

CCTV/
β”œβ”€β”€ app/                  # Android Native Client (Kotlin, Jetpack, Hardware WebView)
β”‚   β”œβ”€β”€ src/main/java/    # Android bridge & activity lifecycle
β”‚   └── src/main/assets/  # Bundled core web assets & database
β”œβ”€β”€ Linux app/            # Linux Desktop Client (Electron)
β”‚   β”œβ”€β”€ main.js           # Electron lifecycle & window management
β”‚   β”œβ”€β”€ preload.js        # IPC communication bridge
β”‚   └── src/              # Packaged application sources & map engine
β”œβ”€β”€ Windows app/          # Windows Desktop Client (Electron)
β”‚   β”œβ”€β”€ main.js           # Electron lifecycle & Windows tray integration
β”‚   └── preload.js        # IPC communication bridge
β”œβ”€β”€ Mac app/              # macOS Desktop Client (Electron)
β”‚   β”œβ”€β”€ main.js           # macOS dock & window handlers
β”‚   └── preload.js        # IPC communication bridge
β”œβ”€β”€ scripts/              # Data Curation & Verification Pipelines
β”‚   β”œβ”€β”€ curate_all_sources.py          # Multi-source stream aggregator
β”‚   β”œβ”€β”€ curate_cctv_cams.py            # Primary camera database manager
β”‚   β”œβ”€β”€ update_and_prioritize_feeds.py # Feed health & priority ranker
β”‚   └── validate_and_filter_feeds.py   # Dead stream validation scanner
└── cctv_cameras.json     # Master database of 22,000+ CCTV camera endpoints

πŸš€ Installation & Setup

1. Android (app/)

Requirements: Android Studio or Android SDK (API 34+), Java 17+.

# Debug build:
./gradlew assembleDebug

# Release build:
./gradlew assembleRelease

# Output APK: app/build/outputs/apk/release/app-release.apk

2. Linux Desktop (Linux app/)

Requirements: Node.js 18+ and npm.

cd "Linux app"

# Install dependencies:
npm install

# Run in development mode:
npm start

# Build packaged distributable:
npm run dist:linux

3. Windows Desktop (Windows app/)

Requirements: Node.js 18+ and npm.

cd "Windows app"

# Install dependencies:
npm install

# Run in development mode:
npm start

# Build packaged distributable:
npm run dist:win

4. macOS Desktop (Mac app/)

Requirements: macOS 12+, Node.js 18+, and npm.

cd "Mac app"

# Install dependencies:
npm install

# Run in development mode:
npm start

# Build packaged distributable:
npm run dist:mac

5. Running the Data Pipelines (scripts/)

Requirements: Python 3.10+.

cd scripts

# Validate active stream endpoints:
python3 validate_and_filter_feeds.py

# Re-curate database from all sources:
python3 curate_all_sources.py

πŸ“¦ Pre-Built Binaries

Packaged installers and portable archives are available under Releases:

  • Android: CCTV.apk (Universal APK)
  • Linux (x64): CCTV-Linux-x64.zip
  • Windows (x64): CCTV-Windows-x64.zip
  • macOS (Apple Silicon): CCTV-Mac-AppleSilicon-arm64.zip
  • macOS (Intel): CCTV-Mac-Intel-x64.zip

πŸ–±οΈ GUI Installation Guide (Pre-Built Apps)

Follow the simple visual instructions below to install and launch CCTV through your operating system's graphical interface:

πŸ€– Android (CCTV.apk)

  1. Download CCTV.apk from Releases directly on your device (or download to PC and transfer via USB).
  2. Open your device's Files or Downloads app and tap CCTV.apk.
  3. If Android displays "For your security, your phone is not allowed to install unknown apps from this source":
    • Tap Settings in the prompt.
    • Toggle "Allow from this source" ON.
    • Tap the back arrow.
  4. Tap Install and wait for the installer to finish.
  5. Tap Open to launch CCTV directly, or tap the CCTV icon in your app drawer.

πŸͺŸ Windows (CCTV-Windows-x64.zip)

  1. Download CCTV-Windows-x64.zip from Releases.
  2. Locate the downloaded file in Windows File Explorer (in your Downloads folder).
  3. Right-click CCTV-Windows-x64.zip -> select Extract All... -> click Extract.
  4. Open the extracted CCTV-win32-x64 folder.
  5. Double-click CCTV.exe to launch the console.
  6. (First Launch / SmartScreen): If Windows SmartScreen displays "Windows protected your PC":
    • Click "More info".
    • Click "Run anyway".
  7. (Optional Desktop Shortcut): Right-click CCTV.exe -> Show more options -> Send to -> Desktop (create shortcut).

🍎 macOS (CCTV-Mac-AppleSilicon-arm64.zip / CCTV-Mac-Intel-x64.zip)

  1. Download the correct archive from Releases:
    • CCTV-Mac-AppleSilicon-arm64.zip: For Apple Silicon (M1, M2, M3, M4) Macs.
    • CCTV-Mac-Intel-x64.zip: For Intel-based Macs.
  2. In Finder, double-click the .zip file to extract it.
  3. Open the extracted folder and drag CCTV.app into your Applications folder (/Applications).
  4. Launch CCTV from your Applications folder, Launchpad, or Spotlight (Cmd + Space).
  5. (First Launch / Gatekeeper Approval):
    • If macOS displays "CCTV cannot be opened because the developer cannot be verified":
      • Option 1: Right-click (or Control-click) CCTV.app in Finder -> choose Open -> click Open in the dialog.
      • Option 2: Go to System Settings -> Privacy & Security, scroll down to the Security section, and click "Open Anyway".

🐧 Linux Desktop (CCTV-Linux-x64.zip)

  1. Download CCTV-Linux-x64.zip from Releases.
  2. Open your desktop file manager (Dolphin in KDE, Nautilus / Files in GNOME) and right-click the .zip file -> choose Extract Here (or Extract Archive).
  3. Open the extracted CCTV-linux-x64 folder.
  4. Enable executable permission:
    • Right-click the CCTV binary -> select Properties.
    • Navigate to the Permissions tab.
    • Check the box "Is executable" (KDE) or "Allow executing file as program" (GNOME).
    • Click OK.
  5. Double-click CCTV to launch!
  6. (Optional System Menu Integration): To integrate into your desktop application menu (Kickoff / Application Grid), open a terminal in Linux app and run ./install.sh to install desktop icons and .desktop launchers automatically.

πŸ›‘οΈ Disclaimer

All video feeds indexed in this repository are publicly accessible streams openly broadcasted over the internet by municipal transport departments, public harbor authorities, ski resorts, weather stations, and research centers. No private or password-protected streams are accessed or indexed.


πŸ“œ License

Distributed under the MIT License. See LICENSE for details.


Maintained with πŸ‘οΈ by Prime3vil

About

Tactical geospatial surveillance console mapping over 22,000+ live public CCTV streams, webcams, traffic cameras, and harbor feeds across the globe on Android, Linux, Windows, and macOS.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages