Hardware Recommendations

This forum has articles regarding decisions and implementations surrounding BI that need to work.
What hardware is needed to run the BI server?
How should the network be set up?
Post Reply
varghesesa
Posts: 61
Joined: Thu Jul 11, 2019 9:52 pm

Hardware Recommendations

Post by varghesesa » Tue Jul 20, 2021 5:17 pm

Introduction

Many users often ask for recommendations regarding hardware for cameras and servers. Blue Iris is directionally vendor agnostic, i.e. we run on standard Windows servers and support camera standards, i.e. RTSP and ONVIF. That being said here are some directional guidelines.

Cameras

Some vendors that are popular and tend to get good feedback with our customers (not an endorsement). We chose these vendors only because they address the different price points (low, high) we see in the market. With Amcrest, we do have a tighter integration relationship just because they provide their libraries which are included in the installer. Thus the Amcrest drivers tend to mostly work.
  • Amcrest
  • Axis
So long as the cameras support the RTSP and ONVIF standards, they should connect. I would say ONVIF enabled devices make connectivity the easiest. ONVIF support is also the clearest indication that the camera provides 3rd party integration.

Cameras that support ONVIF usually advertise they do so on their product page of the site where you are purchasing the camera.
www.onvif.org/conformant-products/ is a page where you can also check ONVIF support. Simply enter device/manufacturer/ Profile T of your camera and you will see the list of cameras that probably connect to BI.

Other standards such as RTMP, MJPEG or just regular JPG are also supported.
Cameras that promote their own app or do not advertise ONVIF support are usually a red flag that third party access may not be possible.
Ring, Arlo and SimpliSafe are common vendors that do not allow third party access to their cameras.

generic rtsp.png
generic rtsp.png (8.88 KiB) Viewed 2529 times

The Make/Model list in the IP Config dialog provides an exhaustive list of the 1000s of manufacturers that are supported.

hardware recommendation_makes.png
hardware recommendation_makes.png (16.28 KiB) Viewed 1210 times

For any manufacturer, the list of supported models are also provided.
Often models that are not listed can use these same drivers.
The only way to know whether BI will work with your cameras is to download the software and test. Test the video, PTZ and other functionality that comes with the camera. Often we can reverse engineer functionality if you put the camera on the WAN for remote testing.
Another good proxy whether a camera will work with BI is if it works with other 3rd party media apps such as VLC.

We are software engineers with expertise in connecting to cameras.
If you are looking for the right camera, i.e. features/functionality to meet your requirements, reach out to the surveillance experts on the forum.
Alternatively speak with your local experts at Managed IT firms or Video Surveillance firms.


Server Recommendations

Official requirements from the website:

hardware recommendations_website.png
hardware recommendations_website.png (45.54 KiB) Viewed 123 times

Some additional thoughts.

OS
Windows 10 Pro is preferred. Windows Server is also used by many users.

Processor
Processors with QuickSync like the i7+/i9 or the Xeon versions with QuickSync. BI can take advantage of QuickSync for decoding H.264/H.265 streams from cameras.
Positive customer feedback from AMD processors that leverage our DirectX integration as well.
Intel introduced H.265 support with Skylake (6th generation i7) Best to get a processor that supports H.264 & H.265.

hardware recommendations intel h265.png
hardware recommendations intel h265.png (102.26 KiB) Viewed 603 times

RAM
8 GB of RAM ok. 16 GB would be better. See RAM Calculator section below for more information

Storage
Fast, local SSD is good for the New folder and the Database folder. The SSD storage requirement therefore does not need to be large. It really depends on your requirements.
Many users move from SSD to long-term slower storage over time. NAS drives and additional internal HDD drives are equally popular.

If your motherboard supports NVME drives then we do recommend taking advantage of this capability for improved performance. Not a requirement.

GPU
NVidia/GPU not a big boost for BI. We only use hardware acceleration (HA) for encoding/decoding. Intel QuickSync or an AMD equivalent is way more value.

AI
NVidia cards are a huge advantage for DeepStack/AI. I process images at 50 ms on my GTX 1070 Ti.
DeepStack also seems more stable running on NVidia.
I happened to have a gaming PC (mine is from ASUS) and find them very beneficial now for BI Surveillance + DeepStack AI.
My Intel QuickSync handles all the camera decoding efficiently. I have my NVidia card dedicated to just process DeepStack inferences.

There are many experts on the forum as well.

Below are some really good analysis articles that you should probably read. (external content) The BI Updater stats shares some real-life deployed server stats.
https://biupdatehelper.hopto.org/default.html#stats

The "Case study: Large Enterprise Deployments" webinar is an interview with a reseller sharing how he deployed BI on a 64+ cameras site.

Customer anecdotal

I see resellers buying refurbished laptops on ebay for $300 with an i7+ and 1 TB of SSD. i7+ processor is important just to have QuickSync with H.264 & H.265 support.

In terms of bang for the buck, computer hardware and network bandwidth seems plenty good now to handle surveillance. Plus BI is a multi-threaded application optimized for the Windows operating system.

We have one user that was running 9 8MP cameras without dual streams on his CPU at 45 - 55% CPU utilization.

hardware_camera stats.png
hardware_camera stats.png (93.35 KiB) Viewed 1421 times


Server stats:
  • CPU: Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz
  • RAM: 5.82G/15.7G
  • OS: Windows 10 Pro
  • Cameras: 9
Conclusion:
Spending money on a processor with a dedicated core for encoding/decoding, i.e. Intel QuickSync or AMD is worth it.
The Choosing Hardware for Blue Iris article above provides recommendations on CPU and # of cores.


Multi-socket motherboards (multiple CPUs)

We do have some stats from users as well. The below example is from a user that had a server with 2 CPUs (Intel Xeon CPU E5-2620 v4 @ 2.10 GHz).
Each CPU had 8 cores and an additional 8 virtual cores.
16 physical cores + 16 virtual cores.
Blue Iris is a multi-threaded server application.
As you can see, BI takes advantage of one of the 2 CPUs (16 logical cores).
Not sure why Windows does not take advantage of the second CPU.
My guess is Windows does not distribute threads from one application across CPUs.

Only one CPU used.PNG
Only one CPU used.PNG (136.66 KiB) Viewed 1004 times


From engineering:
Blue Iris does not specifically limit itself to a certain number of cores or processors, this is up to Windows.
Some interesting reading on Windows:
https://www.alphr.com/enable-all-cores-windows/
Many of the other hardware choices for a PC is not that crucial.



Storage

There is a rough calculator in the Help file as well. Search for "How much storage space do I need?" in Help.
I would just run the server and look at the size of the recordings. You can then extrapolate storage needs based on your storage usage.

As far as vendor recommendations for SSD/HDD/NAS, these questions are best asked to the community. blueirissoftware.com/forum.



RAM Calculator

Many users ask how much RAM is required for my system.

High level guidelines:
4 GB may be fine for small systems (4 or fewer cameras).
8 GB is the most common configuration (< 20 cameras).
The largest systems may benefit from 16 GB.
Memory section of Choosing Hardware for Blue Iris article has more details.

RAM requirements is dependent on number of cameras / fps per camera / compression / resolution per camera.

hardware recommendations_RAM.png
hardware recommendations_RAM.png (90.22 KiB) Viewed 779 times

If you want to better approximate RAM requirements, you need to first understand how BI works.

Pre-trigger buffer (compressed)
BI maintains a pre-trigger buffer (could be empty, i.e. set to 0s). Depending on your record settings, the size can vary.

Buffer contains the compressed stream. Since the stream is compressed only way to approximate the memory usage is via the camera's bit rate.
Fortunately, BI shares the bit rates for each of the streams (dual streams) for each camera. Camera settings -> General tab.

Pre-trigger buffer size = (mainstream bit rate + sub stream bit rate) * pre-trigger length

For my stats, Pre-trigger buffer size = (258.0 kB/s + 31.0 kB/s) * 5.0s = 1445 kB = 1.445 MB.
This value is approximate, because the bitrate will fluctuate based on the network.

Frame buffer per stream (uncompressed)
BI also maintains a 1s uncompressed frame buffer per stream.

Camera resolution (main stream) = 1920 x 1080 = 2.1 MP
Camera resolution (sub stream) = 640 x 480 = 0.3 MP
Camera resolution = 2.1 + 0.3 = 2.4 MP
Camera resolution (in bytes) = 2.4 MP x 4 bytes per pixel = 9.6 MB
For my stats, 9.6 MB * 30 fps * 1s = 288 MB

Final results
Total RAM needed for one camera: 1.445 MB + 288 MB = 289.445 MB


Support

Blue Iris currently only provides two tiers of support: Support and Priority support. No phone service. Support is included with the purchase of a license for one year.

Priority support, first and foremost is to get you to front of the email queue each day and you may also receive multiple replies in a single day. We do have the option to use Teamviewer (remote support) if there's something that you are stuck on or otherwise want to "show engineering." There is no "call in" phone number, but if required we can be on the phone at the same time as Teamviewer.



On Premise Solution

Completely on-prem is a guiding design principle for Blue Iris.
The only time BI uses the internet is for updates and periodically recording the IP address (For remote access. See Help for details). Both connections are to blueirissoftware.com.
To turn off updates, Global settings -> About tab -> Software support and maintenance. Select No Update Prompt.
To turn off the latter, go to Global settings -> About tab -> Register IP address to assist with client app connections. Uncheck.

To find the current IP address of blueirissoftware.com, simply use the ping command.

ping blueirissoftware.png
ping blueirissoftware.png (34.82 KiB) Viewed 2328 times
Post Reply