Calculation of the bandwidth and disks for storing the video archive
The HDD space and network load are closely interrelated and depend primarily on the video quality, or bitrate for simplicity, and the number of cameras.
Video quality and bitrate are defined by the same parameters, therefore, it is more convenient to use bitrate as a numerical characteristic of quality when calculating hardware. However, you should always keep in mind that the quality itself does not have a numerical expression, is a subjective value only conditionally depending on the bitrate. For more information on what video quality is and how to find the balance between quality and bitrate, see our blog. By following this link, you can also find a few hints on how to calculate the bitrate if it is not shown in the camera specification or if you cannot to measure it experimentally.
The network load can be inbound and outbound. The inbound load depends on the number of cameras, and the outbound one depends on the number of simultaneous views.
To calculate the network load, it is enough to multiply the total bitrate by the number of cameras or views, respectively. However, you should anticipate the situation when all subscribers/users are simultaneously watching video, therefore, you should use the number of subscribers rather than the number of views when calculating the outbound load. We also recommend that you make about 30% margin of the channel bandwidth in order to provide for bitrate variability during the broadcast.
Inbound network load = Number of cameras × Camera bitrate + 30%
Outbound network load = Number of users × Camera bitrate + 30%
The amount of disk space required for storing the archive is determined by the inbound network load, i.e. the number and bitrate of cameras as shown above, and the depth of recording storage. Usually, the archive depth is measured in days and depends on the area of application: a depth of up to several years may be required in the legal field, while a few days are usually sufficient for household cameras.
For calculation of the archive size, it is enough to multiply the inbound network load by the required archive depth. For example, one 1 Mbps camera with 30% margin is 1.3 Mbps; it takes about 14 GB of storage space per day; a 2 Mbps +30% = 2.6 Mbps stream will sum up into 27 GB per day, etc. So you will need at least 98 GB disk space to store a 7-day archive from a 1 Mbps camera, and if your system includes 500 such cameras, you will need 48 TB of disk space.
But you should not rush to immediately buy one dozens-of-terabytes HDD. When choosing the number and size of disks, you should also take into account some nuances:
The archive can occupy no more than 90% of the disk space. This is due to file system peculiarities: it can slow down when the disk is almost full. To take this factor into account, the calculated archive size will need to be divided by 0.9.
So, one 1 Mbps camera will require 16 GB per day instead of 14 as shown above. It makes into at least 52 TB for 500 such cameras with 7-day-deep archive.
The disk write and read speed limits the allowable inbound and outbound network load. A large number of simultaneous read and write operations can reduce disk speed drastically. This is especially critical for a video surveillance service, but it can also affect the traditional video surveillance system: when dozens of cameras simultaneously write an archive to different areas of the disk, and dozens of users simultaneously view the archive, the disk speed can drop from the declared 100 MBps to 20-30 MBps (=160-240 Mbps).
Simply put, the total of 1 Mbps cameras simultaneously writing to the disk and subscribers reading from the disk should not exceed 160-240, or 123-184 taking into account the 30% margin.
Disk Requirements: 7200 rpm, SSD (for cache) + HDD for recording
Taking into account the above considerations, the HDD parameters are calculated as follows:
Disk space = Inbound network load × Archive depth / 0,9
Number of disks = (Inbound network load + Outbound network load) / Disk speed
Disk size = Disk space / Number of disks
Let's summarize the above calculations for the video surveillance service having the following parameters:
- 500 cameras with a bitrate of 1 Mbps
- 200 subscribers
- 7 days archive depth for all cameras (7 days × 24 hr/day × 60 min/hr × 60 sec/min = 604,800 seconds)
- Disk speed 20 MB/s = 160 Mbps
Inbound network load = 500 × 1 Mbps + 30% = 650 Mbps
Outbound network load = 200 × 1 Mbps + 30% = 260 Mbps
Disk space = 650 Mbps × 604,800 sec / 0,9 = 436,800,000 Mb ≈ 52 TB
Number of disks = (650 Mbps + 260 Mbps) / 160 Mbps ≈ 6 disks
Disk size = 52 TB / 6 = 9 TB
Thus, you will need to configure Flussonic RAID for Watcher in the streamer with at least 6 HDDs of 9 TB each (or more disks of a smaller size if such a configuration is more appropriate economically).