mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-06 03:14:00 +00:00
Merge PR #489 live CCTV onto current architecture
This commit is contained in:
commit
48666cb9a4
19 files changed
+941
-10
No files matched your search
@@ -188,7 +188,7 @@ Choose a first-run mission, or try these in order. The GIFs show Google Photorea
|
||||
|
||||

|
||||
|
||||
4. **Look through a public camera.** Turn on **CCTV** over Austin, London, California, or Finland. The feeds aren't webcam embeds — they project *into* the 3D city. Cycle coverage to **VIEWSHED** and every camera draws its estimated coverage volume — where it reaches, and where it goes blind.
|
||||
4. **Look through a public camera.** Turn on **CCTV** over Austin, London, California, Finland, or Delaware (live video). The feeds aren't webcam embeds — they project *into* the 3D city. Cycle coverage to **VIEWSHED** and every camera draws its estimated coverage volume — where it reaches, and where it goes blind.
|
||||
|
||||

|
||||
|
||||
@@ -277,7 +277,7 @@ Fourteen layers and map sources. **Twelve have a keyless path.** Some offer addi
|
||||
| 🛰️ **Satellites** | 838-object catalog, color-coded by class with a live legend — the **DENSE** chip drops in the whole Starlink shell | CelesTrak | 🟢 |
|
||||
| 🌍 **Earthquakes** | Global seismic activity, last 24h | USGS | 🟢 |
|
||||
| 🚗 **Traffic** | Simulated vehicles on OSM roads. With TomTom, live flow speeds drive the simulation and congestion colors below ~8 km; individual vehicle positions are not live observations | TomTom + OSM | 🟢 simulation · 🟡 live flow speeds |
|
||||
| 📹 **CCTV Mesh** | ~3,600 public cameras projected *into* the 3D space — Austin · Texas (TxDOT) · California (Caltrans) · London (TfL) · Ontario (511) · Finland (Fintraffic) · British Columbia (DriveBC) · Estonia (Tallinn, Tarktee) · New South Wales (Live Traffic NSW) · Calgary. Positions are published; poses are estimated priors **you calibrate by dragging a gizmo on the camera itself** | City APIs | 🟢 |
|
||||
| 📹 **CCTV Mesh** | ~3,600 public cameras projected *into* the 3D space — Austin · Texas (TxDOT) · California (Caltrans) · London (TfL) · Ontario (511) · Finland (Fintraffic) · British Columbia (DriveBC) · Estonia (Tallinn, Tarktee) · Delaware (DelDOT live video) · New South Wales (Live Traffic NSW) · Calgary. Positions are published; poses are estimated priors **you calibrate by dragging a gizmo on the camera itself** | City APIs | 🟢 |
|
||||
| 📻 **Radio** | Geolocated world radio with an **analog tuner** — drag the needle across up to 750 stations and the globe flies to each broadcaster | Radio Browser / broadcasters | 🟢 |
|
||||
| 🚲 **Bikeshare** | Live station availability | GBFS | 🟢 |
|
||||
| 🧭 **Directions** | Click A and B on the globe for a street-following drive, walk or cycle route draped on the terrain with turn-by-turn steps — then FLY the camera along it. No key, no geocoder, no mic | OSRM on FOSSGIS servers (OpenStreetMap) | 🟢 |
|
||||
@@ -433,6 +433,32 @@ OpenSky can run fully anonymous (`OPENSKY_AUTH_MODE=anon`), or import OAuth cred
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Live video cameras (HLS / RTMP)</summary>
|
||||
|
||||
CCTV sources with `"feedType": "hls"` play as continuous video instead of
|
||||
refreshed stills. The server owns the stream: it keeps one upstream session
|
||||
per active camera, serves the browser a locally generated playlist, and the
|
||||
client plays it through hls.js. Two upstream strategies, chosen by URL:
|
||||
|
||||
- **`.m3u8` upstreams** are pulled directly in Node — no extra dependencies.
|
||||
- **RTMP and other stream URLs** go through **ffmpeg** (`-c copy`, no
|
||||
re-encode), which is optional: without it those cameras fall back to the
|
||||
stills path and everything else is unchanged. If you self-host in Docker,
|
||||
add `ffmpeg` to your image.
|
||||
|
||||
The DelDOT Delaware pack is the working example — every `Active` camera in
|
||||
DelDOT's public catalog registers with its `rtmpt://video.deldot.gov:80/…`
|
||||
stream (the same stream as `rtmp://…:1935`, tunneled over HTTP, so it works
|
||||
where port 1935 is blocked). `CCTV_DELDOT_ENABLED=0` turns the pack off.
|
||||
|
||||
Some agencies restart their streams on a timer or run encoders whose clock
|
||||
lags real time (DelDOT does both). The pipeline absorbs that automatically —
|
||||
a brief hitch at a restart, and a playback-rate governor that holds the
|
||||
stream a few seconds behind live so it never starves. Nothing to configure.
|
||||
|
||||
</details>
|
||||
|
||||
### 💸 What it actually costs
|
||||
|
||||
Honest numbers, roughly, as of mid-2026 — always check the provider pricing pages:
|
||||
|
||||
Reference in new issue
Block a user