Should IPVM Do Its Own Storage / Bandwidth Calculator?

We get asked to do this a lot, especially with the success of the Camera Calculator.


Storage / bandwidth calculators are often off by a lot. The problem is I don't see any easy solution.

What We Recommend

The best thing we recommend is take the camera model you want in the location you plan to deploy it and do a quick test, recording bandwidth. Then just multiply it out for your percentage of motion, days of storage, number of cameras, etc.

On the other hand, I understand that people want a quick way to get estimates.

Issues Causing Errors

The main issue causing errors are:

  • Different camera models consume different amounts of bandwidth, even if resolution, compression, and frame rate are the same. The level of noise in a scene, how a camera deals with it, what brightness, color, saturation the manufacturer sets, etc., all can have dramatic impact on bandwidth. In our testing, even with the same resolution, compression and frame rate, bandwidth differences of 2x or more are common.
  • The scene a camera is in will cause bandwidth to vary. Even the same camera in 2 different scenes can result in vast differences in bandwidth (e.g., the same model, one aimed down a street, the other in a stairwell, the former can routinely consume 4x the bandwidth.
  • Lastly, almost all calculator assume fixed compression but the default can vary by manufacturer and users can change this, which can notably impact bandwidth.

All of these things makes an abstract storage / bandwidth calculator extremely unrealistic to deliver and results in the common errors found in calculators.

The calculator that works best is Axis', simply because they let you choose scenes and compression levels for their own cameras, adjusting bandwidth. I don't recall seeing any other camera manufacturers doing that and certainly no VMSes.

What To Do?

We could easily build a clean interface that simply requires to enter in your bandwidth estimate and then calculate the rest but, of course, that requires you to know the bandwidth level, something that many want the calculator to magically supply.

So, what do you think we should do?

I think it could be helpful to have some averages, even better if you could have averages for the most popular camera models. Maybe an option where trusted integrators can send in data for common camera models that you don't have the ability to test directly.

I agree that it would be difficult, and almost misleading, to try and have a bandwidth calculator that just used off-the-shelf data and didn't have clear caveats about the trustability of the data.

You could also allow people to enter min/max data for VBR streams (probably the most common?) and a motion %. You could show bitrate data across the network and storage accumulation from the motion recording (eg: if a camera is streaming at 6Mbps and you're using motion recording, you're streaming 6Mbps across the network, but throwing most of it away at the NVR, so your storage accumulation doesn't directly correlate to network throughput).

backwards engineer it. get others to give real life storage usage, and do an algorithm to match.

It would be difficult to do and I am not sure of the value. To be honest, most of the manufacturers offer this already. I am not sure of the net benefit other than members would have a one-stop shop for system information, which can be a positive thing.

"To be honest, most of the manufacturers offer this already."

And they are almost always way off.

My main issue is not whether anyone else offers it, but whether we can offer a substantially better.

I read the part about them almost always being off. I am not sure I agree with that.

Calculators often have fudge factors built in. But by and large, the problem with them is "trash-in, trash-out". Those that use them don't know how.

I still rely on observation combined with some old-fashioned pencil and paper. Can you do it better? I would think so based on all I have seen IPVM offer.

"Calculators often have fudge factors built in."

Agreed, that's why they typically come in high, e.g., Guaranteed Video Storage Calculation? Iomnis. High might be better than low but it's still an issue because it requires you to buy too much.

As I've stated above, the problem is the individual variability across camera models requires testing of any camera to have a chance of being highly accurate.

As I've stated above, the problem is the individual variability across camera models requires testing of any camera to have a chance of being highly accurate.

This is true.

Can IPVM offer substantially better?


IPVM already has the framework in place with the camera finder database. As for the information about the models, IPVM has tested and continues to test the most popular models, so that's a head start right there.

The rest of the data can come from members, if a mechanism and simple procedures were provided for real bandwidth measurements to be collected.

IPVM might pay 1 informative vote per model entered.

Only IPVM has access (direct and indirect) to this data, and that is why it would be superior to any manufacturer's version.

FWIW.... our own BW+Storage estimator does not have any fudge factor built in see BW+Storage Calc. One will see that we tend to be in the same range as the venerable tool by JVSG.

As John says... an estimator is still just an estimator...not a factual result.

Always look at the camera estimated bit rate to see if it matches well with your experience.

With our can override the estimation part and put in your own bit rate with the 'CBR' choice.

The Storage part is straight up math and you get to add your own fudge factor. It is RAID5 based at this time...but the estimated storage needed is what you are looking for anyway.

I agree that it would be something you should have in your tools, but is easily found elsewhere at the same time.

Dear John

To have a tool for storage calculation is a must specially since IPVM is providing other tools related to CCTV application. To have the choice to select camera brand and model would be great, this avoids users doubt on bandwidth level as you mentioned above.

Thanks, Zeena