IP Camera Bandwidth and Storage Calculator

This IP camera bandwidth and storage calculator works out in four steps how many streams of a CCTV or video surveillance system fit on a network link and how much storage the recordings need. Video Bitrate finds the bitrate of each stream type, Network Traffic adds the packet headers and sums the traffic of all streams, Link Utilisation compares it with the link capacity and the planned limit and shows how many more streams fit, and Recording Storage gives the disk capacity the recordings need. Each step uses the results of the steps before it.

The results can be downloaded as a PNG or copied as text at the end of the page.

Worked Example

The calculator opens with a worked example: 16 cameras on a 1 Gb/s link with a 70% limit, RTSP over TCP (Real Time Streaming Protocol, Transmission Control Protocol) and IPv4, 25% motion, 30 days of recordings. Each camera sends a 2560 × 1440 main stream for recording, in H.265 at 25 frames per second with a VBR (variable bit rate) limit of 4.096 Mb/s, and a 640 × 360 substream for live view, in H.264 at 15 frames per second with a 0.448 Mb/s limit; both have a key frame every 1 s. Network traffic is 22.29 Mb/s, 2.229% of the link and 677.7 Mb/s below the limit. Recordings take 198.2 GB a day, 5.945 TB in total.

Video Bitrate

This step finds the video bitrate of each stream type from the camera settings and the motion in the scene.

Each stream the server pulls from a camera adds its own traffic. If you record the main stream and pull the substream for live view, add both types.

Enter the bitrate from the camera settings: in CBR (constant bit rate) mode the set value, in VBR (variable bit rate) mode the upper limit.

How often the camera sends a full picture, that is, the length of the group of pictures (GOP). Decoding starts at a key frame, so with a key frame every 1 s, live view and camera switching wait at most one second for the picture; this is the usual choice when fast response matters. With a key frame every 2 s the wait grows to 2 s, but there are half as many key frames, which lowers the bitrate and the recording storage, most of all in scenes with little motion.

The choice enters a starting value in the bitrate field, which you can change; the calculator never changes a value you entered. The starting values come from Hikvision’s recommendation table, for the nearest frame rate not below the one set; above 30 frames per second we take the value for 30. With a custom resolution, enter the bitrate from the camera settings.

The share of the picture that changes between frames, from 0% (a still picture) to 100% (the most motion possible). It applies to the VBR limit; a CBR bitrate is constant.

ONVIF (Open Network Video Interface Forum) metadata, such as video analytics results: enter the bitrate per camera from its stream statistics and the number of messages per second.

Main stream RvR_v1.147 Mb/sper stream; 16 streams: 18.35 Mb/s
Substream RvR_v0.1344 Mb/sper stream; 16 streams: 2.150 Mb/s
Video in total20.50 Mb/snumber of streams: 32
Video bitrate of one stream against the motion in the scene

Equations

Rv=Rmax1+m(G−1)GR_v = R_{\max}\,\frac{1 + m\,(G - 1)}{G}

RvR_v is the video bitrate of one stream in Mb/s, and RmaxR_{\max} the VBR limit from the camera settings. GG is the number of frames between key frames, and mm the motion in the scene from 0 to 1: at m=0m = 0 only the key frames carry data, at m=1m = 1 every frame does. In CBR (constant bit rate) mode, RvR_v is constant and equal to the set value.

Assumptions

  • At the most motion, every frame takes as much as a key frame, that is, the whole bitrate limit; with no motion, only the key frames carry data, and the frames between them are taken as empty.
  • Between these extremes, the bitrate rises linearly with the share of the picture that changes; this is an assumption of the model, not a measurement.
  • At the same subjective quality, an HEVC (High Efficiency Video Coding, H.265) encoder needs, according to Ohm et al. (2012), “approximately 50% less bit rate on average” than H.264/AVC (Advanced Video Coding); the result concerns reference encoders and test sequences, not cameras.
  • The starting values are Hikvision’s approximate recommendations for its cameras; according to the manufacturer, they can be raised by 20 to 30% in more complex scenes. Other cameras may be set lower or higher, so the bitrate from your camera’s settings is the most accurate.
  • The codec treats anything that changes the picture between frames as motion in the scene, including night-time noise under infrared, rain, snow and trees moving in the wind.

Network Traffic

This step adds the packet headers to the video, depending on the transport protocol and the IP (Internet Protocol) version, and sums the traffic of all streams.

Uses the stream types and video bitrates from Video Bitrate.

Transport

RTSP (Real Time Streaming Protocol) over TCP (Transmission Control Protocol) sends video over a connection in which the receiver acknowledges the data; RTP (Real-time Transport Protocol) over UDP (User Datagram Protocol) sends it without acknowledgements. The recorder or the software that pulls the streams sets the choice.

IP version

IPv4 (32-bit addresses) or IPv6 (128-bit addresses), as the camera network is addressed.

Full-packet overhead Bt/BvB_t / B_v7.402%68 B of headers in the IP packet, 106 B with the Ethernet frame, 1,432 B of video
Main stream RsR_s19.88 Mb/s16 streams at 1.242 Mb/s, of which headers 0.09549 Mb/s
Substream RsR_s2.411 Mb/s16 streams at 0.1507 Mb/s, of which headers 0.01631 Mb/s
Total traffic RR22.29 Mb/svideo 20.50 Mb/s and headers 1.789 Mb/s
A full packet in its Ethernet frame on the wire, to scale, field by field

Equations

Bv=1500−Bh,B_v = 1500 - B_h, Bt=1538−BvB_t = 1538 - B_v
Rh=RvBtBv+0.5fBt⋅8106R_h = R_v\,\frac{B_t}{B_v} + \frac{0.5\,f\,B_t \cdot 8}{10^6}
Rs=(Rv+Rh)N,R_s = (R_v + R_h)\,N, R=∑RsR = \sum R_s

BhB_h is the header bytes in an IP packet, BvB_v the video bytes in a full packet, and BtB_t the header bytes per packet including the Ethernet frame on the wire (38 B: the preamble and SFD, start frame delimiter; the header; the FCS checksum, frame check sequence; and the interframe gap). RhR_h is the header bitrate of one stream in Mb/s: the headers of the full packets and, on average, half a packet’s headers for every frame, because the last packet of a frame is not full; for ONVIF metadata, messages per second take the place of ff.

RsR_s is the traffic of the NN streams of one type, and RR the traffic of all streams in Mb/s.

Assumptions

  • Packets are up to 1500 B, the Ethernet MTU (maximum transmission unit), and each carries the RTP, transport and IP headers.
  • For TCP, we assume the timestamps option (10 B and 2 B of padding); without it, the overhead of a full packet is 0.89 percentage points lower with IPv4 and 0.92 with IPv6.
  • We assume full-size packets and one partial packet per frame; cameras that send smaller packets or split a frame into several slices add more headers.
  • We leave out the RTP fragmentation header (2 or 3 B per packet), audio and RTCP (RTP Control Protocol) packets; ONVIF metadata counts only when its stream is switched on.
  • We count one direction of a full-duplex link, from the cameras to the server; live view pulled directly from the cameras is a separate stream.
  • We do not include TCP acknowledgements, the VLAN (virtual local area network) tag, multicast (sending one stream to several receivers) or jumbo frames (larger than 1500 B).

Recording Storage

This step gives the disk capacity needed for the recordings of the recorded streams.

Uses the stream types and video bitrates from Video Bitrate.

Recorded streams

Tick the stream types recorded to disk; only they count towards the storage.

Recording mode

When recording only on motion, enter the share of the day the cameras record.

Redundancy, krk_r

A capacity multiplier for RAID (redundant array of independent disks) or backups: 1 for no redundancy, 2 for RAID 1 (mirrored disks) or one copy.

Recording bitrate RrecR_{\mathrm{rec}}18.35 Mb/srecorded streams: 16; continuous recording
Storage per day MdM_d198.2 GBdata recorded in a day, without redundancy
Total storage MM5.945 TB5.407 TiB (tebibytes); 30 days, redundancy multiplier 1

Equations

Rrec=sr∑RvN,R_{\mathrm{rec}} = s_r \sum R_v\,N, Md=Rrec⋅864008⋅1000=10.8Rrec,M_d = \frac{R_{\mathrm{rec}} \cdot 86\,400}{8 \cdot 1000} = 10.8\,R_{\mathrm{rec}}, M=krMdDM = k_r\,M_d\,D

RrecR_{\mathrm{rec}} is the data bitrate of the recorded streams in Mb/s, and srs_r the share of the day the cameras record (1 for continuous recording). MdM_d is the recording storage per day in GB, DD the retention in days, krk_r the redundancy multiplier, and MM the total storage.

Assumptions

  • We count only the data of the recorded streams (video, and ONVIF metadata if it is recorded), without network headers.
  • The recording bitrate follows from the motion in the scene set in Video Bitrate; a stream in CBR (constant bit rate) mode takes storage in line with its set value.
  • When recording on motion, we take the storage as proportional to the share of the day the cameras record.
  • Capacity is given in decimal TB (10¹² B); operating systems often show TiB (tebibytes, 2⁴⁰ B), 9.05% less.

Cite as: Jacek Garbuliński, IP Camera Bandwidth and Storage Calculator, Blixild, 2026, https://blixild.com/ip-camera-bandwidth-storage-calculator.html

Questions and Answers

When and why use this calculator?

Before choosing switches, links and the recorder: the calculator shows whether the camera streams fit on the link with a margin, and how much disk capacity the recordings need for the required retention. The result is a starting point; a traffic measurement in a working installation settles it.

What does motion in the scene mean?

The slider sets the share of the picture that changes between frames. At 0%, only the key frames carry data, sent every set number of frames; at 100%, every frame costs as much as a key frame, so the camera sends its full bitrate limit. Values in between lie on a straight line between these extremes.

Which link should I count?

The link that carries all the streams at once: the port of the server or recorder and the links between switches. A single camera’s port carries only that camera’s streams.

Where do I find the camera’s bitrate?

In its stream settings: in CBR (constant bit rate) mode it is the set value, and in VBR (variable bit rate) mode the upper limit, which the calculator converts into a bitrate at the set motion in the scene. When designing a new installation, enter the limit you intend to set in the cameras, or start from the starting value for the resolution and codec.

Why is the default limit 70%?

It is a design margin: VBR (variable bit rate) bitrates have peaks, and key frames cause short bursts of traffic that rarely coincide across all cameras. If your network design rules call for a different limit, set your own.

Why does the disk show less than the calculated TB?

Disk makers state capacity in decimal TB (10¹² B), while operating systems often show it in TiB (tebibytes, 2⁴⁰ B), so the same capacity appears as a number 9.05% smaller.

Sources

  • J.-R. Ohm, G. J. Sullivan, H. Schwarz, T. K. Tan, T. Wiegand, “Comparison of the Coding Efficiency of Video Coding Standards, Including High Efficiency Video Coding (HEVC)”, IEEE Transactions on Circuits and Systems for Video Technology, vol. 22, no. 12, pp. 1669-1684, 2012, DOI 10.1109/TCSVT.2012.2221192: “approximately 50% less bit rate on average”.
  • RFC 791, Internet Protocol (1981): “the minimum value for a correct header is 5” (in 32-bit words).
  • RFC 768, User Datagram Protocol (1980): “the minimum value of the length is eight”.
  • RFC 8200, Internet Protocol, Version 6 (IPv6) Specification (2017): “20 octets for the minimum-length IPv4 header and 20 octets for the minimum-length TCP header”; the IPv6 header’s fields total 40 octets.
  • RFC 7323, TCP Extensions for High Performance (2014): “Kind: 8 Length: 10 bytes”, with two NOP octets of padding (“NOP | NOP | TSopt | 10”).
  • RFC 3550, RTP: A Transport Protocol for Real-Time Applications (2003): “The first twelve octets are present in every RTP packet”.
  • RFC 2326, Real Time Streaming Protocol (RTSP) (1998): “encapsulated by an ASCII dollar sign”, followed by “a one-byte channel identifier” and the length as a “two-byte integer”.
  • RFC 6184, RTP Payload Format for H.264 Video (2011): “The FU indicator octet” and the FU header.
  • RFC 7798, RTP Payload Format for High Efficiency Video Coding (HEVC) (2016): “HEVC uses a two-byte NAL unit header” and “an FU header of one octet”.
  • RFC 894, A Standard for the Transmission of IP Datagrams over Ethernet Networks (1984): “the maximum length of an IP datagram sent over an Ethernet is 1500 octets”.
  • RFC 6349, Framework for TCP Throughput Testing (2011): “Ethernet is 14 Bytes, CRC32 is 4 Bytes, IFG is 12 Bytes, Preamble is 7 Bytes” and “SFD is 1 Byte”.
  • ONVIF, the device configuration schema onvif.xsd (ver10): GovLength, “Determines the interval in which the I-Frames will be coded.”; BitrateLimit, “The maximum output bitrate in kbps.”
  • Hikvision, “H.264(5) & H.264(5)+ Recommended Bit Rate at General Resolutions”: “Approximate Value”; “If the real environment is more complex, you can increase the bite rate 20%~30% higher than recommend.”; “suitable for all series IPC and PTZ with new platform”.

Send an enquiry

To discuss the network for a video surveillance or machine vision system, send an enquiry.

Describe your requirements briefly. We respond within one business day.

contact@blixild.com

By submitting this form, you agree to be contacted regarding your enquiry.