Skip to content
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,15 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

---

## [2.27.3] — Unreleased

### Added
- **Revodata I706-P-HS** (new brand) — tiny indoor 5MP PoE camera with an adjustable 3.6 mm M12 lens and IR, suggested in discussion #402. RTSP `/stream1` (main) and `/stream2` on port 554 and ONVIF on port 80, from the maker's manual; community-tested in Frigate by [ElectronicBattle](https://github.com/ElectronicBattle) ([review](https://github.com/blakeblackshear/frigate/discussions/24489)).

### Fixed
- **Lorex W482CAD and B451AJD doorbell (#403)** — both WiFi cameras were listed with no RTSP and as cloud-required. They stream locally on port 554 with the Dahua-style path other Lorex cameras use (main `/cam/realmonitor?channel=1&subtype=0`, sub `subtype=1`); a user runs both in Frigate through a go2rtc restream and published the working config. Both records now list RTSP, a community-verified Frigate config and a community note. Reported by [comradestu](https://github.com/comradestu).
- **Lorex W881AAD** — also listed with no RTSP; an owner streams it locally with the same Dahua path ([rroller/dahua#353](https://github.com/rroller/dahua/issues/353)). The record now lists RTSP and the stream URLs (not yet Frigate-tested). Other Lorex Wi-Fi models stay unchanged: Lorex documents the RTSP path only for its IP cameras and recorders, and no owner report was found for them.

## [2.27.2] — 2026-10-01

Data-consistency fixes from the third CCTV expert audit (2026-10-01). Every value change cites the manufacturer's own documentation and was re-checked by an independent reviewer that reverted edits its source didn't support. No new cameras.
Expand Down
37 changes: 19 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# CCTV Camera Database

An open, structured database of 28,400 CCTV / IP camera models and their technical specifications, covering 230 brands across every market segment — from budget consumer WiFi cameras to enterprise PTZ domes and thermal imaging systems. Each camera is a validated JSON file, aggregated into a single queryable dataset (JSON + CSV).
An open, structured database of 28,401 CCTV / IP camera models and their technical specifications, covering 231 brands across every market segment — from budget consumer WiFi cameras to enterprise PTZ domes and thermal imaging systems. Each camera is a validated JSON file, aggregated into a single queryable dataset (JSON + CSV).

[![build](https://github.com/ch-bas/cctv-camera-database/actions/workflows/build.yml/badge.svg)](https://github.com/ch-bas/cctv-camera-database/actions/workflows/build.yml)
[![cameras](https://img.shields.io/badge/cameras-28%2C400-blue)](data/cameras.json)
[![brands](https://img.shields.io/badge/brands-230-green)](cameras/)
[![cameras](https://img.shields.io/badge/cameras-28%2C401-blue)](data/cameras.json)
[![brands](https://img.shields.io/badge/brands-231-green)](cameras/)
[![license](https://img.shields.io/badge/license-CC0-lightgrey)](LICENSE)

### Field coverage
Expand All @@ -19,10 +19,10 @@ An open, structured database of 28,400 CCTV / IP camera models and their technic

<p align="center">
<a href="https://cctv-database.com">
<img src="assets/cctv-database-showcase.gif" alt="CCTV Camera Database — search 28,400 cameras, browse full specs, copy ready-to-use Frigate configs, and audit the open dataset with the built-in QA tool" width="640">
<img src="assets/cctv-database-showcase.gif" alt="CCTV Camera Database — search 28,401 cameras, browse full specs, copy ready-to-use Frigate configs, and audit the open dataset with the built-in QA tool" width="640">
</a>
<br>
<sub><b><a href="https://cctv-database.com">cctv-database.com</a></b> — search 28,400 cameras · full spec sheets · copy-paste Frigate configs · open &amp; auditable</sub>
<sub><b><a href="https://cctv-database.com">cctv-database.com</a></b> — search 28,401 cameras · full spec sheets · copy-paste Frigate configs · open &amp; auditable</sub>
</p>

---
Expand Down Expand Up @@ -53,7 +53,7 @@ The whole dataset is committed and ready to use — **no build step, no API key,

| Format | File | Contents |
|--------|------|----------|
| JSON | [`data/cameras.json`](data/cameras.json) | all 28,400 cameras as one array |
| JSON | [`data/cameras.json`](data/cameras.json) | all 28,401 cameras as one array |
| CSV | [`data/cameras.csv`](data/cameras.csv) | flattened, spreadsheet-friendly |
| ZIP | [`cameras.zip`](../../releases/latest) | versioned + checksummed, attached to each release |

Expand Down Expand Up @@ -119,7 +119,7 @@ Prefer to self-host or browse offline? A [standalone demo](docs/demo.html) (just
- **Sort** — click any column header to sort ascending/descending
- **Detail drawer** — click a row to slide open the full spec sheet (resolution, connectivity, protocols, storage, audio, source links)
- **Community notes** — user-reported quirks and behaviors per camera, sourced and attributed, kept separate from datasheet specs
- **Pagination** — page through all 28,400 cameras, 25 per page
- **Pagination** — page through all 28,401 cameras, 25 per page
- **Stats bar** — live counts for total cameras, brands, 4K+, WiFi, and no-subscription models

---
Expand Down Expand Up @@ -234,22 +234,22 @@ A device type is only emitted when the camera has a known RJ45 link speed (`netw

| Metric | Count |
|--------|-------|
| Total cameras | **28,400** |
| Brands | **230** |
| Total cameras | **28,401** |
| Brands | **231** |
| Form factors | 11 (bullet, dome, turret, PTZ, dual-lens, panoramic, covert, box, fisheye, floodlight, doorbell) |
| PoE wired | 19,507 |
| PoE wired | 19,508 |
| WiFi | 2,540 |
| Battery / wire-free | 728 |
| 4K / 8MP+ | 5,336 |
| 4–7MP | 11,109 |
| 4–7MP | 11,110 |
| Under 4MP | 11,955 |
| With integration configs (Frigate / Home Assistant) | 22,196 |
| With integration configs (Frigate / Home Assistant) | 22,200 |
| With color-lux rating (`night_vision.min_lux_color`) | 18,990 |

### All 230 brands
### All 231 brands

<details>
<summary><strong>All 230 brands</strong> — camera count &amp; market segment (click to expand)</summary>
<summary><strong>All 231 brands</strong> — camera count &amp; market segment (click to expand)</summary>

<!-- brands-table:start (auto-generated by scripts/build.js — do not edit counts by hand; edit the Segment text and it is preserved) -->
| Brand | Cameras | Segment |
Expand Down Expand Up @@ -483,6 +483,7 @@ A device type is only emitted when the camera has a known RJ45 link speed (`netw
| Fermax | 1 | — |
| IMILAB | 1 | Consumer smart home (Xiaomi eco), CN/global |
| Philips | 1 | — |
| Revodata | 1 | — |
| Shelly | 1 | — |
<!-- brands-table:end -->

Expand Down Expand Up @@ -510,9 +511,9 @@ cctv-camera-database/
│ ├── hanwha/ # 770 cameras
│ ├── uniview/ # 692 cameras
│ ├── i-pro/ # 685 cameras
│ └── …224 more brands
│ └── …225 more brands
├── data/ # GENERATED — do not edit by hand
│ ├── cameras.json # all 28,400 cameras as one array
│ ├── cameras.json # all 28,401 cameras as one array
│ ├── cameras.csv # flattened, spreadsheet-friendly
│ └── rtsp-patterns.json # CC0 brand-level RTSP URL layer (203 brands)
├── strix/
Expand Down Expand Up @@ -547,7 +548,7 @@ Open — contributions very welcome:

- [ ] **Re-source ~1,051 reseller-only cameras** to official OEM datasheets (#164 / #165)
- [ ] **Backfill pixel resolution** for the ~2,757 entries that state megapixels but no width×height (#169)
- [ ] **Frigate verification drive** — only 31 of 21,967 shipped configs are community-verified; [confirm one you run](../../issues/new?template=verify-frigate-config.yml)
- [ ] **Frigate verification drive** — only 34 of 21,971 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 @@ -581,7 +582,7 @@ Specifications are compiled from manufacturer datasheets and reputable retailers
If you use this dataset, a link back is appreciated:

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

---
Expand Down
25 changes: 23 additions & 2 deletions cameras/lorex/b451ajd.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,33 @@
"chime kit included",
"32GB microSD included (up to 256GB)"
],
"cloud_dependency": "cloud-required",
"cloud_dependency": "cloud-optional",
"markets": [
"us"
],
"sources": [
"https://www.lorex.com/products/2k-wi-fi-video-doorbell-with-person-detection-wired"
],
"last_verified": "2026-09-22"
"last_verified": "2026-10-08",
"protocols": [
"rtsp"
],
"configs": {
"frigate": {
"rtsp_url_template": "rtsp://{user}:{pass}@{ip}:554/cam/realmonitor?channel=1&subtype=0",
"best_substream": "rtsp://{user}:{pass}@{ip}:554/cam/realmonitor?channel=1&subtype=1",
"notes": "Community-tested: works in Frigate through a go2rtc restream (main for record, sub for detect) with the Dahua-style /cam/realmonitor path, like other Lorex cameras. Use the camera admin account.",
"verified": true,
"tested_by": "comradestu (#403)"
}
},
"community_notes": [
{
"note": "Streams locally over RTSP on port 554: main /cam/realmonitor?channel=1&subtype=0, sub ...&subtype=1, using the camera admin account. Runs in the same published Frigate config as the reporter's Lorex W482CAD (record, detect, zones and alerts).",
"category": "rtsp",
"source": "https://github.com/comradestu/Lorex-W482CAD-Frigate/blob/main/LorexFrigateConfig.txt",
"reported_by": "comradestu",
"date": "2026-10-08"
}
]
}
26 changes: 23 additions & 3 deletions cameras/lorex/w482cad.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@
"nvr_compatible": false,
"cloud": true
},
"protocols": [],
"protocols": [
"rtsp"
],
"ip_rating": "IP65",
"audio": {
"microphone": true,
Expand Down Expand Up @@ -74,6 +76,24 @@
"power_source": [
"dc"
],
"last_verified": "2026-07-06",
"cloud_dependency": "cloud-required"
"last_verified": "2026-10-08",
"cloud_dependency": "cloud-optional",
"configs": {
"frigate": {
"rtsp_url_template": "rtsp://{user}:{pass}@{ip}:554/cam/realmonitor?channel=1&subtype=0",
"best_substream": "rtsp://{user}:{pass}@{ip}:554/cam/realmonitor?channel=1&subtype=1",
"notes": "Community-tested: works in Frigate through a go2rtc restream (main for record, sub for detect) with the Dahua-style /cam/realmonitor path, like other Lorex cameras. Use the camera admin account.",
"verified": true,
"tested_by": "comradestu (#403)"
}
},
"community_notes": [
{
"note": "Streams locally over RTSP on port 554 despite being a WiFi app camera: main /cam/realmonitor?channel=1&subtype=0, sub ...&subtype=1, using the camera admin account. A working Frigate config is published by the reporter.",
"category": "rtsp",
"source": "https://github.com/comradestu/Lorex-W482CAD-Frigate/blob/main/LorexFrigateConfig.txt",
"reported_by": "comradestu",
"date": "2026-10-08"
}
]
}
27 changes: 23 additions & 4 deletions cameras/lorex/w881aad.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@
"nvr_compatible": false,
"cloud": true
},
"protocols": [],
"protocols": [
"rtsp"
],
"ip_rating": "IP65",
"audio": {
"microphone": true,
Expand All @@ -53,17 +55,34 @@
],
"sources": [
"https://www.lorex.com/products/w881aad-4k-spotlight-indoor-outdoor-wi-fi-security-camera",
"https://d2zri47w41ywm3.cloudfront.net/downloads/security-cameras/W881AA/W881AAD_Series_Specs_R6.pdf"
"https://d2zri47w41ywm3.cloudfront.net/downloads/security-cameras/W881AA/W881AAD_Series_Specs_R6.pdf",
"https://www.lorex.com/blogs/help/ip-cameras-using-real-time-streaming-protocol-rtsp-with-your-dvr-nvr"
],
"power_source": [
"dc"
],
"last_verified": "2026-07-06",
"last_verified": "2026-10-08",
"environment": [
"outdoor"
],
"markets": [
"us"
],
"cloud_dependency": "cloud-required"
"cloud_dependency": "cloud-optional",
"configs": {
"frigate": {
"rtsp_url_template": "rtsp://{user}:{pass}@{ip}:554/cam/realmonitor?channel=1&subtype=0",
"best_substream": "rtsp://{user}:{pass}@{ip}:554/cam/realmonitor?channel=1&subtype=1",
"notes": "An owner streams this WiFi camera locally with the Dahua-style /cam/realmonitor path (camera admin account), the same path Lorex documents for its IP cameras and recorders. Not yet tested in Frigate; the substream (subtype=1) follows the same convention."
}
},
"community_notes": [
{
"note": "Streams locally over RTSP without a Lorex recorder: the owner uses rtsp://admin:<password>@<camera ip>/cam/realmonitor?channel=1&subtype=0. The local Dahua HTTP API (used by the Home Assistant Dahua integration) did not work with default settings.",
"category": "rtsp",
"source": "https://github.com/rroller/dahua/issues/353",
"reported_by": "jhouse1989",
"date": "2026-10-08"
}
]
}
95 changes: 95 additions & 0 deletions cameras/revodata/i706-p-hs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
{
"id": "revodata-i706-p-hs",
"brand": "Revodata",
"model": "I706-P-HS",
"type": "covert",
"connectivity": [
"ethernet"
],
"power_source": [
"poe"
],
"resolution": {
"megapixels": 5,
"max_width": 2880,
"max_height": 1616,
"label": "5MP"
},
"lens": {
"count": 1,
"focal_length_mm": "3.6",
"varifocal": false
},
"field_of_view_deg": "75",
"night_vision": {
"type": "ir"
},
"protocols": [
"rtsp",
"onvif",
"http",
"p2p"
],
"environment": [
"indoor"
],
"video": {
"codecs": [
"H.265",
"H.264"
],
"max_fps": 25,
"streams": [
{
"name": "main",
"resolution": "2880x1616",
"fps": 25,
"codec": "H.264"
}
]
},
"features": [
"Tiny indoor PoE camera with an adjustable M12 3.6 mm lens",
"Infrared night vision",
"Snapshot URL: /cgi-bin/snapshot.cgi",
"Motion detection",
"P2P remote view"
],
"configs": {
"frigate": {
"rtsp_url_template": "rtsp://{user}:{pass}@{ip}:554/stream1",
"best_substream": "rtsp://{user}:{pass}@{ip}:554/stream2",
"onvif_port": 80,
"notes": "Paths from the maker's manual (Revotech): /stream1 main, /stream2 second stream, RTSP port 554, ONVIF port 80. Community-tested in Frigate. Main stream 2880x1616 at up to 25 fps.",
"verified": true,
"tested_by": "ElectronicBattle (frigate discussion #24489)"
},
"home_assistant": {
"integration": "onvif",
"notes": "Use the ONVIF integration (ONVIF port 80)."
},
"blue_iris": {
"profile": "Generic/ONVIF",
"notes": "Add as Generic/ONVIF with /stream1 (main) and /stream2 (sub)."
}
},
"markets": [
"gb"
],
"cloud_dependency": "cloud-optional",
"community_notes": [
{
"note": "Works in Frigate as a bird-box camera: configured in about ten minutes using the RTSP paths from the manual. Main stream runs at 2880x1616, 25 fps H.264; the camera web UI resembles Hikvision-style OEM firmware.",
"category": "frigate",
"source": "https://github.com/blakeblackshear/frigate/discussions/24489",
"reported_by": "ElectronicBattle",
"date": "2026-10-08"
}
],
"last_verified": "2026-10-08",
"sources": [
"https://www.amazon.co.uk/dp/B09T9HXZD3",
"https://github.com/blakeblackshear/frigate/discussions/24489",
"https://github.com/ch-bas/cctv-camera-database/discussions/402"
]
}
7 changes: 4 additions & 3 deletions data/cameras.csv
Original file line number Diff line number Diff line change
Expand Up @@ -19566,7 +19566,7 @@ longse-tp2cfc4rc,Longse,TP2CFC4RC,dome,4MP,4,"1/3"" Progressive Scan CMOS Sensor
longse-tp2crc2rc,Longse,TP2CRC2RC,dome,2MP,2,"1/3.3"" CMOS Sensor",83.9 H / 47.1 V / 96.8 D,hybrid,IP66,,,,0
longse-tp2crc4rc,Longse,TP2CRC4RC,dome,4MP,4,"1/3.3"" CMOS Sensor",83.9 H / 47.1 V / 96.8 D,hybrid,IP66,,,,0
lorex-b241ajd,Lorex,B241AJD-E,doorbell,1080p,2,,170 diagonal,hybrid,IP65,,true,,0
lorex-b451ajd,Lorex,B451AJD-E,doorbell,2K,5,,164 diagonal,hybrid,IP65,,true,,0
lorex-b451ajd,Lorex,B451AJD-E,doorbell,2K,5,,164 diagonal,hybrid,IP65,,true,,1
lorex-b463ajd,Lorex,B463AJD-E,doorbell,2K,5,,124 H / 164 D,hybrid,IP65,,true,,0
lorex-b862aj,Lorex,B862AJ,doorbell,4K UHD,8,,150 diagonal (head-to-toe),color,IP65,,true,2024,0
lorex-c221na,Lorex,C221NA,bullet,1080p,2,,80 H / 43 V / 94 D,ir,IP67,,,,0
Expand Down Expand Up @@ -19629,8 +19629,8 @@ lorex-w452asd,Lorex,W452ASD (2K Wired Floodlight),floodlight,2K QHD,4,"1/2.8"" C
lorex-w461asc,Lorex,W461ASC,dome,2K QHD,4,,125,color,,,true,,0
lorex-w462aqc-e-pantilt,Lorex,W462AQC-E,ptz,2K QHD,4,"1/2.7"" CMOS",92 horizontal / 48 vertical / 109 diagonal (optical),ir,,,true,,0
lorex-w463aqd-e,Lorex,W463AQD-E,dual-lens,2K,4,,360 (pan-tilt),ir,,,true,,0
lorex-w482cad,Lorex,W482CAD,bullet,2K QHD,4,"1/3"" CMOS",114 diagonal,color,IP65,,true,2024,0
lorex-w881aad,Lorex,W881AAD,bullet,4K UHD,8,"1/2.8"" CMOS",140,color,IP65,,true,,0
lorex-w482cad,Lorex,W482CAD,bullet,2K QHD,4,"1/3"" CMOS",114 diagonal,color,IP65,,true,2024,1
lorex-w881aad,Lorex,W881AAD,bullet,4K UHD,8,"1/2.8"" CMOS",140,color,IP65,,true,,1
lorex-w891uad,Lorex,W891UAD (4K Dual-Lens WiFi),dual-lens,4K dual-lens 180deg (stitched 4096x1856),8,"1/2.8"" CMOS (dual, 5MP each)",180 horizontal,color,IP66,,true,2024,0
lorex-x-ptz-4k,Lorex,X PTZ 4K Dome Camera with 30x Zoom,ptz,4K,8,"1/1.8"" CMOS",Diagonal 67.6-3 / Horizontal 60.4-2.6 / Vertical 36.5-1.5 (across zoom range),hybrid,IP66,,true,,0
lorex-x3-dual-lens-turret,Lorex,Lorex Connect X3 4K Dual-Lens Turret Camera with 190° Panoramic Coverage,dual-lens,8MP combined panoramic (4224x1848),8,"1/2.8"" CMOS (dual)",190.8 horizontal / 80.2 vertical (combined panoramic),hybrid,IP66,,true,,0
Expand Down Expand Up @@ -22578,6 +22578,7 @@ resideo-prooutmv,Resideo,PROOUTMV,box,,0.08,,,ir,IP65,,,,0
resideo-vx1,Resideo,VX1,doorbell,5MP HD,5,,,color,IP65,,true,,0
resideo-vx3,Resideo,VX3,bullet,1080p HD,2,,,hybrid,IP66,,,,0
resideo-vx5,Resideo,VX5,box,1080p HD,2,,,ir,,,,,0
revodata-i706-p-hs,Revodata,I706-P-HS,covert,5MP,5,,75,ir,,,,,1
rhombus-r120,Rhombus,R120,dome,1080p,2,,"111 diagonal, 104 horizontal, 71 vertical",ir,IP66,IK10,,,0
rhombus-r150,Rhombus,R150,fisheye,4.2MP,4.2,,"180 diagonal, 180 horizontal, 180 vertical",,,,,,0
rhombus-r200,Rhombus,R200,dome,5MP,5,,"116 diagonal, 104 horizontal, 87 vertical",ir,IP66,IK10,,,0
Expand Down
Loading
Loading