Thought I would share my success with BI running on VirtualBox. I did some quick CPU test comparison and the CPU seems to lose about 10% due to the VM vs native, so I thought it was worth investing a bit more in the CPU so I could run Blue Iris on my Linux server. Because this turns into a Linux vs Windows debate, I'll go ahead and state I am biased towards Linux, and I also do not want to maintain two sets of hardward, so since everything else I have is already managed extremely well on my linux server, it made sense to virtualize the Windows instance.
Setup:
Running the DeepStack object recognition in the guest OS as well, but this could be migrated to the host OS as the communication channel to from BI to DS is via HTTP interface. I do not plan to keep DeepStack as I have written my own object detection that I plan to use which is much more efficient, accurate, and no licensing mess to deal with. (plan to share this with the community when I get it finished up and packaged up as well)
So far I have six 1080p cameras streaming with direct to disk enabled to avoid CPU overhead. Currently when I connect via the web interface it shows I'm consuming roughly 10-20% CPU, so I'm pretty happy with that. I assume I can get this up to my goal of around 12 cameras without much strain on the system. Meanwhile I still have the other half of the system dedicated to my other Linux services.
Setup:
- CPU - AMD Ryzen 3600X (6 cores, 12 threads)
- Motherboard - ASRock B450M Pro4 (cheap but works very well)
- RAM - 16 GB
- Cooling - Cooler Master Hyper 212 (did not want to risk water cooling due to bad history with it)
- Storage - 120 GB SSD for OS and 4 TB WD Purple for video
- Network - Intel I350-T4 (4 port NIC) with one NIC dedicated to the Host OS and one dedicated to the Guest OS
- Host OS - MX Linux (Debian based and VERY lightweight)
- Guest OS - Windows 7 (minimal memory footprint while supporting enhanced virtualization)
Running the DeepStack object recognition in the guest OS as well, but this could be migrated to the host OS as the communication channel to from BI to DS is via HTTP interface. I do not plan to keep DeepStack as I have written my own object detection that I plan to use which is much more efficient, accurate, and no licensing mess to deal with. (plan to share this with the community when I get it finished up and packaged up as well)
So far I have six 1080p cameras streaming with direct to disk enabled to avoid CPU overhead. Currently when I connect via the web interface it shows I'm consuming roughly 10-20% CPU, so I'm pretty happy with that. I assume I can get this up to my goal of around 12 cameras without much strain on the system. Meanwhile I still have the other half of the system dedicated to my other Linux services.