CCTV Storage & Retention
Made Clear.
A CCTV storage and retention calculator for real designs. Build mixed camera groups, calibrate against actual recordings and see exactly how recording settings become disk capacity.
Loading the calculator…
The calculation, made visible
Each group has an independent seven-day, 24-hour recording grid. New groups default to all hours enabled. Selected clock hours control all recorded streams in that group; day/night scene rates follow the daytime start and duration in Advanced. Retention is elapsed calendar time starting at midnight on the chosen weekday. Daily storage is averaged over seven days. Live viewing bandwidth is unchanged. Maximum: 1,000 physical cameras across 10 groups, with 3 streams per group.
Model 1.0.0 · Calculation audit reviewed 31 October 2026. Results are a design aid, not a guarantee of footage retention or equipment compatibility. No camera or recorder database is implied.
Bitrates, scene assumptions and confidence
Quick estimate uses only camera count, a resolution preset, codec, FPS, daily recording hours and retention. It assumes one balanced VBR stream per camera, moderate detail/noise, average activity, no audio and no fixed smart-codec saving. The hours preset selects hours from midnight on each active day; the hourly grid overrides it. Quick uses equal day/night scene assumptions. MJPEG uses a planning assumption of 200 decimal kB per 1080p frame, scaled by pixels to the power 0.8. The capacity recommendation includes 20% headroom. Advanced exposes these settings and retains a separate detailed setup within each temporary calculation.
Storage GB = Mb/s × recorded seconds ÷ 8,000. A continuous 4 Mb/s stream produces 43.2 GB/day and 1.296 TB over 30 days, before audio, other data and allowances. Disk capacities use decimal GB/TB; binary display uses 1 GiB = 2³⁰ bytes and 1 TiB = 2⁴⁰ bytes. Mb/s is megabits per second; MB/s is megabytes per second.
Configured CBR uses the entered bitrate. Scene settings do not increase it. For estimated H.264/H.265 VBR, the editable planning model is: reference bitrate × (pixels / 2,073,600)pixel exponent × (FPS / 25)FPS exponent × codec factor × quality factor × scene factor. The default reference is 4 Mb/s; pixel exponent 0.8; FPS exponent 0.65; H.265 factor 0.7. AV1 also starts at 0.7 as an editable H.265-equivalent planning proxy, not a certified saving. These coefficients are transparent WESEC assumptions, not manufacturer test results.
Quality presets scale the estimate by 0.7 (economy), 1 (balanced) or 1.35 (detail). They are not camera menu values or a promise of forensic image quality. Activity factors are 0.7 / 1 / 1.4 / 1.9; detail 0.8 / 1 / 1.3; noise 0.9 / 1 / 1.5 / 2. Scene presets initialise inputs but add no hidden multiplier. Weather, insects, reflections and headlights share the activity family; foliage shares detail. The highest adjustment in each family is used to avoid counting overlapping effects repeatedly.
Estimated VBR defaults to 65–150% of the modelled average, with 200% higher demand. Measured inputs default to 90–115%, with 135% higher demand. These adjustable ranges are scenario allowances, not statistical confidence intervals. New streams have no assumed bitrate cap: 0 means unknown. An explicitly entered bitrate cap clips modelled VBR demand and may reduce image quality. Real encoders can briefly exceed a configured limit.
Lux, lighting mode, exposure, gain, noise reduction, encoder notes and GOP are documented context, not independent bitrate multipliers. Actual sensor, scene and encoder behaviour must be tested. MJPEG uses average JPEG size × FPS. Measured or sample inputs bypass scene, codec-saving and PTZ multipliers.
Axis describes the trade-offs between variable, average and maximum bitrate control, including the risk of lost detail when a limit is too restrictive. Its Zipstream guidance shows why savings depend on scene and settings. Hikvision’s H.265+ documentation describes another adaptive encoder; it is not interchangeable with every camera’s H.265 implementation.
Additional CCTV codecs: H.264+ and H.265+ are Hikvision smart-encoding profiles, used with variable bitrate on supported devices; they are not independent universal compression standards. AV1 is supported on Axis ARTPEC-9 devices, with compatible recorder/VMS and playback support required. No camera is assumed to support every option. Measured/configured bitrates override codec estimation factors.
- Hikvision network camera manual: H.264+ / H.265+
- Axis: AV1 and supported devices
- Axis: AV1 in video surveillance
Smart-codec profiles carry an editable saving assumption, initially 0%. A brand label never applies a universal saving. Verify model, firmware, supported codec/rate-control combinations and recorder compatibility.
Schedules, event overlap, multiple streams and ANPR
Each group has its own 168-hour weekly grid. Daytime starts at the chosen whole clock hour and lasts the chosen whole number of hours; remaining hours use the night rate. Target storage sums selected clock hours from midnight on the chosen starting weekday, including fractional retention days. Daily summaries average the actual seven-day schedule; short retention windows can differ from that average. This is a repeating 168-hour planning week, not a date-aware daylight-saving calendar.
For effective event percentage, enter time already including pre/post buffers and overlap. Frequency mode assumes events per scheduled hour and a window of event duration + prebuffer + postbuffer. Random overlap uses 1 − exp(−frequency × window / 3,600); this is an expected union for independent arrivals, not an exact prediction of clustered events. The upper-range window uses the capped non-overlap bound. Higher demand allows 50% more event activity. All event time is capped at available scheduled hours; boundary clipping remains an approximation.
A replacement event boost records baseline + max(0, event rate − baseline) × event fraction. If both streams are stored, baseline + event rate × event fraction is used instead. Audio is counted once for replacement and on both stored copies when both streams include it. Separate physical streams can also be configured independently; do not enable a boost and add the same event stream again.
PTZ estimates time-weight stationary/moving rates. Patrol notes do not add a second adjustment. ANPR is not assigned a higher video bitrate: configure overview and plate streams explicitly. Snapshot storage = vehicles × captures × average decimal kB; metadata is an independent kB-per-vehicle allowance. Each has its own retention period.
Panoramic/multisensor groups count every listed stream once per physical camera. Record a stitched image and its constituent sensors only if the recorder actually saves both. A live-only stream contributes incoming bandwidth, not storage. The tool assumes all configured streams remain connected for incoming bandwidth; on-demand connections or recorder-specific stream switching require separate validation.
Axis Site Designer’s manual distinguishes continuous, event and live-view streams when planning storage and networking. Axis Camera Station documentation explains pre/post recording buffers and camera-specific recording settings.
Installed capacity, headroom, retention and recommendations
JBOD/non-redundant capacity sums the selected disks. RAID uses the smallest disk size: two-disk RAID 1 retains one disk, RAID 5 uses (N − 1) disks, RAID 6 uses (N − 2), and RAID 10 uses N / 2. RAID 5 needs at least 3 disks, RAID 6 at least 4, and RAID 10 an even count of at least 4. Larger-disk excess is shown as unused. RAID protects against certain disk failures; it is not an independent backup.
Filesystem/recorder allowance is deducted from array capacity first; reserved free space is deducted from the remainder. Design headroom increases the required usable capacity separately. It is never deducted a second time from installed capacity. Network overhead is applied to network throughput only, never automatically to disk storage.
The recommendation uses the higher-demand target plus visible headroom. Candidate recommendations use equal-capacity disk sets from your editable capacity list and bay/per-disk limits. These are arithmetic combinations, not model-specific compatibility recommendations.
Common-retention equivalents solve how many days fit if all data types share one retention window. With mixed group or ANPR retention, use the target-plan capacity and per-type breakdown instead; a common equivalent does not promise those days for each configured target. Configured video maxima are summed separately from planning high rates. Concurrent peaks and snapshot upload bursts still need network and recorder checks.
Privacy & measurement limits
This is a one-off calculator running entirely in this browser. Inputs are not sent to WESEC and calculations are not saved. Up to three calculations can be compared side by side, held only in this page’s memory. Refreshing clears all calculations; Reset clears only the active calculation. There are no accounts, file imports, exports or print controls.
Calibration uses file size and recording duration entered as numbers; it does not upload a recording. Short or quiet samples may understate busy scenes, night noise, rain and PTZ patrols. Validate representative footage before committing to a retention period.