DVR/NVR and Surveillance System Forensics
How Indian cyber cells acquire and parse DVR and NVR evidence: proprietary file systems, H.264/H.265 frame extraction, BSA 2023 Section 63 admissibility, and the Tomaso Bruno cautionary line.
Practice with national-level exam (FACT, FACT Plus, NET, CUET, etc.) mocks, learn from structured notes, and get your doubts solved in one place.
How Indian cyber cells acquire and parse DVR and NVR evidence: proprietary file systems, H.264/H.265 frame extraction, BSA 2023 Section 63 admissibility, and the Tomaso Bruno cautionary line.
A DVR or NVR is a small embedded computer that records video to one or more hard disks, and the file system on those disks is almost never FAT or NTFS. The recorder boots from a vendor firmware, writes frames in a fixed-segment ring buffer, and reads back through a vendor app that knows the proprietary layout. By the time the seizure team arrives at a Mumbai jewellery-shop dacoity scene, the recorder has been overwriting older footage for days or weeks, the date-time overlay on screen may drift several minutes from wall time, and the only safe move is to power down, photograph the LED state, image the HDDs behind a write-blocker, and parse offline with DVR Examiner or Magnet AXIOM Video. Cloud-recording NVRs change the entire problem: the disk on the wall holds at most a recent cache, and the actual evidence sits in a vendor data centre that needs a BNSS Section 94 notice to release.
The contrarian point most candidates miss is that the chain-of-custody problem on a CCTV scene is not the disk image, it is the clock. A DVR clock typically drifts 1 to 5 minutes per month against NTP, the recorder almost never has internet sync configured in Indian small-shop installations, and the timestamps burned into the H.264 stream are taken from this drifted clock. The Supreme Court in Tomaso Bruno v State of UP (2015) treated missing CCTV in a custody case as itself a fact relevant to the prosecution. The 2026 examiner faces the inverse situation more often: CCTV is present, but the timestamps do not line up with mobile-tower CDR, with the call recording, or with the constable's pocket book, and a defence counsel will use that gap.
Three architectures, three different evidence-acquisition playbooks.
A traditional DVR takes analog feeds from CCTV cameras. Each camera connects over a 75-ohm coax cable terminated in a BNC connector, and the DVR has a fixed number of BNC inputs on its rear panel (typically 4, 8, 16 or 32). Inside the DVR, an encoder chip digitises each feed, compresses it with H.264 or H.265, and writes the segment files to internal SATA HDDs. Indian retail and small-shop fleets through about 2018 are overwhelmingly DVR. Brands seen most often at state cyber wings are CP Plus, Hikvision (older models), Dahua, Honeywell and Zicom.
An NVR takes already-digital streams from IP cameras. The camera contains its own encoder, the stream travels over Ethernet using ONVIF or a vendor protocol, and the NVR multiplexes and records. Power over Ethernet (PoE) is typical: a single Cat 5e or Cat 6 cable carries both the video and the 48 V DC for the camera, so the NVR doubles as a PoE switch. Hybrid recorders accept both analog (BNC) and IP camera feeds, which is common during Indian retrofits where half the cameras have been upgraded and half have not.
A cloud-recording NVR splits the storage. A small local cache (often a single 1 TB or 2 TB HDD, sometimes an SD card) holds the last few hours or days. The primary copy is uploaded continuously to a vendor cloud: Hikvision Hik-Connect, Dahua DSS, Wyze, EZVIZ, CP Plus iCloud. The on-premise disk image, by itself, will not contain footage from a week ago. The vendor must be subpoenaed.
| Property | DVR (analog/CCTV) | NVR (IP camera) | Cloud-recording NVR |
|---|---|---|---|
| Camera link | Coax with BNC | Ethernet with PoE | Ethernet with PoE, plus WAN to cloud |
Why old footage is gone before you arrive.
The HDDs inside a DVR or NVR are formatted with the vendor's own file system, which the device firmware understands and the host OS does not. Most consumer-grade DVRs use a single HDD with no redundancy. Commercial NVRs use multiple HDDs in JBOD (just a bunch of disks, no redundancy), RAID 0 (striping, no redundancy, more capacity), RAID 1 (mirroring, redundancy at the cost of half the capacity), RAID 5 (striping with single parity, one disk's worth of redundancy) or RAID 10 (mirrored pairs striped, used in larger setups). Standalone DVRs sometimes have a small embedded NAND chip for firmware and configuration with the HDDs holding only the video.
The on-disk layout, across vendors, follows a recurring pattern. A small header region holds the magic bytes and the format version. A timestamp directory or index maps each minute (or each motion event) to one or more segment files. Segment files are fixed in size, typically 256 MB, and are written as a circular ring buffer: once the disk is full, the oldest segment is overwritten by the newest. There is no recycle bin, no journal that holds the prior version. A 4 TB DVR recording 16 cameras at 1080p with H.264 will hold roughly 20 to 30 days of footage before the ring closes. After that, every new second of recording destroys an old second from the same offset in the ring.
The forensic implication is that any case more than a few weeks old, on a small-shop DVR, may already be physically gone. The examiner cannot conjure data that the ring has overwritten. Recovery work focuses on what is still in the ring, plus whatever fragments survive in slack space, in the disk's reserved areas, or in any unused sectors the vendor reserves for system logs.
H.264 versus H.265, .dav versus .h264 raw, I-frame versus P-frame.
H.264, also called AVC (Advanced Video Coding), is the dominant codec in Indian DVR and NVR fleets in 2026. It splits the stream into Groups of Pictures (GOPs), each starting with an I-frame (a complete still image) followed by P-frames (predicted from the previous frame, smaller, only encoding differences) and B-frames (bidirectional, predicted from both previous and following frames, smallest). A typical I-frame interval is 25 to 50 frames, which at 25 fps means one complete picture every 1 to 2 seconds. Between I-frames, the stream only carries motion deltas.
H.265, also called HEVC (High Efficiency Video Coding), is the newer codec, roughly twice as efficient as H.264 for the same visual quality. Indian NVR shipments since about 2022 default to H.265, especially for 4K cameras where bandwidth dominates. MPEG-4 is the predecessor codec, still seen on Indian government installations procured in the 2010s. MJPEG is the oldest: every frame is a standalone JPEG, no inter-frame compression, very inefficient on storage but trivial to extract frame by frame.
| Codec / wrapper | Typical use | Frame structure | Forensic extraction |
|---|---|---|---|
| H.264 (AVC) raw .264 | Most current Indian DVR/NVR | I, P, B frames in GOPs | FFmpeg -i in.264 -vf select='eq(pict_type,I)' for I-frames |
| H.265 (HEVC) raw .265 | Newer 4K NVR | IDR, P, B in HEVC GOPs | FFmpeg with HEVC support for I-frame extraction |
Photograph, power down, write-block, image, hash. Do not boot the recorder on its own disk.
The on-scene workflow is short and the order matters. A booted DVR, left running, will continue to overwrite the ring buffer; every minute of delay potentially loses the oldest minute of evidence. A DVR booted from its own disk in the lab will also start writing, which destroys integrity. The standard sequence is below.
DVR Examiner does the parsing. FFmpeg does the frame work. The clock comes from anywhere except the DVR.
DVR Examiner (Salvation Data), the de facto industry standard, ships a recogniser library covering several hundred DVR and NVR firmware fingerprints. Load the disk image, it identifies the vendor and parses the ring buffer, lists camera channels and timestamps, and exports playable .mp4 segments with the date-time overlay preserved. Magnet AXIOM Video covers a similar set with tighter integration to AXIOM's case management. MD-Video (a Chinese tool seen in some Indian state-FSL labs) covers obscure South Asian rebrands. AmpedDVRConv specialises in container conversion when the underlying codec is recoverable but the container is not (typical for damaged .dav). For everything else, FFmpeg builds usable pipelines.
For frame-level work, FFmpeg is the bedrock. Common patterns the field examiner uses:
ffmpeg -i evidence.264 -vf "select='eq(pict_type,I)'" -vsync vfr i-%05d.png writes one PNG per I-frame. The numbering gives a stable reference for the court exhibit list.ffmpeg -ss 00:14:32 -i evidence.mp4 -frames:v 1 -q:v 2 still.jpg seeks to the moment, decodes one frame, writes a JPEG.ffprobe -v error -show_streams -show_format evidence.dav reveals codec, resolution, frame rate, GOP structure, container metadata. This goes into the exhibit description verbatim.ffmpeg -i evidence.264 -c copy evidence.mp4 repackages an H.264 raw stream into MP4 for viewing in court IT, with no quality loss and a verifiable byte-for-byte preservation of the codec layer.Temporal correlation is where the work pays off or fails. The DVR clock drifts: 1 to 5 minutes per month is normal for Indian field installations without NTP. Drift correction is done by taking the wall-time photograph captured on scene (DVR overlay versus wristwatch), computing the offset, and then propagating it linearly back across the recording window. If a relevant event happened 14 days before the seizure and the DVR was 3 minutes fast at seizure, with a typical drift of 0.1 minute per day, the event window opens roughly 3 minus 1.4 equals 1.6 minutes early on the DVR's burned-in clock. Document the calculation in the report; counsel will ask.
Section 63 of BSA, the Anvar P V line, and Tomaso Bruno on missing CCTV.
The legal frame in 2026 is BSA 2023 Section 63, which replaced Indian Evidence Act Section 65B. The requirement is that a person responsible for the device or the management of the relevant activities certify, at the time the electronic record is produced, that the record was produced from the device in the ordinary course of business, that the device was working properly (or, if not, that the malfunction did not affect the record), and that the record is a true reproduction. For a CCTV image, the certifying person is usually the shop proprietor, the security manager, or the IT manager who owns the recorder; for a cloud NVR it is the vendor's nodal officer in India.
Two case-law anchors are tested every cycle. The first, Anvar P V v P K Basheer (Supreme Court, 2014), made Section 65B compliance mandatory for electronic records and is carried forward by Section 63. The certificate is the gatekeeper. The second, Tomaso Bruno v State of UP (Supreme Court, 2015), addressed a custody case where the prosecution failed to produce CCTV that should have existed; the Court treated the absence as a fact adverse to the prosecution under what is now BSA Section 119 (presumption against the party withholding evidence). The lesson for the modern Indian examiner is symmetric: present CCTV cleanly with the Section 63 certificate, and the defence has nothing to work with; present CCTV with timeline gaps or hash mismatches, and the same presumption can be turned against the prosecution.
Integrity, as a technical matter, comes from hashing. SHA-256 of the disk image, SHA-256 of each extracted .mp4 segment, SHA-256 of each extracted still frame. The hash chain is documented in the case file. Cross-link the in-court mechanics at Bharatiya Sakshya Adhiniyam: Forensic Evidence in Court, and the parallel question of how scene videography itself is preserved at .
A Pune cyber-cell examiner arrives at a small shop where the only CCTV recorder is a 4-channel CP Plus DVR. The recorder is running, the recording LED is blinking, the on-screen clock reads 14:22 IST. Her own NTP-synced device reads 14:19 IST. What should she record in the seizure memo and why?
| Encoding location | Inside the DVR | Inside the camera | Inside the camera |
| Storage location | Internal SATA HDD | Internal SATA HDD, often RAID | Local cache plus vendor cloud |
| On-disk format | Proprietary FS, segment ring buffer | Proprietary FS or ext4 variant | Local cache may be sparse |
| Acquisition route | Image HDD with write blocker | Image HDD or RAID set with write blocker | Image local disk plus BNSS 94 notice to provider |
| Typical Indian deployment | Pre-2018 retail, small shops, older police stations | Post-2018 retail, banks, commercial complexes | Newer chains, residential gated communities, smart-home setups |
| MPEG-4 part 2 | Older Indian government CCTV (pre-2015) | I and P frames | FFmpeg legacy decoder |
| MJPEG (.mjpg / .avi) | Very old DVR, some webcams | Every frame is a standalone JPEG | Trivial: split with FFmpeg -c copy or any JPEG extractor |
| .dav (Dahua) | Dahua, CP Plus rebrands | H.264 or H.265 inside Dahua container | AmpedDVRConv, Dahua SmartPSS export, DVR Examiner |
| .mp4 wrapped | Hikvision exports, some NVR exports | H.264 or H.265 in MP4 container | Mainstream players, FFprobe for metadata |
The frame structure dictates what the examiner can extract reliably. I-frames are independently decodable, so any single I-frame can be carved and viewed even if the surrounding stream is corrupt. P and B frames cannot be decoded without their reference I-frame; pull a P-frame out of context and it is meaningless. For evidentiary still images presented in court, prefer I-frames: they are visually complete, timestamped, and survive lossy extraction better than predictive frames. The date-time overlay burned into the video by the camera or DVR is part of the I-frame's pixel content, not a separate metadata field, so it travels with any extracted still.
Common forensic challenges, ranked by how often they break a CCTV case in Indian courts: