Blue Iris running as a VM - pros/cons

reflection

Getting comfortable
Joined
Jan 28, 2020
Messages
348
Reaction score
261
Location
Virginia
This post is to examine the benefits and drawbacks for running Blue Iris as a Virtual Machine. This might be something to consider for new installs.

Background about VMs. >90% of Enterprises and Government organizations use some level of virtualization. This is proven technology that has matured over the past 20 years and enables the Cloud and operates mission critical systems. A hypervisor is the host software that simulates instances of physical hardware for the guest virtual machines. There are many variations of hypervisors available. The most popular ones are vSphere (ESXi), KVM, and HyperV. They all have free versions.

Cons:
  • learning curve if you are not familiar with Virtual Machines
  • hardware acceleration requires you to map the GPU to one VM. This means other VMs can't use the GPU (unless you have a Enterprise GPU which will let you map to many VMs).
  • learning curve if you are not familiar with VLANs.

Pros:
  • allows you to run other virtual machines alongside your Windows instance for Blue Iris. For example, pfSense and Plex and Windows and Linux.
  • saves power, space, cooling, by not having multiple physical machines
  • reduces environmental impact due to less power
  • allows you to snapshot your Blue Iris instance. For example, let's say you want to upgrade Blue Iris but you are not sure about it. You can do a snapshot which captures the state of your VM. Then upgrade to the latest version of Blue Iris. If you have an issue, you can revert to your snapshot and it will be as if you never did the upgrade.
  • zero downtime if you have two physical machines. If you have an environment with multiple VMs and more than two physical machines. You can vMotion your Blue Iris VM from one machine to the other on the fly. This is useful if you wanted to do maintenance on one of the physical machines (for example upgrading the hardware).
  • can create up to 10 virtual NICs for your Blue Iris VM. Most only use two and you can map one to your Camera VLAN and one to your Home VLAN.
  • can "service chain" other virtual machines to add services such as firewall, IDS/IPS, load balancing.
  • can "export" or "save" or VM to a file and import it somewhere else. Good if you need to switch to a brand new server (with a different processor and motherboard). This is different from a backup which requires you to restore to a similar server.

Potential Arguments:
  • a VM environment is not as stable. This is definitely not true because VMs have been proven time and time again in major Enterprises and the Government. Yes, it does require a level of understanding to set it up properly.
  • a VM environment does not perform well. The CPUs today are built for vitualization. Both Intel and AMD have instruction sets for virtualization. Also, the hypervisor supports passthrough for hardware devices. When properly configured, a VM environment performs very well.

As an example, I run Blue Iris 5 on ESXi. I gave BI 2 vCPU and 8 GB RAM. My CPU usage is 15% and memory usage is 30%. 9 cameras (4-5MP, 2-4MP, 3-2MP). My ESXi machine is a 4-core@3.5GHz (no hyper threading) with Intel integrated GPU. The ESXi machine also hosts my son's minecraft/web server, pfSense, and VCSA. This machine consumes 3.73GHz of the available 14GHz (4 x 3.5 = 14). I have a few other VMs that I turn on when I need it for work but my CPU still stays under 60%.

Bottom line:
  • stick to a non-VM environment if you have a BI system that you like. Don't change if it ain't broke.
  • stick to a non-VM environment if you are not comfortable or don't have time or desire to invest in learning how to setup a virtual environment.
  • stick to a non-VM environment if you don't need other machines (like pfSense or web server).
 
Joined
Aug 17, 2022
Messages
2
Reaction score
0
Location
LA
Any interest in doing a walk thru video on this?
im building a new windows tower with enough cpu power to make this happen. i have used plain vmware 14 for problematic programs for less down time.
You brought up several items like vlan i would like to learn how to setup.
 
Joined
Feb 1, 2020
Messages
3
Reaction score
2
Location
NW Oklahoma USA
Blue iris is a hog without Intel Quick Sync Video.
Without it your CPU needs are at least 2x.

only minimal setups could VM without hardware passthrough and be useful VM host, I don't think ESXi will let you share the igpu, proxmox will via GVT-g
but I don't see the use case, for two VMS needing it, I mean if you are running plex just run it on the same system as Blue Irus .
If you cant because of performance, Virtualization is not going to help you.
in my opinion, virtualization does not make much sense outside of , A small setup (few cams), or a setup that can afford to forfeit the igpu for hardware passthrough.
I had these same notions at first, but once I started loading up my box and adding cams, I was shocked at just how much CPU was needed.
In the end, I decided if this is for security why can't it be dedicated? and got an Intel Quick Sync CPU / board.
I run an ESXi host that runs, FreeNAS, pfsense , plex - torrent, ubiquity, and home assistant, hosts. but my BI box is bare metal, it just works better for me .
its a tiny machine just loaded up with ram and intel cpu/igpu .
The storage is handled via 10g iscsi link to FreeNAS some folks would question that choice, but its what works best for my infrastructure/budget.
Having all my drives in a big OpenZFS storage array with hot spares on a robust host lets me get the best bang for my buck and also has allowed me to self-archive fam photos, movies, personal cloud services, spread the cost across the uses.
 
Last edited:

Flintstone61

Known around here
Joined
Feb 4, 2020
Messages
6,599
Reaction score
10,914
Location
Minnesota USA
Something changed along the way with needing Intel Quick sync as version after version of BI have been rolled out.
When I built my i5-8500 24GB ram twin WD 3.5" disks, and upgraded it from the Amcrest Disc of BI 5.0 to 5.4.1.x
it went nuts. the CPU was running at 60-70% and lost in translation from 5 to 5.4 were my .jpg settings in the "Record" tab, which were translated to " continous JPEGS!!!!!"that ran it up to 100%.
My CPU load went down when I globally turned off HA in the "cameras" Tab in BI settings.
right now with 18 cams I have only got 3 of 18 cams using Intel Quick Sync.
 

wittaj

IPCT Contributor
Joined
Apr 28, 2019
Messages
24,864
Reaction score
48,496
Location
USA
This thread was started before substreams were added when it would be a CPU hog.

Now that substreams are available, GPU whether internal or external is not needed for normal BI use.

Around the time DeepStack was introduced, many here had their system become unstable with GPU hardware acceleration on (even if not using DeepStack). Some have also been fine.

This hits everyone at a different point. Some had their system go wonky immediately, some it was after a specific update, and some still don't have a problem, yet the trend is showing running hardware acceleration will result in a problem at some point.

However, with substreams being introduced, the CPU% needed to offload video to a GPU is more than the CPU% savings seen by offloading to a GPU. Especially after about 12 cameras, the CPU goes up by using hardware acceleration.

You now only would use a graphics card if you are using Deepstack and use the GPU to process the DeepStack to improve processing time over the DeepStack CPU version, but do not use it for hardware acceleration within BI.

For kicks and testing, I disabled and deleted the internal graphics card from hardware manager and the CPU didn't go up....
 

DanDenver

Getting comfortable
Joined
May 3, 2021
Messages
489
Reaction score
782
Location
Denver Colorado
You don’t mention if the install you are pondering about is commercial or residential. But if residential… talk about bit twiddling.
 

wpiman

Pulling my weight
Joined
Jul 16, 2018
Messages
332
Reaction score
246
Location
massachusetts
This thread was started before substreams were added when it would be a CPU hog.

Now that substreams are available, GPU whether internal or external is not needed for normal BI use.

Around the time DeepStack was introduced, many here had their system become unstable with GPU hardware acceleration on (even if not using DeepStack). Some have also been fine.

This hits everyone at a different point. Some had their system go wonky immediately, some it was after a specific update, and some still don't have a problem, yet the trend is showing running hardware acceleration will result in a problem at some point.

However, with substreams being introduced, the CPU% needed to offload video to a GPU is more than the CPU% savings seen by offloading to a GPU. Especially after about 12 cameras, the CPU goes up by using hardware acceleration.

You now only would use a graphics card if you are using Deepstack and use the GPU to process the DeepStack to improve processing time over the DeepStack CPU version, but do not use it for hardware acceleration within BI.

For kicks and testing, I disabled and deleted the internal graphics card from hardware manager and the CPU didn't go up....
I originally had my BI running on a Windows VM and once I hit enough cameras, I noticed the CPU usage was getting pretty high, so I moved it to a bare metal machine with Quicksync. I has some other instances running on the ESXi machine- and I didn't want to affect the performance of those.

I have been thinking about getting rid of the ESXi box and the Windows box and getting like a 16 core threadripper of something and going back to ESXi. The performance penalty is negligible..


I've seen also someone has got Blue Iris configured an a Docker Container with Wine. That would be awesome as I have been moving everything to containers anyways..
 

danweber1

n3wb
Joined
Feb 19, 2023
Messages
12
Reaction score
18
Location
MN
I have been running BI in a Win11 VM for a 3ish year with no performance related issues. I have 5 cameras. I do notice a slowdown if I use the local console but in reality that is only for making changes. All other viewing is done in UI3. I feel like I could go up to 8-10 cameras before I may outgrow what the VM can realistically handle, which I can't see myself doing anytime soon. My host system is pretty beefy though, I am running 5 other windows 11 and raspian Vm's for various things.
 
Top