[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-85154":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":15,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":16,"rankGlobal":10,"rankLanguage":10,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":20,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":37,"readmeContent":38,"aiSummary":10,"trendingCount":15,"starSnapshotCount":15,"syncStatus":13,"lastSyncTime":39,"discoverSource":40},85154,"cctv-camera-database","ch-bas\u002Fcctv-camera-database","ch-bas","Open database of 1,300+ CCTV camera specs across 65 brands — searchable, filterable, CC0","https:\u002F\u002Fch-bas.github.io\u002Fcctv-camera-database\u002F",null,"JavaScript",55,2,52,0,37.43,"Other",false,"main",true,[22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"blue-iris","cctv","cctv-cameras","dahua","data-seed","frigate","frigate-nvr","frontfamily","hikvision","homeassistant","ip-camera","open-data","reolink","security-camera","surveillance","2026-06-15 10:04:57","# CCTV Camera Database\n\nAn open, structured database of 1,314 CCTV \u002F 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).\n\n[![cameras](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcameras-1%2C314-blue)](data\u002Fcameras.json)\n[![brands](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fbrands-67-green)](cameras\u002F)\n[![license](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-CC0-lightgrey)](LICENSE)\n\n---\n\n## Why this exists\n\nCamera spec sheets are scattered across vendor PDFs, retailer pages, and paywalled databases (IPVM, etc.) in inconsistent formats. This repo normalises them into one machine-readable structure so they can be compared, filtered, and reused.\n\n---\n\n## Browse online\n\n**[Live Demo ](https:\u002F\u002Fch-bas.github.io\u002Fcctv-camera-databse)**  \n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fdemo.gif\" alt=\"CCTV Camera Database — browse, search, filter, and inspect 1,296 cameras across 64 brands\" width=\"800\" \u002F>\n\u003C\u002Fp>\n\n**What you see above:**\n- **Search** — instant full-text search across brand, model, and features\n- **Filter** — narrow by brand, camera type, night vision, resolution, or market\n- **Sort** — click any column header to sort ascending\u002Fdescending\n- **Detail drawer** — click a row to slide open the full spec sheet (resolution, connectivity, protocols, storage, audio, pricing, source links)\n- **Pagination** — page through all 1,314 cameras, 25 per page\n- **Stats bar** — live counts for total cameras, brands, 4K+, WiFi, and no-subscription models\n\n---\n\n## How this was built\n\nThe database was assembled with the help of [Claude Code](https:\u002F\u002Fclaude.ai\u002Fcode).\n\nSpecs are sourced from manufacturer datasheets and reputable retailer listings —\neach entry includes a `sources` array with URLs. As with any compiled dataset,\nerrors are possible; always verify against the official datasheet before purchasing\nor deploying.\n\nThe demo video was produced with [hve-spielberg](https:\u002F\u002Fgithub.com\u002Fnebrass\u002Fhve-spielberg),\na Claude Code skill for AI-powered video production built on [Remotion](https:\u002F\u002Fremotion.dev).\n\n---\n\n## Repository layout\n\n```\ncctv-camera-database\u002F\n├── cameras\u002F              # source of truth — one JSON file per camera, grouped by brand\n│   ├── hikvision\u002F        # 150 cameras\n│   ├── reolink\u002F          # 130 cameras\n│   ├── dahua\u002F            # 107 cameras\n│   ├── hanwha\u002F           #  71 cameras\n│   ├── axis\u002F             #  66 cameras\n│   ├── tapo\u002F             #  62 cameras\n│   └── …60 more brands\n├── data\u002F                 # GENERATED — do not edit by hand\n│   ├── cameras.json      # all 1,314 cameras as one array\n│   └── cameras.csv       # flattened, spreadsheet-friendly\n├── schema\u002F\n│   └── camera.schema.json\n├── scripts\u002F\n│   └── build.js          # aggregates + validates cameras\u002F → data\u002F\n├── docs\u002F\n│   └── glossary.md\n├── CONTRIBUTING.md\n└── LICENSE\n```\n\n---\n\n## Quick start\n\n```bash\nnpm install   # installs Ajv for schema validation (no runtime deps)\nnpm run build # validates all JSON, writes data\u002Fcameras.json + data\u002Fcameras.csv\n```\n\n### Querying the data\n\n```js\nconst cameras = require('.\u002Fdata\u002Fcameras.json');\n\n\u002F\u002F All 4K PoE outdoor cameras\nconst poe4k = cameras.filter(c =>\n  c.connectivity?.includes('poe') &&\n  c.resolution.megapixels >= 8\n);\n\n\u002F\u002F All cameras with color night vision\nconst colorNight = cameras.filter(c =>\n  c.night_vision?.type === 'color'\n);\n\n\u002F\u002F All cameras for the UK market\nconst uk = cameras.filter(c =>\n  c.markets?.includes('UK')\n);\n\n\u002F\u002F All cameras with no subscription fee\nconst noSub = cameras.filter(c =>\n  c.features?.some(f => f.toLowerCase().includes('no subscription'))\n);\n```\n\nOr open `data\u002Fcameras.csv` in any spreadsheet for a quick browse.\n\n---\n\n## Coverage\n\n### By the numbers\n\n| Metric | Count |\n|--------|-------|\n| Total cameras | **1,314** |\n| Brands | **67** |\n| Form factors | 10 (bullet, dome, turret, PTZ, dual-lens, panoramic, covert, box, fisheye, doorbell) |\n| PoE wired | 856 |\n| WiFi | 430 |\n| Battery \u002F wire-free | 155 |\n| 4K \u002F 8MP+ | 417 |\n| 4–5MP | 594 |\n| 1080p–2MP | 292 |\n\n### All 67 brands\n\n| Brand | Cameras | Segment |\n|-------|---------|---------|\n| Hikvision | 150 | Enterprise + consumer, global |\n| Reolink | 130 | Prosumer, no-subscription, global |\n| Dahua | 107 | Enterprise + consumer, global |\n| Hanwha | 71 | Enterprise AI, Korea\u002Fglobal |\n| Axis | 66 | Enterprise premium, global |\n| Tapo (TP-Link) | 62 | Consumer budget, global |\n| Eufy (Anker) | 36 | Consumer no-subscription, global |\n| Arlo | 29 | Consumer premium wire-free, global |\n| Ring (Amazon) | 25 | Consumer ecosystem, US\u002FEU\u002FAU |\n| Avigilon | 24 | Enterprise NDAA, US\u002FCA |\n| Amcrest | 24 | Prosumer, US |\n| Ubiquiti UniFi | 26 | Prosumer\u002FSMB, US\u002Fglobal |\n| Annke | 23 | Prosumer, global |\n| Google Nest | 19 | Consumer smart home, global |\n| Bosch | 22 | Enterprise, EU\u002Fglobal |\n| EZVIZ (Hikvision) | 21 | Consumer, global |\n| Lorex | 21 | Consumer NVR systems, CA\u002FUS |\n| HiLook (Hikvision) | 20 | Budget installer, EU\u002FUK\u002FAU |\n| Lupus Electronics | 20 | Privacy-first, DE\u002FAT\u002FCH |\n| Tiandy | 20 | Enterprise + prosumer, CN\u002FME\u002FAfrica |\n| Uniview | 15 | Enterprise NDAA, global |\n| Blink (Amazon) | 16 | Budget battery, US\u002FUK\u002FEU |\n| Swann | 16 | Consumer, AU\u002FUS\u002FUK |\n| ABUS | 15 | Consumer\u002FSMB GDPR-first, DE\u002FAT\u002FCH |\n| CP Plus | 14 | India #2 brand, IN |\n| GeoVision | 15 | Enterprise, TW\u002FAsia\u002Fglobal |\n| IMOU (Dahua) | 15 | Consumer, global |\n| Milesight | 15 | Prosumer\u002FEnterprise IoT, global |\n| Pelco | 15 | Enterprise legacy, NA\u002Fglobal |\n| Vivotek | 15 | Enterprise AI, global |\n| Wyze | 15 | Budget consumer, US |\n| ACTi | 14 | Enterprise IP + analog, NDAA, TW\u002Fglobal |\n| FLIR (Teledyne) | 12 | Thermal imaging, NA\u002FEU |\n| Kedacom | 12 | Enterprise, CN\u002Fglobal |\n| Sunell | 12 | Prosumer\u002FEnterprise, CN\u002Fglobal |\n| SV3C | 13 | Budget consumer, CN\u002FUS |\n| Synology | 12 | NAS-native cameras, global |\n| TVT Digital | 12 | Prosumer budget, CN\u002FIN\u002FSE Asia |\n| Hi-Focus | 10 | Made-in-India, BIS certified, IN |\n| Mobotix | 9 | Enterprise GDPR-first, EU |\n| Costar | 8 | Enterprise (Arecont successor), US |\n| Intelbras | 8 | #1 Latin America, BR\u002FAR\u002FLATAM |\n| Luma (Snap One) | 8 | Custom integrator, NA |\n| Yale | 8 | Consumer smart home, UK\u002FEU |\n| Camius | 6 | Consumer direct, US |\n| Cathexis | 6 | Enterprise VMS, ZA\u002FME |\n| LaView | 6 | Consumer WiFi\u002Fsolar\u002F4G, US |\n| March Networks | 6 | Enterprise retail\u002Fbanking, NA |\n| Netatmo | 6 | Privacy-first no-subscription, EU |\n| Secureye | 6 | Budget consumer, IN |\n| ADT | 4 | Monitored security, US |\n| Hive (British Gas) | 5 | Consumer smart home, UK |\n| KBvision | 5 | Budget installer, VN |\n| Somfy | 3 | Smart home, FR\u002FEU |\n| Godrej | 4 | Consumer, IN |\n| Honeywell | 4 | Enterprise, US\u002FIN |\n| Qubo (Hero) | 4 | Consumer IoT, IN |\n| SimpliSafe | 4 | DIY monitored security, US |\n| Zebronics | 4 | Budget consumer, IN |\n| Aqara | 3 | Smart home HomeKit, EU\u002Fglobal |\n| i-PRO (Panasonic) | 3 | Enterprise #1 Japan, JP\u002Fglobal |\n| IDIS | 3 | Enterprise DirectIP, KR\u002Fglobal |\n| Steinel | 3 | Outdoor smart light\u002Fcam, DE\u002FAT\u002FCH |\n| Verkada | 3 | Cloud-managed enterprise, US\u002FCA |\n| Ajax | 2 | Professional alarm, EU\u002FUK |\n| Bosch Smart Home | 2 | Consumer smart home, DE\u002FAT\u002FCH |\n| Canon | 2 | Enterprise optical, JP\u002Fglobal |\n\n### Market coverage\n\nCameras are tagged with `markets[]` where relevant:\n\n| Market | Tagged cameras | Key brands |\n|--------|---------------|-----------|\n| EU | 88 | ABUS, Netatmo, Aqara, Somfy, Axis |\n| DE | 58 | ABUS, Lupus, Steinel, Bosch Smart Home |\n| AT \u002F CH | 40 each | ABUS, Lupus, Aqara, Netatmo |\n| UK | 39 | Yale, Hive, Ajax, Ring, HiLook |\n| global | 37 | Hikvision, Axis, Hanwha, i-PRO |\n| IN | 32 | CP Plus, Qubo, Godrej, Zebronics |\n| US | 28 | Wyze, Blink, Verkada, SimpliSafe, ADT |\n| FR | 25 | Somfy, Netatmo, EZVIZ |\n| AE \u002F SA \u002F MENA | 22 each | Hikvision, Dahua, Tapo, EZVIZ |\n| VN | 9 | KBvision, Hikvision, Dahua, EZVIZ |\n| JP | 6 | i-PRO, Canon, Tapo |\n| KR | 5 | Hanwha, IDIS |\n| AU | 13 | Swann, Reolink, Ring, Arlo, Eufy |\n| CA | 13 | Lorex, Avigilon, Ring, Reolink |\n| AR \u002F BR \u002F CL \u002F LATAM | 10 each | Intelbras, Hikvision, Dahua, EZVIZ |\n\n---\n\n## Schema\n\nEach camera JSON follows `schema\u002Fcamera.schema.json`. Required fields:\n\n```json\n{\n  \"id\": \"reolink-rlc-823a\",\n  \"brand\": \"Reolink\",\n  \"model\": \"RLC-823A\",\n  \"type\": \"bullet\",\n  \"resolution\": { \"megapixels\": 8, \"label\": \"4K UHD\" }\n}\n```\n\nCommon optional fields:\n\n| Field | Type | Example |\n|-------|------|---------|\n| `connectivity` | `string[]` | `[\"poe\", \"wifi\", \"ethernet\"]` |\n| `night_vision.type` | `string` | `\"color\"` \u002F `\"ir\"` \u002F `\"none\"` |\n| `night_vision.range_m` | `number` | `30` |\n| `power.method` | `string` | `\"PoE (802.3af) \u002F DC 12V\"` |\n| `ip_rating` | `string` | `\"IP67\"` |\n| `audio.two_way` | `boolean` | `true` |\n| `protocols` | `string[]` | `[\"onvif\", \"rtsp\"]` |\n| `markets` | `string[]` | `[\"UK\", \"EU\", \"DE\"]` |\n| `msrp_usd` \u002F `msrp_eur` \u002F `msrp_gbp` | `number` | `79.99` |\n| `features` | `string[]` | `[\"no subscription\", \"IP67\"]` |\n| `sources` | `string[]` | datasheet \u002F retailer URLs |\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for the full field reference and naming conventions.\n\n---\n\n## Contributing\n\n**Three paths — pick the one that fits you:**\n\n| | Path | Best for |\n|-|------|---------|\n| 🌐 | [Open a GitHub issue](..\u002F..\u002Fissues\u002Fnew?template=add-camera.yml) | Anyone — fill a web form, no cloning needed |\n| 🧙 | `npm run add` — interactive CLI wizard | Regular contributors — guided questions, writes JSON for you |\n| 🛠 | Edit JSON directly | Developers — see [CONTRIBUTING.md](CONTRIBUTING.md) |\n\nThe wizard flow:\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FYOUR_USERNAME\u002Fcctv-camera-database.git\ncd cctv-camera-database && npm install\nnpm run add      # asks questions, writes the JSON file\nnpm run build    # validates everything\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for the full field reference, naming conventions, and what makes a good entry.\n\n---\n\n## Roadmap\n\n- [ ] JSON Schema validation in CI (GitHub Actions)\n- [ ] Static web frontend — search, filter, compare\n- [ ] Side-by-side comparison view (2–4 cameras)\n- [ ] Price history tracking (msrp over time)\n- [ ] Frigate-compatible config export\n- [ ] Home Assistant integration template\n- [ ] API endpoint (read-only, hosted)\n\n---\n\n## Community\n\n| | |\n|-|--|\n| 🐛 Report a data error | [Open a correction issue](..\u002F..\u002Fissues\u002Fnew?template=correction.yml) |\n| ➕ Add a missing camera | [Open a camera submission](..\u002F..\u002Fissues\u002Fnew?template=add-camera.yml) |\n| 🔒 Report a security issue | [GitHub Security Advisories](..\u002F..\u002Fsecurity\u002Fadvisories\u002Fnew) |\n| 💬 Code of conduct | [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) |\n| 📋 Changelog | [CHANGELOG.md](CHANGELOG.md) |\n\n## Disclaimer\n\nSpecifications are compiled from manufacturer datasheets and reputable retailers and may contain errors or become outdated. Always confirm against the official datasheet (linked in each entry's `sources` array) before purchasing. Not affiliated with any manufacturer.\n\n## License\n\nData is released under [CC0 1.0](LICENSE) (public domain). Trademarks and model names belong to their respective owners.\n","2026-06-15 02:30:10","CREATED_QUERY"]