Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,37 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

---

## [1.4.0] — 2026-06-11

### Added

- **`doorbell` type** in schema — 44 doorbells migrated from `covert` to proper `doorbell` type, enabling correct filtering
- **`status` field** in schema — supports `available`, `announced`, `discontinued`; 2026 Reolink CES doorbells marked `announced`
- **`video` field** in schema — structured codecs, max FPS, and per-stream breakdown (populated with real datasheet data for 12 Reolink cameras)
- **Real video/power specs** for Reolink RLC-823A, RLC-810A, RLC-811A, RLC-812A, RLC-830A, RLC-833A, RLC-510A, RLC-520A, RLC-1210A, CX410, P430, Argus 3 Pro

### Fixed

- **Ring Doorbell 4**: consolidated 6 regional duplicate entries into 1 with `markets[]` field — same hardware was padding camera count
- **Reolink Doorbell WiFi**: protocols corrected to RTSP/ONVIF (was HTTP-only), power corrected to hardwired 12-24VAC (was wrongly listed as battery), NVR-compatible set true, full doorbell-specific configs added (go2rtc two-way audio, Visitor button-press event)
- **Reolink Doorbell PoE**: config upgraded with go2rtc opus talk-back setup and button-press event documentation
- **Amcrest AD410/AD410P**: added RTSP/ONVIF protocols (Dahua protocol), full Frigate/HA/Blue Iris configs with doorbell button-press events
- **Eufy E340/S330/Dual doorbells**: added RTSP protocol, Frigate configs with Eufy-specific RTSP enable instructions
- **Lorex B862AJ**: added RTSP/ONVIF (Dahua protocol), full configs
- **Tapo D230S1**: deleted duplicate file, removed fabricated RTSP config (hub-based, no RTSP/ONVIF), added hub requirement note
- **Tapo D235**: added RTSP/ONVIF protocols with Always-On mode caveat
- **Tapo D225**: config updated with Always-On mode requirement for RTSP
- **Wyze Doorbell Pro & v2**: removed fabricated RTSP protocol and configs (no official RTSP), replaced with honest docker-wyze-bridge note
- **EZVIZ DB2/DB2C**: honest config — cloud-only, no RTSP, not Frigate-compatible
- Removed fabricated configs from all battery/hub doorbells that inherited brand RTSP rules

### Changed

- Database now covers **1,324 cameras** across **66 brands** (down from 1,330 after deduplication)
- Form factors now 10: bullet, dome, turret, PTZ, dual-lens, panoramic, covert, box, fisheye, **doorbell**

---

## [1.3.0] — 2026-06-11

### Added
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# CCTV Camera Database

An open, structured database of 1,330 CCTV / IP camera models and their technical specifications, covering 66 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 1,324 CCTV / IP camera models and their technical specifications, covering 66 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).

[![cameras](https://img.shields.io/badge/cameras-1%2C330-blue)](data/cameras.json)
[![cameras](https://img.shields.io/badge/cameras-1%2C324-blue)](data/cameras.json)
[![brands](https://img.shields.io/badge/brands-66-green)](cameras/)
[![license](https://img.shields.io/badge/license-CC0-lightgrey)](LICENSE)

Expand All @@ -27,7 +27,7 @@ Camera spec sheets are scattered across vendor PDFs, retailer pages, and paywall
- **Filter** — narrow by brand, camera type, night vision, resolution, or market
- **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, pricing, source links)
- **Pagination** — page through all 1,330 cameras, 25 per page
- **Pagination** — page through all 1,324 cameras, 25 per page
- **Stats bar** — live counts for total cameras, brands, 4K+, WiFi, and no-subscription models

---
Expand Down Expand Up @@ -59,7 +59,7 @@ cctv-camera-database/
│ ├── tapo/ # 56 cameras
│ └── …60 more brands
├── data/ # GENERATED — do not edit by hand
│ ├── cameras.json # all 1,330 cameras as one array
│ ├── cameras.json # all 1,324 cameras as one array
│ └── cameras.csv # flattened, spreadsheet-friendly
├── schema/
│ └── camera.schema.json
Expand Down Expand Up @@ -117,9 +117,9 @@ Or open `data/cameras.csv` in any spreadsheet for a quick browse.

| Metric | Count |
|--------|-------|
| Total cameras | **1,330** |
| Total cameras | **1,324** |
| Brands | **66** |
| Form factors | 9 (bullet, dome, turret, PTZ, dual-lens, panoramic, covert, box, fisheye) |
| Form factors | 10 (bullet, dome, turret, PTZ, dual-lens, panoramic, covert, box, fisheye, doorbell) |
| PoE wired | 863 |
| WiFi | 427 |
| Battery / wire-free | 130 |
Expand Down
10 changes: 8 additions & 2 deletions cameras/abus/ppic94021.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"id": "abus-ppic94021",
"brand": "ABUS",
"model": "PPIC94021",
"type": "covert",
"type": "doorbell",
"connectivity": [
"wifi"
],
Expand Down Expand Up @@ -48,5 +48,11 @@
"power_source": [
"battery",
"ac-mains"
]
],
"configs": {
"home_assistant": {
"integration": "onvif",
"notes": "ABUS doorbell. Check if RTSP/ONVIF is supported on this specific model — many ABUS doorbells are app-only. If RTSP is available, use ONVIF integration."
}
}
}
2 changes: 1 addition & 1 deletion cameras/abus/ppic94021.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
|-------|------|
| Brand | ABUS |
| Model | PPIC94021 |
| Type | covert |
| Type | doorbell |
| Connectivity | wifi |
| Resolution | 1080p HD (2MP) |
| Field of view | 130h° |
Expand Down
2 changes: 1 addition & 1 deletion cameras/adt/doorbell-cam-v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"id": "adt-doorbell-cam-v2",
"brand": "ADT",
"model": "ADT+ Video Doorbell",
"type": "covert",
"type": "doorbell",
"connectivity": [
"wifi"
],
Expand Down
2 changes: 1 addition & 1 deletion cameras/adt/doorbell-cam-v2.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
|-------|------|
| Brand | ADT |
| Model | ADT+ Video Doorbell |
| Type | covert |
| Type | doorbell |
| Connectivity | wifi |
| Resolution | 1080p HD (2MP) |
| Field of view | 150h° |
Expand Down
26 changes: 24 additions & 2 deletions cameras/amcrest/ad410-doorbell.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"aliases": [
"Amcrest Smart Home 2K WiFi Video Doorbell AD410"
],
"type": "covert",
"type": "doorbell",
"connectivity": [
"wifi"
],
Expand Down Expand Up @@ -36,6 +36,8 @@
"cloud": true
},
"protocols": [
"onvif",
"rtsp",
"http"
],
"ip_rating": "IP65",
Expand All @@ -62,5 +64,25 @@
"power_source": [
"battery",
"ac-mains"
]
],
"configs": {
"frigate": {
"detect": {
"width": 720,
"height": 960,
"fps": 5
},
"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": "Uses Dahua protocol (Amcrest standard). Portrait 3:4 aspect ratio — set detect to 720x960. Community favorite for local-only doorbell with Frigate. Button press exposed as Dahua event (AccessControl/CallNoAnswered). For two-way audio use go2rtc with Dahua back-channel."
},
"home_assistant": {
"integration": "amcrest",
"notes": "Native Amcrest integration. Doorbell button press exposed as 'doorbell' event entity. Two-way audio supported. Also works with ONVIF integration."
},
"blue_iris": {
"profile": "Dahua",
"notes": "Select 'Dahua' profile. Portrait 3:4 aspect ratio. Doorbell press triggers alert."
}
}
}
4 changes: 2 additions & 2 deletions cameras/amcrest/ad410-doorbell.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
|-------|------|
| Brand | Amcrest |
| Model | AD410 2K Video Doorbell |
| Type | covert |
| Type | doorbell |
| Connectivity | wifi |
| Resolution | 2K QHD (4MP, 2560×1440) |
| Lens | 1× Fixedmm F2.0 |
| Field of view | 163 diagonal (head-to-toe)° |
| Night vision | color (5m) |
| Power | Hardwired (16-24V AC) / battery |
| Protocols | http |
| Protocols | onvif, rtsp, http |
| IP rating | IP65 |
| Two-way audio | Yes |
| Released | 2022 |
Expand Down
27 changes: 25 additions & 2 deletions cameras/amcrest/ad410p.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
"cloud": true
},
"protocols": [
"onvif",
"rtsp",
"p2p"
],
"ip_rating": "IP65",
Expand All @@ -50,6 +52,27 @@
"https://amcrest.com/"
],
"power_source": [
"battery"
]
"battery",
"dc"
],
"configs": {
"frigate": {
"detect": {
"width": 720,
"height": 960,
"fps": 5
},
"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": "Uses Dahua protocol. Portrait 3:4 aspect ratio — set detect to 720x960. Popular local-only doorbell for Frigate users. Doorbell button press is exposed as a Dahua event (AccessControl/CallNoAnswered) — use Frigate MQTT or HA ONVIF integration to capture it."
},
"home_assistant": {
"integration": "amcrest",
"notes": "Native Amcrest integration or ONVIF. Doorbell button press exposed via Amcrest integration as 'doorbell' event. Two-way audio supported via the Amcrest integration WebRTC card."
},
"blue_iris": {
"profile": "Dahua",
"notes": "Select 'Dahua' profile (Amcrest uses Dahua protocol). Doorbell press triggers an alert. Portrait 3:4 ratio — adjust display accordingly."
}
}
}
2 changes: 1 addition & 1 deletion cameras/amcrest/ad410p.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
| Night vision | ir (5m) |
| Power | rechargeable battery / DC wired |
| Storage | microSD ≤ 256GB |
| Protocols | p2p |
| Protocols | onvif, rtsp, p2p |
| IP rating | IP65 |
| Two-way audio | Yes |
| Released | 2023 |
Expand Down
2 changes: 1 addition & 1 deletion cameras/annke/video-doorbell.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"id": "annke-video-doorbell",
"brand": "Annke",
"model": "Video Doorbell HD",
"type": "covert",
"type": "doorbell",
"connectivity": [
"wifi"
],
Expand Down
2 changes: 1 addition & 1 deletion cameras/annke/video-doorbell.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
|-------|------|
| Brand | Annke |
| Model | Video Doorbell HD |
| Type | covert |
| Type | doorbell |
| Connectivity | wifi |
| Resolution | 1080p HD (2MP) |
| Field of view | 130h° |
Expand Down
2 changes: 1 addition & 1 deletion cameras/arlo/video-doorbell-hd.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"aliases": [
"Arlo Essential Video Doorbell Wire-Free 2K"
],
"type": "covert",
"type": "doorbell",
"connectivity": [
"wifi"
],
Expand Down
2 changes: 1 addition & 1 deletion cameras/arlo/video-doorbell-hd.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
|-------|------|
| Brand | Arlo |
| Model | Video Doorbell HD |
| Type | covert |
| Type | doorbell |
| Connectivity | wifi |
| Resolution | 2K QHD (4MP, 2560×1440) |
| Lens | 1× |
Expand Down
2 changes: 1 addition & 1 deletion cameras/arlo/wired-doorbell-2nd-gen.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"aliases": [
"Arlo Wired Doorbell 2K 2024"
],
"type": "covert",
"type": "doorbell",
"connectivity": [
"wifi"
],
Expand Down
2 changes: 1 addition & 1 deletion cameras/arlo/wired-doorbell-2nd-gen.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
|-------|------|
| Brand | Arlo |
| Model | Video Doorbell Wired (2nd Gen) |
| Type | covert |
| Type | doorbell |
| Connectivity | wifi |
| Resolution | 2K QHD (4MP, 2560×1440) |
| Lens | 1× |
Expand Down
2 changes: 1 addition & 1 deletion cameras/blink/video-doorbell.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"aliases": [
"Blink Doorbell 2nd Gen"
],
"type": "covert",
"type": "doorbell",
"connectivity": [
"wifi"
],
Expand Down
2 changes: 1 addition & 1 deletion cameras/blink/video-doorbell.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
|-------|------|
| Brand | Blink |
| Model | Video Doorbell |
| Type | covert |
| Type | doorbell |
| Connectivity | wifi |
| Resolution | 1080p HD (2MP, 1920×1080) |
| Lens | 1× Fixedmm F2.0 |
Expand Down
3 changes: 1 addition & 2 deletions cameras/bosch/nde-5503-al.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@
"range_m": 30
},
"power": {
"method": "PoE (802.3af) / DC 12V / AC 24V",
"consumption_w": 9.2
"method": "PoE (802.3af) / DC 12V / AC 24V"
},
"storage": {
"onboard": true,
Expand Down
3 changes: 1 addition & 2 deletions cameras/dahua/ipc-hdw3849h-as-pv-pro.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@
"range_m": 30
},
"power": {
"method": "PoE / DC 12V",
"consumption_w": 10
"method": "PoE / DC 12V"
},
"storage": {
"onboard": true,
Expand Down
1 change: 0 additions & 1 deletion cameras/dahua/ipc-hdw3849h-as-pv.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
},
"power": {
"method": "PoE / DC 12V",
"consumption_w": 10,
"voltage": "12V (DC) / PoE"
},
"storage": {
Expand Down
3 changes: 1 addition & 2 deletions cameras/dahua/ipc-hfw3849t-as-pv-pro.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,7 @@
"range_m": 30
},
"power": {
"method": "PoE / DC 12V",
"consumption_w": 10
"method": "PoE / DC 12V"
},
"storage": {
"onboard": true,
Expand Down
20 changes: 18 additions & 2 deletions cameras/eufy/video-doorbell-dual.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"id": "eufy-video-doorbell-dual",
"brand": "Eufy",
"model": "Video Doorbell Dual (E8213)",
"type": "covert",
"type": "doorbell",
"connectivity": [
"wifi"
],
Expand Down Expand Up @@ -30,6 +30,7 @@
"cloud": false
},
"protocols": [
"rtsp",
"http"
],
"ip_rating": "IP65",
Expand All @@ -55,5 +56,20 @@
"power_source": [
"battery",
"ac-mains"
]
],
"configs": {
"frigate": {
"detect": {
"width": 720,
"height": 960,
"fps": 5
},
"rtsp_url_template": "rtsp://{ip}:8554/live0",
"notes": "RTSP must be enabled in Eufy app. Dual-lens doorbell — only the main lens streams via RTSP. Portrait aspect — set detect to 720x960. Hardwired recommended for continuous RTSP."
},
"home_assistant": {
"integration": "eufy_security",
"notes": "Use eufy_security HACS integration. Doorbell press exposed as event. Dual-lens: only main camera accessible via RTSP."
}
}
}
Loading
Loading