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: 90
Joined: Thu Jul 11, 2019 9:52 pm

Hardware Recommendations

Post by varghesesa »

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
Will my cameras work with BI?
Video standards
RTSP tends to be the most popular today. Other standards such as RTMP, MJPEG or just regular JPG are also supported.

If you are uncertain, reach out to the camera manufacturer. Simply ask, how do I connect your camera to third party VMS systems using RTSP. One user asked how to connect the camera to VLC, a very popular media player. If VLC can connect to a camera, it should be possible via BI as well.

ONVIF
BI also supports the ONVIF standards. I would say ONVIF enabled devices make connectivity the easiest because often access to the video plus additional functionality such as PTZ comes over via ONVIF. 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.

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.

Vendors we know that do not work with third party software (not exhaustive list):
  • Blink (Amazon acquisition)
  • Ring (Amazon acquisition)
  • SimpliSafe
BI Connectors
The Generic/RTSP Make / Model selection is automatically chosen if an ONVIF connection to the camera is possible.

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

In addition, the Make/Model list in the IP Config dialog provides an exhaustive list of the 1000s of manufacturers that are also supported via custom drivers. BI engineers continuously works with customers to add new cameras to the list.

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

For any manufacturer, the list of supported models are also provided. Often models that are not listed can use an existing driver. 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.

New and advanced features
Cameras are coming out with more and more features, e.g. sirens, floodlights etc. Often we can reverse engineer functionality if you put the camera on the WAN for remote testing. A good litmus test as to whether this is possible is to determine whether the same functionality is available via their web interface? If so, then we have a good shot of reverse engineering the functionality into BI. If not, i.e. the functionality is only available via a proprietary app, probably not.

The Connect cameras correctly section in the Checklist documents best practices for connecting cameras.

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 14754 times

Some additional thoughts.

OS
Windows 10 Pro is preferred. Windows Server is also used by many users.
Many, many users have already migrated to Windows 11 with no issues. Be smart and have your license key and a copy of your BI settings on a thumb drive.

Intel processor + QuickSync
Intel introduced H.265 support with Skylake (6th generation i7) Ideal to get a processor that supports H.264 & H.265 (HEVC) encoding. Xeon versions with QuickSync also provide very efficient camera stream decoding. BI can take advantage of QuickSync for decoding H.264/H.265 streams from cameras.

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

AMD processor
Positive customer feedback from AMD processors that leverage our DirectX integration as well.

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 therefore does not need to be large. It really depends on your requirements (number of cameras, record settings).
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 16052 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 15635 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 calculator

Most users just want to know how much storage is needed to accommodate their recording requirements, for example I want recordings to go back 30 days.

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 set the New folder as large as possible in the beginning based on the size of the drive. Run the server for a week and play with your record settings.

For example, if you are continuous recording, many users cut the recordings every hour so the files are manageable. Because you are continuous recording, the size of recordings will not fluctuate day to day. After 1-2 days of recording, you know how much storage is needed for your cameras per day. Multiply storage per day by number of days to determine the overall storage need.

If you are using the When triggered / alerted settings, then obviously you are optimizing storage already and perhaps you can leave combine/cut at 8 hrs. Run BI for a week since storage needs fluctuate based on the activity of the camera. Then look at the average size of the recordings per day over a week of recordings for each camera.
Same as above, since you now know the size of the recordings from different cameras, you can easily determine how much storage is needed to meet your requirements, for example 30 days of recordings.

If you plan on using additional drives for fault tolerance, you can distribute the storage need across your different drives.

The Record tab article / webinar has details on record options discussed above.

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 15410 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 16959 times
Post Reply