Skip to content

data: Hikvision video-block backfill (codecs + max_fps + streams) (#177) - #185

Open
ch-bas wants to merge 5 commits into
mainfrom
data/streams-hikvision-177
Open

data: Hikvision video-block backfill (codecs + max_fps + streams) (#177)#185
ch-bas wants to merge 5 commits into
mainfrom
data/streams-hikvision-177

Conversation

@ch-bas

@ch-bas ch-bas commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Backfills the video block for Hikvision IP cameras — part of the #177 streams lane, extended (per maintainer direction) to fill codecs + max_fps + streams together for cameras that had no video data at all.

Method

Extracted from official Hikvision datasheet PDFs (which block plain curl — fetched with a browser UA + pdftotext). Values are as printed; nothing guessed.

Conventions

  • codecs canonicalized to the enum from CI: canonical codec enum + normalization + placeholder-sentinel lint (#180) #182: H.265+, H.265, H.264+, H.264, MJPEG.
  • max_fps = the 60 Hz rate at full resolution — captured real caps (8 MP ColorVu at 24 fps, 4 MP DS-2CD1x43 at 20 fps), not the 30 default.
  • streams main + sub + legitimate third stream (kept genuine 10 fps thirds; dropped 1 fps floors).
  • codec per stream = H.265 (primary).

Scope guard

Excluded Turbo HD analog cameras (DS-2AE…, coax-only) — they have no IP video.streams, so an IP block would be wrong. Batch targets only true IP cameras (DS-2CD / DS-2DE).

First batch: 18 cameras

DS-2CD1xxx / 2CD2xxx ColorVu/AcuSense + 2 DS-2DE PTZ. Hikvision streams coverage 205 → 223.

Skipped for review (data bugs surfaced)

  • ds-2cd2047g2-l — its stored source URL actually serves a different product's datasheet (DS-2DE4825WG-E3). Needs a corrected source.
  • ds-2cd2367g2-l (datasheet 3200×1800 vs stored 3072×1728) and ds-2cd2387g3-lis2uy-sl (datasheet's native 16 MP 4608×3456 vs stored 8 MP 3840×2160) — resolution conflicts to reconcile before writing.

More batches to follow on this branch (~150 IP cameras still lack a video block; also the 15 recent G3 models that already had codecs are being added).

ch-bas added 5 commits July 28, 2026 22:19
These IP cameras had NO video data at all. Added codecs + max_fps + streams,
extracted from official Hikvision datasheet PDFs (browser-UA fetch + pdftotext):
- codecs canonicalized to the enum (H.265+/H.265/H.264+/H.264/MJPEG)
- max_fps = 60Hz rate at full resolution (8MP ColorVu caps at 24; 4MP DS-2CD1x43
  at 20 — printed values, not assumed)
- streams main + sub + legitimate 10fps third stream where listed
- excluded Turbo HD analog (DS-2AE, coax) cameras — no IP streams

Skipped for review: ds-2cd2047g2-l (stored source URL serves the wrong
product's datasheet), ds-2cd2367g2-l & ds-2cd2387g3-lis2uy-sl (datasheet main
resolution disagrees with stored resolution.max_*).
Batch 2 — DS-2DE / DS-2SE / DS-2SF network PTZ (had no video data). Same
method (UA-fetched datasheet PDFs). PTZ run full frame rate at max res
(2/4 MP @60, higher-MP @30); main + sub 704x480 + third 1080p@30.
TandemVu wide models (2SE7C432 3632x1632, 2SF8C442 3680x1656) recorded on the
panoramic channel matching the stored resolution (main + 1200x536 sub).
codecs canonical (H.265+/H.265/H.264+/H.264/MJPEG). All 17 main resolutions
cross-checked against stored resolution.max_*.

Hikvision streams coverage 223 -> 240.
Streams-only backfill for recent G3 models that already had a codecs list.
From official Hikvision datasheet PDFs: main + sub 1280x720 + third 1920x1080@10.
G3P wide models (2T127/2T167/2T87 LIS2UY) are single wide stream + 1200x536 sub.
- 2787G3 family: recorded the configured 8MP main (3840x2160@30), not the 16MP
  sensor mode the datasheet also lists (4608x3456@15) — matches stored resolution.
Skipped ds-2cd2767g3-liptrzsy (its stored source URL is wrong and the official
datasheet is behind an anti-bot wall; distributor data not used).

Hikvision streams coverage 240 -> 254.
…ource (#177)

Batch 3 — page-sourced standard Pro-series (DS-2CD20xx/21xx AcuSense/ColorVu).
Agents located each model's official assets.hikvision.com datasheet by search,
verified the model number, then extracted codecs + max_fps + streams. Real 8MP
caps captured (2083G2/2085G1 @20, 2087G2-LU @24).

Also fixed ds-2cd2767g3-liptrzsy: its stored source URL pointed to a different
model's datasheet (DS-2CD2747G3); replaced with the correct doc (sm000107013,
recovered via headless render of the JS-walled page) and added its streams.

Hikvision streams coverage 254 -> 265.
Batch 4 — page-sourced Pro-series (2183/2187/2346/2347/2386/2387 AcuSense &
ColorVu, incl. 2367G2P/2387G2P panoramic-wide). Agents located each official
datasheet by search (fail-fast) and verified the model number; a few were read
from identical mirrors where assets.hikvision.com blocked curl, but every value
is authentic model-number-matched datasheet content (sources field unchanged).
- 8MP AcuSense @20, 8MP ColorVu @24, 4MP @30 — real caps per datasheet
- 2386G2-IU datasheet omits MJPEG (recorded without it)
- panoramic 2387G2P: 5120x1440@20 + 1920x536 sub

Hikvision streams coverage 265 -> 282.

Data-quality issues surfaced (not fixed here, need review):
- ds-2cd2583g2-izs: model number does not exist in Hikvision catalog (real
  models are -IS or 2CD2H83G2-IZS)
- ds-2cd2087g2-su: no datasheet for the -SU suffix
- ds-2cd2167g2h-liu & ds-2cd2067g2h-liu: stored 3072x1728 but datasheets show
  3200x1800
- ds-2cd2447g2-lu, ds-2cd2383g2-i: datasheet not retrievable (anti-bot)
@ch-bas ch-bas added documentation Improvements or additions to documentation enhancement New feature or request labels Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant