Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
14a808d
chore: open 2.26.1 development
ch-bas Oct 1, 2026
30e53f0
docs(changelog): 2.26.1 — Amcrest Helix RTSP fix (#394)
ch-bas Oct 1, 2026
9e310a2
docs(changelog): avoid a GitHub @-mention in the 2.26.1 entry
ch-bas Oct 1, 2026
9820145
fix(amcrest): Helix RTSP format for the HLX- cameras (#394)
ch-bas Oct 1, 2026
719b80b
chore: open 2.27.0 development
ch-bas Oct 1, 2026
b4fa719
fix(tvt): audit-wave data fixes (405 files)
ch-bas Oct 1, 2026
51fe443
fix(longse): audit-wave data fixes (275 files)
ch-bas Oct 1, 2026
d52bae4
fix(honeywell): audit-wave data fixes (64 files)
ch-bas Oct 1, 2026
13ff1a8
fix(acti): audit-wave data fixes (59 files)
ch-bas Oct 1, 2026
30093b8
fix(mapesen): audit-wave data fixes (61 files)
ch-bas Oct 1, 2026
9e019e5
fix(abus): audit-wave data fixes (1 files)
ch-bas Oct 1, 2026
7bd1a49
fix(bosch): audit-wave data fixes (6 files)
ch-bas Oct 1, 2026
3c015ce
fix(i-pro): audit-wave data fixes (51 files)
ch-bas Oct 1, 2026
2671d88
fix(american-dynamics): audit-wave data fixes (43 files)
ch-bas Oct 1, 2026
9138e98
fix(hanwha): audit-wave data fixes (9 files)
ch-bas Oct 1, 2026
29bea6b
fix(mobotix): audit-wave data fixes (45 files)
ch-bas Oct 1, 2026
4fc98f5
fix(panasonic): audit-wave data fixes (40 files)
ch-bas Oct 1, 2026
312713c
fix(hikvision): audit-wave data fixes (10 files)
ch-bas Oct 1, 2026
aef4afd
fix(gw-security): audit-wave data fixes (32 files)
ch-bas Oct 1, 2026
fb40cb6
fix(jidetech): audit-wave data fixes (5 files)
ch-bas Oct 1, 2026
8af6e0a
fix(comelit,flir): audit-wave data fixes (44 files)
ch-bas Oct 1, 2026
47187c4
fix(avigilon,swann): audit-wave data fixes (19 files)
ch-bas Oct 1, 2026
3c1917f
fix(jovision,night-owl,rvi): audit-wave data fixes (33 files)
ch-bas Oct 1, 2026
2611aa1
fix(alibi,camius,pix-link,vstarcam): audit-wave data fixes (24 files)
ch-bas Oct 1, 2026
46e3c4f
fix(anran,kedacom,resideo,sony): audit-wave data fixes (20 files)
ch-bas Oct 1, 2026
fd9f0ed
fix(digital-watchdog,hi-focus,instar,laview,…): audit-wave data fixes…
ch-bas Oct 1, 2026
af4c68e
fix(3xlogic,amcrest,bolide,campark,…): audit-wave data fixes (30 files)
ch-bas Oct 1, 2026
576f9df
Merge pull request #395 from ch-bas/fix/amcrest-helix-rtsp
ch-bas Oct 1, 2026
94e2c25
docs(changelog): 2.27.0 — audit-wave data fixes; fold in the Amcrest …
ch-bas Oct 1, 2026
cb0b249
fix(vivotek): audit-wave data fixes, second pass (20 files)
ch-bas Oct 1, 2026
de8fa10
fix(uniarch): audit-wave data fixes, second pass (70 files)
ch-bas Oct 1, 2026
6023d99
fix(clarevision): audit-wave data fixes, second pass (25 files)
ch-bas Oct 1, 2026
c629018
fix(ezviz): audit-wave data fixes, second pass (1 files)
ch-bas Oct 1, 2026
d028cf0
fix(axis,imou,pelco): audit-wave data fixes, second pass (28 files)
ch-bas Oct 1, 2026
3dbf746
fix(aqara,boavision,canon,cp-plus,…): audit-wave data fixes, second p…
ch-bas Oct 1, 2026
6933063
fix(beward,geovision,grundig,hilook,…): audit-wave data fixes, second…
ch-bas Oct 1, 2026
b08baba
fix(annke,intelbras,lts): audit-wave data fixes, second pass (17 files)
ch-bas Oct 1, 2026
c14b393
docs(changelog): 2.27.0 — add the audit wave's second pass
ch-bas Oct 1, 2026
4b6157c
build: regenerate aggregates, RTSP patterns and camera docs for 2.27.0
ch-bas Oct 1, 2026
23695c5
docs(changelog): date 2.27.0
ch-bas Oct 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,38 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

---

## [2.27.0] — 2026-10-01

A data-quality release from the 2026-09-29 CCTV expert audit. Every flagged record was checked against the manufacturer's own documentation (manuals, support KBs, datasheets), then re-checked by an independent reviewer that reverted any edit its source didn't support. Values a manufacturer does not publish were left as they are rather than estimated. No new cameras.

### Fixed — RTSP paths (1,105 cameras, 15 brands)
Per-camera RTSP paths that contradicted the brand's documented format:
- **TVT Digital (404)** — `/ch01/0` → `/profile1` (main) + `/profile2` (sub), per TVT's camera manuals; the config notes now match.
- **Longse (274)** — bare `/` → `/0` (main) + `/1` (sub), per Longse's RTSP FAQ.
- **Digital Watchdog (115)** — Dahua `realmonitor` → `/profile1` + `/profile2` (DW KB 323); the brand guide was corrected too.
- **Honeywell (57)** — 35 and 60 Series → `/live1s1.sdp`, per Honeywell's series guides.
- **Mobotix (42)** — `/cam0/stream` / `/mobotix.pro/mxpeg` → `/stream/profile0` (+ `/stream/profile1` sub on single-sensor models), per platform.
- **American Dynamics (41)** — `/ufirststream` → `/videoStreamId=1` + `/videoStreamId=2` (Illustra Gen4 guides); guide corrected.
- **Panasonic Middle East PM-series (39)** — Dahua path → `/profile1` + `/profile2` (this TVT-made line differs from i-PRO WV-*).
- **RVi (13)** — `/1/1` → `/RVi/1/1` + `/RVi/1/2`, per RVi's RTSP list.
- **Uniarch (70)** — bare `/` → `/media/video1` + `/media/video2`, per Uniarch's RTSP FAQ.
- **ClareVision CLR-V (25)** — Hikvision path → `/0` + `/1`, per Clare's RTSP article; Blue Iris and Home Assistant notes now say Generic/ONVIF instead of the Hikvision protocol. Legacy CV-/CVP- models keep their path.
- **Camius (9)** — Dahua path → `/ch01/0` + `/ch01/1` for direct camera access.
- **Canon (4)** — → `/rtpstream/config1`, per Canon's VB-series operation guides.
- **FLIR (7)** — `/avc` (FLIR's science-camera path) → the security-camera paths per product family (KB 5428).
- **ACTi (4)** — `/rtsp/av0` → `/stream1` + `/stream2`.
- **EZVIZ (1)** — Hikvision `/h264/ch1/main/av_stream` → EZVIZ's documented `/ch1/main` (C6N; other models left unchanged until EZVIZ documents them).
- **Amcrest Helix RTSP (#394)** — the three Helix (`HLX-`) cameras (`HLX-IP5M-B102EW-AI`, `HLX-IP5M-T103EW-AI`, `HLX-IP8M-T303EW-AI`) carried the Dahua-style `/cam/realmonitor?channel=1&subtype=0` path used by other Amcrest models. Amcrest's KB article [Accessing Legacy Helix Devices Using RTSP](https://support.amcrest.com/hc/en-us/articles/49119561879437-Accessing-Legacy-Helix-Devices-Using-RTSP) documents a different format for this line: `rtsp://{user}:{pass}@{ip}:554/<channel>/<stream>`, with stream 1 = main and 0 = sub. Main is now `/1/1` and the substream `/1/0`, with `/1/main` / `/1/sub` noted as a fallback. Home Assistant now points at the ONVIF integration and Blue Iris at Generic/ONVIF instead of the Dahua-based options. The Amcrest RTSP guide (`strix/verified/amcrest.json`) gains the Helix templates, marked Helix-only. Reported via the website by SrDri and Michael M. (Amcrest support).
- **RTSP guides** (`strix/verified/`) — Vivotek `/live.sdp` + `/live2.sdp` (pre-0x13 firmware access names), Bosch `/rtsp_tunnel`, Hanwha multi-sensor `/0/profile2/media.smp` and ACTi legacy `:7070/` documented as valid; Digital Watchdog and American Dynamics guides corrected; Camius, Panasonic PM and FLIR templates added.

### Fixed — specs
- **`ip_rating` +301** on outdoor cameras that had none, only where the datasheet states it (Mapesen, GW Security, American Dynamics, Hanwha, Bosch, Axis, Pelco and others).
- **Resolution** — ~140 records whose megapixels disagreed with the pixel dimensions corrected from datasheets (mostly i-PRO and ACTi).
- **`weight_g`** — 15 parse errors (e.g. 5 g) corrected or removed; **`environment`** corrected on 18.
- **Brand spelling** — `Beward` → `BEWARD` (25 cameras) so the brand has one page and its full 361-camera list; `VIVOTEK` → `Vivotek` (19).

No new cameras.

## [2.26.0] — 2026-09-30

Dataset reaches **28,400 cameras / 230 brands** (+1,038). A deep gap-fill across already-covered brands from **official manufacturer sources** — every field is transcribed from a manufacturer specification (or its archived copy), and fields a manufacturer does not publish are omitted rather than estimated. No Provision-ISR models are included. Four new brands (Vivint, Defender, Geeni, Merkury); the rest fill genuine catalogue gaps found via manufacturer datasheet APIs/PDFs, China-domestic mirrors, and Internet-Archive captures of discontinued lines.
Expand Down
16 changes: 7 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ Other scripts: `npm run add` (interactive add-a-camera wizard) and `npm run chec

### RTSP reference layer

`data/rtsp-patterns.json` is a **CC0 brand-level RTSP URL reference** for 183 brands (120 verified / 63 unverified / 351 stream templates). Each path is confirmed against the manufacturer's own documentation — never copied from aggregators. Regenerate after editing `strix/verified/`:
`data/rtsp-patterns.json` is a **CC0 brand-level RTSP URL reference** for 183 brands (120 verified / 63 unverified / 367 stream templates). Each path is confirmed against the manufacturer's own documentation — never copied from aggregators. Regenerate after editing `strix/verified/`:

```bash
RTSP_PATTERNS_DATE=$(date +%Y-%m-%d) node scripts/build-rtsp-patterns.js
Expand Down Expand Up @@ -240,8 +240,8 @@ A device type is only emitted when the camera has a known RJ45 link speed (`netw
| PoE wired | 19,508 |
| WiFi | 2,540 |
| Battery / wire-free | 728 |
| 4K / 8MP+ | 5,335 |
| 4–7MP | 11,110 |
| 4K / 8MP+ | 5,338 |
| 4–7MP | 11,107 |
| Under 4MP | 11,955 |
| With integration configs (Frigate / Home Assistant) | 22,083 |
| With color-lux rating (`night_vision.min_lux_color`) | 18,990 |
Expand All @@ -267,12 +267,12 @@ A device type is only emitted when the camera has a known RJ45 link speed (`netw
| Axis | 558 | Enterprise premium, global |
| Mapesen | 531 | OEM/budget IP + analog, CN/global |
| Avigilon | 517 | Enterprise NDAA, global |
| Vivotek | 482 | Enterprise AI, global |
| Vivotek | 501 | Enterprise AI, global |
| Longse | 455 | OEM/budget, CN/global |
| TVT | 446 | Prosumer budget, CN/IN/SE Asia |
| Alibi | 377 | — |
| HiLook (Hikvision) | 377 | Budget installer, EU/UK/AU |
| BEWARD | 336 | — |
| BEWARD | 361 | — |
| LILIN | 334 | — |
| Bosch | 302 | Enterprise + thermal, EU/global |
| LTS | 278 | Prosumer/installer, US |
Expand Down Expand Up @@ -391,7 +391,6 @@ A device type is only emitted when the camera has a known RJ45 link speed (`netw
| Wyze | 27 | Budget consumer, US |
| Ctronics | 26 | — |
| Oncam | 26 | — |
| Beward | 25 | — |
| Instar | 25 | Privacy-first prosumer, DE/EU |
| TOGUARD | 25 | — |
| EverFocus | 23 | Enterprise/transport, TW/global |
Expand All @@ -404,7 +403,6 @@ A device type is only emitted when the camera has a known RJ45 link speed (`netw
| Jooan | 19 | — |
| JVC | 19 | — |
| Montavue | 19 | — |
| VIVOTEK | 19 | — |
| Sparsh | 18 | — |
| Toshiba | 18 | — |
| W Box | 18 | — |
Expand Down Expand Up @@ -548,7 +546,7 @@ Shipped: JSON Schema CI, the [web frontend](https://cctv-database.com) (search /
Open — contributions very welcome:

- [ ] **Re-source ~1,051 reseller-only cameras** to official OEM datasheets (#164 / #165)
- [ ] **Backfill pixel resolution** for the ~2,758 entries that state megapixels but no width×height (#169)
- [ ] **Backfill pixel resolution** for the ~2,757 entries that state megapixels but no width×height (#169)
- [ ] **Frigate verification drive** — only 31 of 21,846 shipped configs are community-verified; [confirm one you run](../../issues/new?template=verify-frigate-config.yml)
- [ ] **Grow `community_notes`** — the per-camera quirks/behaviors layer (#297)

Expand Down Expand Up @@ -583,7 +581,7 @@ Specifications are compiled from manufacturer datasheets and reputable retailers
If you use this dataset, a link back is appreciated:

```
CCTV Camera Database (v2.26.0), CC0 1.0. https://cctv-database.com — https://github.com/ch-bas/cctv-camera-database
CCTV Camera Database (v2.27.0), CC0 1.0. https://cctv-database.com — https://github.com/ch-bas/cctv-camera-database
```

---
Expand Down
4 changes: 2 additions & 2 deletions cameras/3xlogic/vx-vt.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
],
"type": "bullet",
"resolution": {
"megapixels": 1,
"megapixels": 0.08,
"max_width": 320,
"max_height": 240,
"label": "Thermal 320x240"
Expand Down Expand Up @@ -80,7 +80,7 @@
"sources": [
"https://compare.3xlogic.cloud/hardware/Content/Resources/PDFs/VX_SPEC_VX-VT%20VIGIL%20Thermal%20Camera_Spec%20Sheet.pdf"
],
"last_verified": "2026-08-30",
"last_verified": "2026-10-01",
"markets": [
"us"
],
Expand Down
3 changes: 2 additions & 1 deletion cameras/abus/ipca72500.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
"onvif",
"rtsp"
],
"ip_rating": "IP66",
"features": [
"Tamron 3-9 mm motor vario zoom",
"120 dB WDR",
Expand Down Expand Up @@ -83,7 +84,7 @@
"notes": "Use Generic ONVIF/RTSP with 'Find/inspect' to discover the stream path."
}
},
"last_verified": "2026-07-26",
"last_verified": "2026-10-01",
"markets": [
"de",
"eu"
Expand Down
8 changes: 4 additions & 4 deletions cameras/acti/a314.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
],
"resolution": {
"megapixels": 6,
"max_width": 3864,
"max_height": 2192,
"max_width": 3072,
"max_height": 2048,
"label": "6MP"
},
"lens": {
Expand Down Expand Up @@ -47,7 +47,7 @@
"streams": [
{
"name": "main",
"resolution": "3864x2192",
"resolution": "3072x2048",
"fps": 30,
"codec": "H.265"
}
Expand All @@ -68,7 +68,7 @@
"poe",
"dc"
],
"last_verified": "2026-08-03",
"last_verified": "2026-10-01",
"sensor": "1/2.4\" Progressive Scan CMOS",
"field_of_view_deg": "103.6 horizontal / 56 vertical",
"night_vision": {
Expand Down
6 changes: 3 additions & 3 deletions cameras/acti/a417.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
],
"resolution": {
"megapixels": 3,
"max_width": 2616,
"max_height": 1964,
"max_width": 2048,
"max_height": 1536,
"label": "3MP"
},
"sensor": "1/2.8\" Progressive Scan CMOS",
Expand Down Expand Up @@ -77,7 +77,7 @@
"sources": [
"https://www.acti.com/product/A417?tab=specifications"
],
"last_verified": "2026-09-21",
"last_verified": "2026-10-01",
"markets": [
"global"
],
Expand Down
8 changes: 4 additions & 4 deletions cameras/acti/a423.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
],
"resolution": {
"megapixels": 6,
"max_width": 3864,
"max_height": 2192,
"max_width": 3072,
"max_height": 2048,
"label": "6MP"
},
"lens": {
Expand Down Expand Up @@ -47,7 +47,7 @@
"streams": [
{
"name": "main",
"resolution": "3864x2192",
"resolution": "3072x2048",
"fps": 30,
"codec": "H.265"
}
Expand All @@ -68,7 +68,7 @@
"poe",
"dc"
],
"last_verified": "2026-08-03",
"last_verified": "2026-10-01",
"sensor": "1/2.4\" Progressive Scan CMOS",
"field_of_view_deg": "102.1 - 34.5 horizontal / 56 - 20.6 vertical",
"night_vision": {
Expand Down
6 changes: 3 additions & 3 deletions cameras/acti/a47.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
],
"resolution": {
"megapixels": 5,
"max_width": 3096,
"max_height": 2202,
"max_width": 2592,
"max_height": 1944,
"label": "5MP"
},
"sensor": "1/2.9\" Progressive Scan CMOS",
Expand Down Expand Up @@ -80,7 +80,7 @@
"sources": [
"https://www.acti.com/product/A47?tab=specifications"
],
"last_verified": "2026-09-21",
"last_verified": "2026-10-01",
"markets": [
"global"
],
Expand Down
6 changes: 3 additions & 3 deletions cameras/acti/a62.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
],
"resolution": {
"megapixels": 5,
"max_width": 3096,
"max_height": 2202,
"max_width": 2592,
"max_height": 1944,
"label": "5MP"
},
"sensor": "1/2.9\" Progressive Scan CMOS",
Expand Down Expand Up @@ -78,7 +78,7 @@
"sources": [
"https://www.acti.com/product/A62?tab=specifications"
],
"last_verified": "2026-09-21",
"last_verified": "2026-10-01",
"markets": [
"global"
],
Expand Down
7 changes: 4 additions & 3 deletions cameras/acti/a713.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,13 +60,14 @@
"vandal-resistant (IK10)"
],
"sources": [
"https://www.acti.com/product/A713?tab=specifications"
"https://www.acti.com/product/A713?tab=specifications",
"https://download.acti.com/?id=31678"
],
"power_source": [
"poe",
"dc"
],
"last_verified": "2026-08-03",
"last_verified": "2026-10-01",
"sensor": "1/2.7\" Progressive Scan CMOS",
"field_of_view_deg": "197 (overview area) horizontal / (Fisheye View) vertical",
"night_vision": {
Expand All @@ -77,7 +78,7 @@
"ip_rating": "IP66",
"ik_rating": "IK10",
"dimensions_mm": "130 x 57.8",
"weight_g": 5,
"weight_g": 557.5,
"operating_temp_c": "-30 to 55",
"configs": {
"frigate": {
Expand Down
8 changes: 4 additions & 4 deletions cameras/acti/a77.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
],
"resolution": {
"megapixels": 6,
"max_width": 3864,
"max_height": 2192,
"max_width": 3072,
"max_height": 2048,
"label": "6MP"
},
"lens": {
Expand Down Expand Up @@ -47,7 +47,7 @@
"streams": [
{
"name": "main",
"resolution": "3864x2192",
"resolution": "3072x2048",
"fps": 30,
"codec": "H.265"
}
Expand All @@ -68,7 +68,7 @@
"poe",
"dc"
],
"last_verified": "2026-08-03",
"last_verified": "2026-10-01",
"sensor": "1/2.4\" Progressive Scan CMOS",
"field_of_view_deg": "103.6 horizontal / 56 vertical",
"night_vision": {
Expand Down
6 changes: 3 additions & 3 deletions cameras/acti/a87.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
],
"resolution": {
"megapixels": 5,
"max_width": 3096,
"max_height": 2202,
"max_width": 2592,
"max_height": 1944,
"label": "5MP"
},
"sensor": "1/2.9\" Progressive Scan CMOS",
Expand Down Expand Up @@ -80,7 +80,7 @@
"sources": [
"https://www.acti.com/product/A87?tab=specifications"
],
"last_verified": "2026-09-21",
"last_verified": "2026-10-01",
"markets": [
"global"
],
Expand Down
6 changes: 3 additions & 3 deletions cameras/acti/a93.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
],
"resolution": {
"megapixels": 3,
"max_width": 2616,
"max_height": 1964,
"max_width": 2048,
"max_height": 1536,
"label": "3MP"
},
"sensor": "1/2.8\" Progressive Scan CMOS",
Expand Down Expand Up @@ -70,7 +70,7 @@
"sources": [
"https://www.acti.com/product/A93?tab=specifications"
],
"last_verified": "2026-09-21",
"last_verified": "2026-10-01",
"markets": [
"global"
],
Expand Down
6 changes: 3 additions & 3 deletions cameras/acti/a94.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
],
"resolution": {
"megapixels": 5,
"max_width": 3096,
"max_height": 2202,
"max_width": 2592,
"max_height": 1944,
"label": "5MP"
},
"sensor": "1/2.9\" Progressive Scan CMOS",
Expand Down Expand Up @@ -77,7 +77,7 @@
"https://www.acti.com/product/A94",
"https://www.acti.com/product/A94?tab=specifications"
],
"last_verified": "2026-09-08",
"last_verified": "2026-10-01",
"markets": [
"global"
],
Expand Down
8 changes: 5 additions & 3 deletions cameras/acti/a950.json
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,14 @@
],
"sources": [
"https://www.acti.com/product/A950",
"https://www.acti.com/product/A950?tab=specifications"
"https://www.acti.com/product/A950?tab=specifications",
"https://download.acti.com/?id=29560"
],
"last_verified": "2026-09-08",
"last_verified": "2026-10-01",
"configs": {
"frigate": {
"rtsp_url_template": "rtsp://{user}:{pass}@{ip}/rtsp/av0",
"rtsp_url_template": "rtsp://{user}:{pass}@{ip}:554/stream1",
"best_substream": "rtsp://{user}:{pass}@{ip}:554/stream2",
"verified": false,
"onvif_port": 80
},
Expand Down
Loading
Loading