The goal of my setup was fourfold:
1) Spectacular performance of Blue Iris first and foremost. No other goal would matter if this could not be achieved.
2) To run BI on a VM where I could dynamically change resources as needed.
3) To exchange 4 power hungry computers for one VM host. The VM host would also run 3 other VMs. (EDIT: as of 2021, this i7-6700 beastie now runs 10 VMs, including Blue Iris)
4) Run ESXi on a powerful desktop which had decent horsepower in a small form factor with low power consumption vs a loud, power hungry server.
The hypervisor I chose was VMWare's ESXi, version 6.5 at the time to be exact, but it's since been upgraded to 7.0.
The hardware I chose was:
Motherboard : Asrock B150M-ITX
CPU : Intel i7-6700 ( Google i7-6700 Passmark )
Memory : 16GB DDR4
Drives : Mix of SSD and platter (EDIT: as of 2021 it's only SSD)
Total system cost at the time : about $650
Below is a screenshot of the ESXi info screen.
![](https://www.dropbox.com/s/d0oidxfotjn1fic/esxi.png?raw=1)
The server has 8 vCPU available. Here's how I've set up the VMs on the host:
Blue Iris : 8 vCPU
Untangle (my UTM router) : 2vCPU
Mothership (domain controller) : 1 vCPU
Ppbe312 (Cyberpower agent for UPS) : 1 vCPU
Below is a screenshot of my Virtual Machine set up. Untangle shows a warning because it's loosely based on Debain, but not close enough that ESXi is happy with the association.
![](https://www.dropbox.com/s/lolqlpopdbq3rl7/vms.png?raw=1)
The vCPUs are over-budgeted strategically. Blue Iris uses the most CPU, and only about 35% most of the time, while the others may have small intermittent periods of high CPU usage, so the ESXi host never actually hits 100%.
For cameras I run 13 cameras, 3 are clones of existing cameras with different motion settings to capture everything going on vs specific zones. They range from 720P at the lower resolution to 4k at the highest. I run all cameras at their max framerate, max resolution and max allowed bitrate. I utilize VBR when the camera allows it. Below are my cameras.
Manufacturer Model FPS Resolution Bitrate Encode mode Firmware App version
Foscam FI-9900P 25 1920x1080 4096 VBR 1.11.1.13 2.74.1.64
Amcrest IP3M-954EW 20 2304x1296 10240 VBR H.264H 2.400.0002.15.R, Build Date: 2017-04-26 3.2.1.422026
Amcrest IP4M-1028EW 30 2688x1520 8192 VBR H.265 2.420.AC01.2.R, Build Date: 2017-07-20 3.2.1.454221
Amcrest IP4M-1028E 30 2688x1520 8192 CBR H.265 2.420.AC01.1.R, Build Date: 2017-06-15 3.2.1.454221
Amcrest IP2M-841EW 30 1920x1080 8192 VBR H.264H 2.520.AC00.18.R, Build Date: 2017-06-29 3.2.1.453504
Trendnet TV-IP572PI 30 1280x800 H.264 1.1.3 Build 5607
HikVision DS-2CD2432F-IW 20 2048x1536 8192 VBR H.264 V5.4.5 build 170123 V4.0.1 build 170117
Edimax IC-9110W 30 1280x720 3072 H.264 v3.09 (Dec 27 2017 11:18:33) v2.0.4.0
Amcrest IP8M-2496E 15 3840x2160 10240 VBR H.264H 2.460.1.0.R 3.2.1.474688
Amcrest IP2M-841EW 30 1920x1080 8192 VBR H.264H 2.520.AC00.18.R, Build Date: 2017-06-29 3.2.1.453504
Here is a screenshot of the Blue Iris camera info screen.
![](https://www.dropbox.com/s/k5wxkv3gde1bp2d/bistatus.png?raw=1)
On all cameras I do:
Motion detection recording
Keyframes matching FPS
Overlays on camera
Direct-to-disc recording
20MB receive buffer
7 sec Pre-trigger video buffer
On cameras where I am less concerned about motion:
Check "Limit decoding unless required" ensuring keyframe is happening once per second.
Here are screenshots of my Blue Iris VM utilization, console is open but minimized.
![](https://www.dropbox.com/s/yw2ntbilexu3717/bicpu.png?raw=1)
![](https://www.dropbox.com/s/sf99f19im2wykhl/binet.png?raw=1)
Here are screenshots of the host utilization.
![](https://www.dropbox.com/s/mnknc7w4jgomgxe/hostcpu.png?raw=1)
![](https://www.dropbox.com/s/xvxt5zv52zf08od/hostdisk.png?raw=1)
![](https://www.dropbox.com/s/66asahs5l2o9tgx/hostnet.png?raw=1)
So in summary, for me, Blue Iris in a VM works, and works very well. You should not be scared of trying it if you want to get rid of some other power hungry machines in the house.