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
23 changes: 23 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,29 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

---

## [1.8.0] — 2026-06-18

Reolink data-quality pass — every Reolink camera verified against official Reolink sources (product pages, datasheet PDFs, support articles). Facts only; fields with no official value left empty.

### Added

- **Filled missing specs for 122 Reolink cameras** from official sources — `sensor`, `lens`, `video` (codecs/fps/streams), `dimensions_mm`, `weight_g`, `operating_temp_c`, and `environment`.

### Fixed

- **87 corrections** to existing Reolink data against official specs — resolution/megapixels (e.g. P340 6→12 MP, Duo 2 LTE 16→6 MP, several RLC-5xx 8→5 MP, Go PT 4→2 MP), IP ratings, and night-vision types. All megapixel changes independently re-verified.
- Set `protocols: []` on Reolink battery cameras — they don't support standalone RTSP/ONVIF/HTTP (only via a Reolink Home Hub).

### Removed

- **8 non-existent "ghost" Reolink models** that 404 on Reolink (fabricated or misnamed entries that padded the count): `argus-5-pro`, `argus-b60`, `cx810-wifi`, `e1-pro-v2`, `rlc-520a-wifi6`, `rlc-540wa`, `rlc-833wa`, `video-doorbell-se`.

### Changed

- Database now covers **1,306 cameras** across **67 brands**.

---

## [1.7.0] — 2026-06-17

### Removed
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,314 CCTV / IP camera models and their technical specifications, covering 67 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,306 CCTV / IP camera models and their technical specifications, covering 67 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%2C314-blue)](data/cameras.json)
[![cameras](https://img.shields.io/badge/cameras-1%2C306-blue)](data/cameras.json)
[![brands](https://img.shields.io/badge/brands-67-green)](cameras/)
[![license](https://img.shields.io/badge/license-CC0-lightgrey)](LICENSE)

Expand Down Expand Up @@ -31,7 +31,7 @@ Prefer to self-host or browse offline? A [standalone demo](docs/demo.html) (just
- **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,314 cameras, 25 per page
- **Pagination** — page through all 1,306 cameras, 25 per page
- **Stats bar** — live counts for total cameras, brands, 4K+, WiFi, and no-subscription models

---
Expand All @@ -56,14 +56,14 @@ a Claude Code skill for AI-powered video production built on [Remotion](https://
cctv-camera-database/
├── cameras/ # source of truth — one JSON file per camera, grouped by brand
│ ├── hikvision/ # 150 cameras
│ ├── reolink/ # 130 cameras
│ ├── reolink/ # 122 cameras
│ ├── dahua/ # 107 cameras
│ ├── hanwha/ # 71 cameras
│ ├── axis/ # 66 cameras
│ ├── tapo/ # 62 cameras
│ └── …60 more brands
├── data/ # GENERATED — do not edit by hand
│ ├── cameras.json # all 1,314 cameras as one array
│ ├── cameras.json # all 1,306 cameras as one array
│ └── cameras.csv # flattened, spreadsheet-friendly
├── schema/
│ └── camera.schema.json
Expand Down Expand Up @@ -121,7 +121,7 @@ Or open `data/cameras.csv` in any spreadsheet for a quick browse.

| Metric | Count |
|--------|-------|
| Total cameras | **1,314** |
| Total cameras | **1,306** |
| Brands | **67** |
| Form factors | 10 (bullet, dome, turret, PTZ, dual-lens, panoramic, covert, box, fisheye, doorbell) |
| PoE wired | 856 |
Expand Down
37 changes: 31 additions & 6 deletions cameras/reolink/altas-pt-ultra.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,8 @@
"nvr_compatible": false,
"cloud": true
},
"protocols": [
"http"
],
"ip_rating": "IP67",
"protocols": [],
"ip_rating": "IP65",
"audio": {
"microphone": true,
"speaker": true,
Expand All @@ -41,7 +39,7 @@
"WiFi 6",
"color night vision",
"no subscription",
"IP67"
"IP65"
],
"sources": [
"https://reolink.com/product/altas-pt-ultra/"
Expand All @@ -52,5 +50,32 @@
"power_source": [
"battery",
"solar"
]
],
"sensor": "1/1.8\" CMOS",
"lens": {
"focal_length_mm": "4",
"varifocal": false,
"count": 1
},
"video": {
"codecs": [
"H.265",
"H.264"
],
"max_fps": 15,
"streams": [
{
"name": "main",
"resolution": "3840x2160",
"fps": 15,
"codec": "H.265"
}
]
},
"environment": [
"outdoor"
],
"dimensions_mm": "178 x 151 x 102",
"weight_g": 853,
"operating_temp_c": "-20 to 55"
}
32 changes: 28 additions & 4 deletions cameras/reolink/argus-2.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,7 @@
"nvr_compatible": false,
"cloud": true
},
"protocols": [
"http"
],
"protocols": [],
"ip_rating": "IP65",
"audio": {
"microphone": true,
Expand All @@ -48,5 +46,31 @@
"power_source": [
"battery",
"solar"
]
],
"sensor": "Starlight CMOS",
"lens": {
"varifocal": false,
"count": 1
},
"video": {
"codecs": [
"H.264"
],
"max_fps": 15,
"streams": [
{
"name": "main",
"resolution": "1920x1080",
"fps": 15,
"codec": "H.264"
}
]
},
"environment": [
"indoor",
"outdoor"
],
"dimensions_mm": "96 x 58 x 59",
"weight_g": 260,
"operating_temp_c": "-10 to 55"
}
31 changes: 27 additions & 4 deletions cameras/reolink/argus-2e.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,7 @@
"nvr_compatible": false,
"cloud": true
},
"protocols": [
"http"
],
"protocols": [],
"ip_rating": "IP65",
"audio": {
"microphone": true,
Expand All @@ -49,5 +47,30 @@
"power_source": [
"battery",
"solar"
]
],
"sensor": "1/2.7\" CMOS",
"lens": {
"varifocal": false,
"count": 1
},
"video": {
"codecs": [
"H.264"
],
"max_fps": 15,
"streams": [
{
"name": "main",
"resolution": "2312x1304",
"fps": 15,
"codec": "H.264"
}
]
},
"environment": [
"outdoor"
],
"dimensions_mm": "105 x 105 x 58",
"weight_g": 310,
"operating_temp_c": "-10 to 55"
}
32 changes: 28 additions & 4 deletions cameras/reolink/argus-3-2k.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,7 @@
"nvr_compatible": false,
"cloud": true
},
"protocols": [
"http"
],
"protocols": [],
"ip_rating": "IP65",
"audio": {
"microphone": true,
Expand All @@ -49,5 +47,31 @@
"power_source": [
"battery",
"solar"
]
],
"sensor": "1/3\" CMOS",
"lens": {
"varifocal": false,
"count": 1
},
"video": {
"codecs": [
"H.265"
],
"max_fps": 15,
"streams": [
{
"name": "main",
"resolution": "2560x1440",
"fps": 15,
"codec": "H.265"
}
]
},
"environment": [
"indoor",
"outdoor"
],
"dimensions_mm": "121 x 90 x 56",
"weight_g": 330,
"operating_temp_c": "-10 to 55"
}
29 changes: 24 additions & 5 deletions cameras/reolink/argus-3-pro-au.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
},
"field_of_view_deg": "122 diagonal",
"night_vision": {
"type": "color",
"type": "hybrid",
"range_m": 10
},
"power": {
Expand All @@ -40,9 +40,7 @@
"nvr_compatible": false,
"cloud": false
},
"protocols": [
"rtsp"
],
"protocols": [],
"ip_rating": "IP65",
"audio": {
"microphone": true,
Expand Down Expand Up @@ -86,5 +84,26 @@
"profile": "Reolink",
"notes": "Select 'Reolink' profile. If not listed, use Generic/ONVIF with RTSP path /h264Preview_01_main."
}
}
},
"dimensions_mm": "121 x 90 x 56",
"weight_g": 330,
"operating_temp_c": "-10 to 55",
"video": {
"codecs": [
"H.265",
"H.264"
],
"max_fps": 15,
"streams": [
{
"name": "Main stream",
"resolution": "2880x1620",
"fps": 15,
"codec": "H.265"
}
]
},
"environment": [
"outdoor"
]
}
12 changes: 8 additions & 4 deletions cameras/reolink/argus-3-pro.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,7 @@
"nvr_compatible": false,
"cloud": false
},
"protocols": [
"rtsp"
],
"protocols": [],
"ip_rating": "IP65",
"audio": {
"microphone": true,
Expand Down Expand Up @@ -104,5 +102,11 @@
"codec": "H.264"
}
]
}
},
"dimensions_mm": "121 x 90 x 56",
"weight_g": 330,
"environment": [
"indoor",
"outdoor"
]
}
26 changes: 22 additions & 4 deletions cameras/reolink/argus-3-ultra.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,7 @@
"nvr_compatible": false,
"cloud": false
},
"protocols": [
"rtsp"
],
"protocols": [],
"ip_rating": "IP65",
"audio": {
"microphone": true,
Expand Down Expand Up @@ -78,5 +76,25 @@
"profile": "Reolink",
"notes": "Select 'Reolink' profile. If not listed, use Generic/ONVIF with RTSP path /h264Preview_01_main."
}
}
},
"dimensions_mm": "127 x 90 x 56",
"weight_g": 335,
"operating_temp_c": "-10 to 55",
"video": {
"codecs": [
"H.265"
],
"max_fps": 15,
"streams": [
{
"name": "Main stream",
"resolution": "3840x2160",
"fps": 15,
"codec": "H.265"
}
]
},
"environment": [
"outdoor"
]
}
Loading
Loading