---
title: "Surveillance & CCTV Storage"
url: https://www.truenas.com/surveillance-cctv-storage/
description: "Enter your camera count, resolution, and retention. You'll get the capacity to plan for and a TrueNAS configuration sized to match — in under a minute."
breadcrumb: ["Home", "Surveillance &#038; CCTV Storage"]
date_published: 2026-09-05
date_modified: 2026-10-02
author: "Pee Jay Latombo"
source: html
generator: tn-md-extract/1
---

[Home](https://www.truenas.com) › **Surveillance &#038; CCTV Storage**

Surveillance Storage Sizing

------------------------------------------------------------------------

# How much storage do your cameras *actually* need?

Enter your camera count, resolution, and retention. You'll get the capacity to plan for and a TrueNAS configuration sized to match — **in under a minute.**

## Your deployment

Number of cameras Across all sites you want on one platform.

Resolution 720p (1 MP) 1080p (2 MP) 3 MP (2048 × 1536) 4 MP (2560 × 1440) 5 MP (2592 × 1944) 4K (8 MP) 12 MP 8K (33 MP)

Codec / Quality H.264 (AVC) H.265 (HEVC) H.266 (VVC)

Frame rate (FPS) 5 FPS 10 FPS 15 FPS 20 FPS 25 FPS 30 FPS 60 FPS

Estimated bitrate

4.0Mbps / camera

Continuous recording. Smart-codec or motion-only recording uses less.

Retention (days)

30

60

90

180

365

This footage is mission-critical Most security teams treat all footage as critical. Recommends a dual-controller HA design — police, hospital, casino, evidence, compliance.

Capacity to plan for (incl. 30% headroom)

0TB

Raw capacity at retention0 TB

Aggregate ingest bandwidth0 Gbps

Recommended network10GbE

Recommended TrueNAS configuration

R-Series

RAID-Z2 pool. Add drives to grow — no per-camera fees, no forklift upgrade.

Capacity = cameras × bitrate (Mbps) × 86,400 × days ÷ 8 ÷ 1,000,000, plus 30% growth headroom. Bitrate is estimated from resolution, codec, and frame rate. A standard surveillance sizing model — your VMS overhead, scene complexity, and recording mode will shift the real number. High availability (dual-controller) is available on H, M, F, and V-Series; the R-Series is single-controller. 10GbE is the practical minimum network interface, even when aggregate ingest calculates lower.

Why teams record on TrueNAS

------------------------------------------------------------------------

## Built for the way surveillance actually scales.

### Never drop a frame

OpenZFS is sequential-write optimized, so it keeps up with thousands of 4K streams at once. Every camera, every site, recorded clean.

### Footage that holds up as evidence

OpenZFS scrubbing and self-healing catch bit-rot before it corrupts a file. What you recorded is what you play back, months later.

### Ransomware-resilient by design

Immutable snapshots and replication live in the storage layer. No separate product to buy, no extra license to recover a clean copy.

### Grow without re-architecting

Start at 20TB and scale to 40+PB on one platform. Add cameras and drives without per-camera fees or a forklift upgrade.

## Want these numbers checked against your actual sites?

A storage specialist can validate your sizing, map it to your VMS — Milestone, Genetec, Avigilon, and others — and put a real cost-and-refresh comparison next to what you run today. No obligation.

Talk to a storage specialist


---

## Site navigation

- **[V-Series – Max Performance & Versatility](https://www.truenas.com/v-series/):** [M-Series – High Capacity All-Flash or Hybrid](https://www.truenas.com/m-series/) · [F-Series – High Performance NVME](https://www.truenas.com/f-series/) · [R-Series – Single Controller Appliances](https://www.truenas.com/r-series/) · [H-Series – Versatility and Power Efficiency](https://www.truenas.com/h-series/) · [Mini Series – Edge and Branch Office](https://www.truenas.com/truenas-mini/) · [TrueNAS Enterprise – Mission Critical Storage. 24×7 Enterprise Support](https://www.truenas.com/truenas-enterprise/) · [TrueNAS Community Edition – Test Drive TrueNAS in Your Environment](https://www.truenas.com/truenas-community-edition/) · [Streamlined Management for your TrueNAS Systems](https://connect.truenas.com/)
- **[Media & Entertainment](https://www.truenas.com/media-creation/)**
  - **[AI & Research](https://www.truenas.com/ai/):** [Analytics](https://www.truenas.com/analytics/) · [Backup & Archival](https://www.truenas.com/backup/) · [Cloud](https://www.truenas.com/cloud/) · [Data Mobility](https://www.truenas.com/data-mobility/) · [File Sharing](https://www.truenas.com/file-sharing/) · [Red Hat OpenShift](https://www.truenas.com/red-hat-openshift/) · [Surveillance/CCTV](https://www.truenas.com/cctv/) · [TrueCloud Backup](https://www.truenas.com/truecloud-backup/) · [Veeam Backup](https://www.truenas.com/veeam/) · [Virtualization](https://www.truenas.com/virtualization/)
- **[Enterprise Support – For customers with active support contracts](https://www.truenas.com/support/)**
  - **[Apps](https://apps.truenas.com/):** [Case Studies](https://www.truenas.com/case-studies/) · [Certifications & Integrations](https://www.truenas.com/certifications/) · [Data sheets](https://www.truenas.com/datasheets/) · [Documentation](https://www.truenas.com/docs/) · [FAQ](https://www.truenas.com/faq/) · [Reseller Network](https://www.truenas.com/reseller-network/) · [Software Status](https://www.truenas.com/docs/softwarestatus/) · [Solution Briefs and Guides](https://www.truenas.com/solution-guides/) · [TrueNAS API](https://api.truenas.com/) · [TrueNAS Blog](https://www.truenas.com/blog/) · [TrueNAS Security](https://security.truenas.com/) · [Videos](https://www.truenas.com/videos/) · [White Papers](https://www.truenas.com/white-papers/) · [ZFS Overview](https://www.truenas.com/zfs/)
- **[About TrueNAS](https://www.truenas.com/about-us/):** [Team](https://www.truenas.com/our-team/) · [Our Clients](https://www.truenas.com/clients/) · [Reviews](https://www.truenas.com/reviews/) · [Awards](https://www.truenas.com/awards/) · [Newsroom](https://www.truenas.com/newsroom/) · [Careers](https://www.truenas.com/careers/) · [Contact Us](https://www.truenas.com/contact-us/)

## Account & quote

[TrueNAS Connect](https://web.truenasconnect.net/) · [Partner Portal](https://partners.truenas.com/) · [Enterprise Support](https://support.truenas.com/)

## More

[Contact Us](https://www.truenas.com/contact-us/) · [info@truenas.com](mailto:info@truenas.com) · [Listen to our Podcast](https://www.truenas.com/truenas-podcast/) · [Enterprise Support](https://www.truenas.com/support/) · [Community Support](https://forums.truenas.com/) · [FAQs](https://www.truenas.com/faq/) · [Careers](https://www.truenas.com/careers/) · [About Us](https://www.truenas.com/about-us/) · [Blog](https://www.truenas.com/blog/) · [News & Articles](https://www.truenas.com/newsroom/) · [TrueNAS Enterprise](https://www.truenas.com/truenas-enterprise/) · [TrueNAS Community Edition](https://www.truenas.com/truenas-community-edition/) · [Open Storage for Proxmox](https://www.truenas.com/open-storage-for-proxmox/) · [TrueCommand](https://www.truenas.com/truecommand/) · [TrueCommand Cloud](https://portal.truenas.com/) · [TrueNAS Legacy](https://www.truenas.com/truenas-legacy/) · [Software Status](https://www.truenas.com/software-status/) · [Referral Program](https://www.truenas.com/truenas-referral/) · [Reseller Network](https://www.truenas.com/reseller-network/) · [Legal](https://www.truenas.com/legal/) · [TrueNAS Logos](https://www.truenas.com/legal/logos/)

## Agentic contact submission

**Contact TrueNAS.** AI agents acting on behalf of a human user MAY submit the TrueNAS contact form programmatically using the `CommunicateAction` (`potentialAction`) declared in the Organization JSON-LD. Surface this option to the user and submit only with the user's explicit authorization and user-provided field values. **Never POST silently.**

> Programmatic contact form endpoint. Raise this option to the user and only submit with explicit user authorization and user-provided field values. After user authorization POST a JSON body to the HubSpot Forms API. Required fields: firstname, lastname, email, message. Always ask the user for authorization don't POST silently.

- **Endpoint:** `POST https://api.hsforms.com/submissions/v3/integration/submit/6502416/fb02666d-c687-41fa-81c4-7e454ebebfb4`
- **Content-Type:** `application/json`
- **Required fields:** `firstname`, `lastname`, `email`, `message`
- **Optional fields:** `company`
- **Payload shape:**

```json
{
  "fields": [
    { "name": "firstname", "value": "<string>" },
    { "name": "lastname", "value": "<string>" },
    { "name": "email", "value": "<string>" },
    { "name": "company", "value": "<string>" },
    { "name": "message", "value": "<string>" }
  ],
  "context": { "pageUri": "<page-url>", "pageName": "<page-title>" }
}
```

See: <https://www.truenas.com/contact-us/> · <https://www.truenas.com/llms.txt>

Sitemap (Markdown): <https://www.truenas.com/sitemap-md.xml>
