Windows 10 VM for Blue Iris Security Cam Software


andyps

Recommended Posts

I'm in the process of setting up my server (e3-1245v3 w/32GB ram). On my current home server (just a windows box) I run Blue Iris connected to some POE security cameras. So for my unRAID server, I'll need a Win10 VM for this function. I have a couple of questions:

 

1) How many cores and how much memory should I allocate for this? I don't want to over or under-allocate

 

2) I was originally planning to setup a single drive (WD Purple) in Unassigned Devices dedicated to just my security cam recordings, but it would be nice to have the protection of the array. Is there a way to add my drive to the array so it's protected, but then only allow it to be used for this singular function? 

 

Also as a side note, I also noticed there is a ZoneMinder docker for unRAID now, so if anyone has any security cam experience with unRAID, I'm open to other suggestions. 

 

Thanks!

Link to comment

I've had some experience along the same path you're about to travel...

 

1 hour ago, andyps said:

1) How many cores and how much memory should I allocate for this? I don't want to over or under-allocate

 

Too many variables here given what little is known about your setup. Question like this is better suited for Blue Iris message boards. All I can suggest is to take a look at what you're running Blue Iris on today, and make a determination from there what's the equivalent to try in UnRAID. With a VM it's pretty easy to add/subtract cores or memory to fine tune it.

 

1 hour ago, andyps said:

2) I was originally planning to setup a single drive (WD Purple) in Unassigned Devices dedicated to just my security cam recordings, but it would be nice to have the protection of the array. Is there a way to add my drive to the array so it's protected, but then only allow it to be used for this singular function?

 

Yes you can use UD, Yes you could also add a drive to the array so it's only used for this singular function. But IMHO both are poor choices and this question makes me even further skeptical that I couldn't assume anything about your setup, or your level of knowledge, cause honestly I'd do neither of those paths you asked about. My advice is simply to stay where you now running Blue Iris, don't migrate it to unRAID until you're far more experienced. It'll save you a lot of hassle early on, and given you a much less stressful environment to learn in.

 

1 hour ago, andyps said:

Also as a side note, I also noticed there is a ZoneMinder docker for unRAID now, so if anyone has any security cam experience with unRAID, I'm open to other suggestions. 

 

I have lots of experience, enough to know that it's a very narrow configuration in which it makes sense to run it on unRAID I'm sure many will chime in telling me I'm wrong in response to this. If so I dare them to post their requirements and configuration and justify it. As for ZoneMinder and others, it's easy answer... if you already purchased a BlueIris license, then my advice to you is simply don't bother with the others, the grass isn't greener. If you don't own a BI license and have the time and patience to explore, then go for it.

 

To sum it up, don't dive head first into unRAID to start running critical applications on, whether it be your security cameras, your router software or your VPN, etc...

 

Link to comment
17 hours ago, Lev said:

I've had some experience along the same path you're about to travel...

 

 

Too many variables here given what little is known about your setup. Question like this is better suited for Blue Iris message boards. All I can suggest is to take a look at what you're running Blue Iris on today, and make a determination from there what's the equivalent to try in UnRAID. With a VM it's pretty easy to add/subtract cores or memory to fine tune it.

 

 

Yes you can use UD, Yes you could also add a drive to the array so it's only used for this singular function. But IMHO both are poor choices and this question makes me even further skeptical that I couldn't assume anything about your setup, or your level of knowledge, cause honestly I'd do neither of those paths you asked about. My advice is simply to stay where you now running Blue Iris, don't migrate it to unRAID until you're far more experienced. It'll save you a lot of hassle early on, and given you a much less stressful environment to learn in.

 

 

I have lots of experience, enough to know that it's a very narrow configuration in which it makes sense to run it on unRAID I'm sure many will chime in telling me I'm wrong in response to this. If so I dare them to post their requirements and configuration and justify it. As for ZoneMinder and others, it's easy answer... if you already purchased a BlueIris license, then my advice to you is simply don't bother with the others, the grass isn't greener. If you don't own a BI license and have the time and patience to explore, then go for it.

 

To sum it up, don't dive head first into unRAID to start running critical applications on, whether it be your security cameras, your router software or your VPN, etc...

 

 

I'll ask it over in the Blue Iris community. I was hoping to hear from other Blue Iris VM users as to what their setups looked like so I could make some better estimations, but I can also just fine tune mine as I go.

 

If not UD and if not a disk as part of the array, then what?

 

Here are my specs:

 

E3-1245v3

32GB DD3 ECC

HP Z230 motherboard

LSI SAS9201-16i

SUPERMICRO CSE-M35T-1B Hot swaps

8 x WD 6TB Reds

1 x 256 Crucial M4 SSD cache drive

Sandisk Cruzer Fit boot drive

Seasonic G-Series 750w

 

Here are my current dockers:

 

deluge

Krusader

Sonarr

Radarr

PlexMediaServer

Sabnzbd

 

For Blue Iris I am currently running 4 1080p Hikvision POE cams.

 

I am constantly reading, asking, trying, and learning with unRAID, is that not the point? I think unRAID can be a good option for me, so I am exploring that. Only way I will be "far more experienced" is by learning and doing.

 

I'm happy with Blue Iris. I have been using it for years, which is why I am asking about a VM for it. I however am open to other option should someone make a convincing argument for an alternative that may work better for me/my setup. If not, I'm going to run Blue Iris, which I have been happy wth.

 

I appreciate you taking the time to comment, but the sentiment of "don't try, stick with what you've got because I'm skeptical of you/your abilities," is weird to me. I'm not staying where I'm at with my current setup. It doesn't fulfill all my needs. So I am learning about unRAID and if that can meet my needs, so I am here asking questions. 

Link to comment

Thats more details, thanks.

 

BI can be tweaked if you haven't already to run those 4 cameras and VM on 2 cores, 4GB RAM.

 

Ask yourself how long you need to keep you recording. Maybe <7 days, maybe only on events. Maybe then you'd be able to just keep your recordings cahed locally within your VM's vdisk (assuming that's on your cache drive) and then also use a off-site cloud backup to sync all your recordings as they are created. 

 

For 99% of people, cam recordings are throwaway data. Unless something happens, in which you usually know within hours or days, the recordings are worthless. The paradigm though is very heavy on i/o writes, which makes putting it on the array a poor choice. As for UD? If you don't mind keeping that WD Purple constantly spun up for writes, then go for it. Odds are your VM vdisk size can be enough, especially when paired with what should be absolutely required for your setup, a off-site sync to a cloud server. If you think you're OK getting by with emailed attachments, that's your choice but in the event something unfortunate happens, you're going to want the best data your camera's recorded at time time.

 

Good luck. And yeah stay with BlueIris, I've used it for years, I also thought he grass might be greener, but it's not. I just wish there was a docker container for unRAID for it so we could ditch the dedicated VM.

 

 

 

 

Link to comment

I run Blueiris in a VM... I used to run it with 2 cores and 4GB ram, this was with 4 cameras mixture of 720 and 1080.

I also ran the same system taking in another 8 feeds remotely but these were only 5FPS/20KB/sec each with limited internet causing issues with that bandwidth!

D2D recording.

 

It now has 4 cores but still often reports high cpu usage 80-90%, although within windows reports it as around 40% less. This has not caused me any issues.

 

I do write it to the array and initially dedicated a disk to it by not allowing other shares on it, now that disk is shared with other media. 

 

I guess my system isn't under enough load for this really to be an issue at the moment, but I'll be honest I hadn't really thought about it keeping that disk + parity spun up constantly or maybe I did and have forgotten! I might change things a little, but for the sake of saying it works... it works. 

Link to comment

For reference to a couple of your questions, I am also running a Windows VM for my BI setup. 6 POE cameras, 4 always recording to a WD purple drive set outside my array. I do send my alert snapshots to an array protected share, as BI lets you configure what goes where and when.

 

I am running 6 cores of an e5-2670V1 with 4gigs of ram. It has been plenty of power for me so far. All in all, it has been incredibly reliable. I pull up the stream via blue iris android app from home, work, tablet, phone, on the road, etc with no problem. I also run a Homeseer home automation system on a Windows VM, and have a few tablets set with Imperihome constantly showing a few of the camera feeds. Have yet to have any real hiccups, apart from some older cameras that didn't play nice and one poor cable termination(my fault) that gave me headaches for a couple of days before root cause being discovered.

 

A key to managing my CPU usage was to set each camera to blue iris DVR format, and direct to disk recording. This required me to set my overlays on each camera, but other than that no big trade-offs that have affected me anyways.

Edited by NotYetRated
Link to comment
On 9/13/2017 at 9:20 AM, Lev said:

Thats more details, thanks.

 

BI can be tweaked if you haven't already to run those 4 cameras and VM on 2 cores, 4GB RAM.

 

Ask yourself how long you need to keep you recording. Maybe <7 days, maybe only on events. Maybe then you'd be able to just keep your recordings cahed locally within your VM's vdisk (assuming that's on your cache drive) and then also use a off-site cloud backup to sync all your recordings as they are created. 

 

For 99% of people, cam recordings are throwaway data. Unless something happens, in which you usually know within hours or days, the recordings are worthless. The paradigm though is very heavy on i/o writes, which makes putting it on the array a poor choice. As for UD? If you don't mind keeping that WD Purple constantly spun up for writes, then go for it. Odds are your VM vdisk size can be enough, especially when paired with what should be absolutely required for your setup, a off-site sync to a cloud server. If you think you're OK getting by with emailed attachments, that's your choice but in the event something unfortunate happens, you're going to want the best data your camera's recorded at time time.

 

Good luck. And yeah stay with BlueIris, I've used it for years, I also thought he grass might be greener, but it's not. I just wish there was a docker container for unRAID for it so we could ditch the dedicated VM.

 

 

 

 

 

I didn't realize that I was running BI so CPU heavily. I did a search for "reduce blue iris CPU usage" and followed a number of suggestions. BI went from 40% to 15-18%

 

Got the VM with BI up and running. I'm using a single core + 1 virutal core & 4GB of ram. Running great so far. Thanks for suggestions

 

On 9/13/2017 at 10:09 AM, Tuftuf said:

I run Blueiris in a VM... I used to run it with 2 cores and 4GB ram, this was with 4 cameras mixture of 720 and 1080.

I also ran the same system taking in another 8 feeds remotely but these were only 5FPS/20KB/sec each with limited internet causing issues with that bandwidth!

D2D recording.

 

It now has 4 cores but still often reports high cpu usage 80-90%, although within windows reports it as around 40% less. This has not caused me any issues.

 

I do write it to the array and initially dedicated a disk to it by not allowing other shares on it, now that disk is shared with other media. 

 

I guess my system isn't under enough load for this really to be an issue at the moment, but I'll be honest I hadn't really thought about it keeping that disk + parity spun up constantly or maybe I did and have forgotten! I might change things a little, but for the sake of saying it works... it works. 

 

Do you run it with 2 physical cores? I'm running it right now with 1 physical and 1 virtual/hyperthreaded and it seems to be running great.

 

My BI was running around 40% with 2 1080p cams, 1 720p cam, and 1 480p cam. After tweaking BI that dropped to 15-18%. Running it with the same tweaks on the VM I'm seeing right around 20-25% with unRAID reporting 25-28% going to the VM. I'm happy with that I think. Just wasn't sure what core mixture to run with.

 

Thanks for info.

 

On 9/13/2017 at 2:47 PM, NotYetRated said:

For reference to a couple of your questions, I am also running a Windows VM for my BI setup. 6 POE cameras, 4 always recording to a WD purple drive set outside my array. I do send my alert snapshots to an array protected share, as BI lets you configure what goes where and when.

 

I am running 6 cores of an e5-2670V1 with 4gigs of ram. It has been plenty of power for me so far. All in all, it has been incredibly reliable. I pull up the stream via blue iris android app from home, work, tablet, phone, on the road, etc with no problem. I also run a Homeseer home automation system on a Windows VM, and have a few tablets set with Imperihome constantly showing a few of the camera feeds. Have yet to have any real hiccups, apart from some older cameras that didn't play nice and one poor cable termination(my fault) that gave me headaches for a couple of days before root cause being discovered.

 

A key to managing my CPU usage was to set each camera to blue iris DVR format, and direct to disk recording. This required me to set my overlays on each camera, but other than that no big trade-offs that have affected me anyways.

 

Good info, thanks. Ya I found that the "direct to disk" setting for recoding was the biggest win for CPU usage. I had no idea I wasn't running it that way and that I was spending so much CPU power encoding the clips.

Link to comment

I do not run this type of software, but I would carefully consider where you decide to keep your video files. Putting on the array would cause constant parity I/O, and really drag performance of writing to the array for other purposes. I wouldn't do it unless my server were largely dedicated to this use.

 

Writing to the cache or VM image file (which probably is in the cache drive) probably means writing heavy writes to an SSD. SSDs have limited lifetime based on amount of writes. I would not use up the life on video surveillance footage. But SSDs would perform well on the parallel I/O, so this would be your decision is it were worfh the cost of SSD wear and tear.

 

The UD option seems most appropriate to me. Purples are optimized for this type of application, and having one of to the side storing video would not impact the array performance.

 

Just my $0.02.

Link to comment

@andyps nice work on finding the BI optimizations, the ones already discussed in this thread are the big wins. I'll round it with remaining other tweaks I'm aware of...

 

Don't have BI do the overlays for time-stamps or other text, set that in the camera settings. Same with things like privacy zones. Any post-processing you can source at the camera and not off-load onto BI makes a difference. Granted the trade-off is convenience, BI may make it easier to do it all in one place.

 

Lower the frame-rate and use VBR on your cameras, go CBR if you really want to fine tune it. For my purpose, 30 fps @ full bit-rate is overkill. I use 15fps and don't care enough to mess with bitrate, I just leave on VBR, still full resolution though at 1080p.

 

Make sure to run BI as a windows service, rather than leaving the desktop app open inside the VM. Close the app before you disconnect your VNC or RemoteDesktop connection to the VM

 

Review your triggers and alerts. Triggers and the recordings they generate writing to the disk can be largely mitigated if you selectively pick on important cameras or masked zones within the frame. As for alerts, I used to get images and video clips from all 3 cameras in the front of my house, but in time realized it was overkill. a few images from just the single most critical camera was all I needed to know if the alert was worth concern or not. If I need video I can access where it's uploaded on the cloud easily to take a look from my phone.

 

Not really BI related but wish someone would of told me this sooner... if the IR on the camera isn't serving a purpose, then disable it by setting the camera appropriately. I have a camera in a dark windowless room in my basement pointed at the door to enter the room. If anyone comes in, I'm betting on the fact they will turn on the lights. No IR needed for that scenario. That camera is simply to make sure the wife can't come snooping around unnoticed around my server rack! Any thief would of been caught on the outside cameras hopefully.

Link to comment
14 hours ago, bjp999 said:

I do not run this type of software, but I would carefully consider where you decide to keep your video files. Putting on the array would cause constant parity I/O, and really drag performance of writing to the array for other purposes. I wouldn't do it unless my server were largely dedicated to this use.

 

Writing to the cache or VM image file (which probably is in the cache drive) probably means writing heavy writes to an SSD. SSDs have limited lifetime based on amount of writes. I would not use up the life on video surveillance footage. But SSDs would perform well on the parallel I/O, so this would be your decision is it were worfh the cost of SSD wear and tear.

 

The UD option seems most appropriate to me. Purples are optimized for this type of application, and having one of to the side storing video would not impact the array performance.

 

Just my $0.02.

Yep! This is the conclusion I'd come to as well. I'm writing to a 4TB drive in UD right now. Plan to do backups of it via rclone to google drive.

 

BTW, thanks for all your help early in this process. I'll be sure to share pics and the build once it's done so I can show off the supermicro hotswaps all stacked up in the tower case!

 

3 hours ago, Lev said:

@andyps nice work on finding the BI optimizations, the ones already discussed in this thread are the big wins. I'll round it with remaining other tweaks I'm aware of...

 

Don't have BI do the overlays for time-stamps or other text, set that in the camera settings. Same with things like privacy zones. Any post-processing you can source at the camera and not off-load onto BI makes a difference. Granted the trade-off is convenience, BI may make it easier to do it all in one place.

 

Lower the frame-rate and use VBR on your cameras, go CBR if you really want to fine tune it. For my purpose, 30 fps @ full bit-rate is overkill. I use 15fps and don't care enough to mess with bitrate, I just leave on VBR, still full resolution though at 1080p.

 

Make sure to run BI as a windows service, rather than leaving the desktop app open inside the VM. Close the app before you disconnect your VNC or RemoteDesktop connection to the VM

 

Review your triggers and alerts. Triggers and the recordings they generate writing to the disk can be largely mitigated if you selectively pick on important cameras or masked zones within the frame. As for alerts, I used to get images and video clips from all 3 cameras in the front of my house, but in time realized it was overkill. a few images from just the single most critical camera was all I needed to know if the alert was worth concern or not. If I need video I can access where it's uploaded on the cloud easily to take a look from my phone.

 

Not really BI related but wish someone would of told me this sooner... if the IR on the camera isn't serving a purpose, then disable it by setting the camera appropriately. I have a camera in a dark windowless room in my basement pointed at the door to enter the room. If anyone comes in, I'm betting on the fact they will turn on the lights. No IR needed for that scenario. That camera is simply to make sure the wife can't come snooping around unnoticed around my server rack! Any thief would of been caught on the outside cameras hopefully.

 

Ya, I've made some of those tweaks as well. Made a big difference for sure. Good info on the IR. I'm going to play with those options, thanks.

Link to comment
  • 4 months later...

I know this thread is about 4 months old but my question is directly related to the topic. 

 

I’ve been running Blue Iris on a dedicated server and it’s been running well. In an effort to consolidate, I’ve created a Windows 10 VM on my UnRAID Server and installed Blue Iris on that. I’ve got a pretty small/simple camera system that easily runs within my resources. 

 

As as for the data drive, it seems like recording outside the array is the best bet, so I moved my 4TB WD Purple surveillance drive into the UnRAID Server and mounted it using Unassigned devices. 

 

This is brings me to my question. What’s the best way to have the Windows 10 VM see this drive? Right now I set up a second virtual file system on this drive, but I’m curious if some other solution is better practice, sharing the disk, etc (the virtual file system only shows in Windows partition manager as 2TB max also - but that’s another issue). I record continuously and am fine with the surveillance drive staying spin up 24/7 (after all that’s what it’s designed for). 

 

Thanks!

 

Link to comment
23 hours ago, jjjman321 said:

I know this thread is about 4 months old but my question is directly related to the topic. 

 

I’ve been running Blue Iris on a dedicated server and it’s been running well. In an effort to consolidate, I’ve created a Windows 10 VM on my UnRAID Server and installed Blue Iris on that. I’ve got a pretty small/simple camera system that easily runs within my resources. 

 

As as for the data drive, it seems like recording outside the array is the best bet, so I moved my 4TB WD Purple surveillance drive into the UnRAID Server and mounted it using Unassigned devices. 

 

This is brings me to my question. What’s the best way to have the Windows 10 VM see this drive? Right now I set up a second virtual file system on this drive, but I’m curious if some other solution is better practice, sharing the disk, etc (the virtual file system only shows in Windows partition manager as 2TB max also - but that’s another issue). I record continuously and am fine with the surveillance drive staying spin up 24/7 (after all that’s what it’s designed for). 

 

Thanks!

 

 

Yes, I'd definitely recommend the drive outside the array using unassigned devices. I've been running that config since this post and have had no issues.

 

To setup the second drive I simply edited my VM in the VM manager of unRaid and added a 2nd vDisk Location. I selected the option to manually select it and used my drives name identifier. Basically that field looks like this: /dev/disk/by-id/ata-DRIVE-NAME

 

You can just replace the "drive-name" part and update and be golden. I am running a 4TB WD red with no partition issues.

 

Hope that's helpful

Link to comment

In your day-to-day Blue Iris monitoring, do you all use Remote Desktop to access the actual Windows interface, or do you just remote in with <IPAddress>:81 web viewer? I believe that has less functionality than the actual desktop interface. Just curious what you all are using and the relative performance. 

Edited by jjjman321
Clarity
Link to comment
  • 1 month later...
On 2/6/2018 at 2:40 PM, jjjman321 said:

In your day-to-day Blue Iris monitoring, do you all use Remote Desktop to access the actual Windows interface, or do you just remote in with <IPAddress>:81 web viewer? I believe that has less functionality than the actual desktop interface. Just curious what you all are using and the relative performance. 

 

I use windows remote desktop sometimes, and Splashtop other times.... At random and with no real reason between the 2.... 

Link to comment
On 2/6/2018 at 1:40 PM, jjjman321 said:

In your day-to-day Blue Iris monitoring, do you all use Remote Desktop to access the actual Windows interface, or do you just remote in with <IPAddress>:81 web viewer? I believe that has less functionality than the actual desktop interface. Just curious what you all are using and the relative performance. 

 

Oh sorry I missed this awhile back. I use the web viewer occasionally, but I do 95% of my monitoring with the phone app. I have also geofencing setup with the app so that our indoor camera is auto-disabled when we are home.

Link to comment
  • 10 months later...
  • 4 weeks later...
12 minutes ago, scubieman said:

All drives we're very busy. And parity is running a lot. I just did unassigned

Sent from my Pixel 2 XL using Tapatalk
 

So even if put to ONE drive, technically the parity will be running a lot?

Any chance to separate part of a disk to make it NOT part of parity?

Only asking cause right now I have 14 sata ports, and all 14 are taken up with drives in the array. I guess I could always just use a USB drive for NOW, until I get a another JBOD DAS connected.

Link to comment
So even if put to ONE drive, technically the parity will be running a lot?

Any chance to separate part of a disk to make it NOT part of parity?

Only asking cause right now I have 14 sata ports, and all 14 are taken up with drives in the array. I guess I could always just use a USB drive for NOW, until I get a another JBOD DAS connected.
I don't think you can exclude one drive. I know you can take it off cache drive the share. But I couldn't figure out how to get a drive not to do parity so I just did a unassigned disc. It is way easier to setup

Sent from my Pixel 2 XL using Tapatalk

Link to comment
  • 2 years later...

How do I add a second drive to my win10 vm? I want to add my purple drive but can't seem to do so...

Just started using Unraid.

 

/dev/disk/by-id/ata-DRIVE-NAME

 

How do you find the DRIVE-NAME? Also do you set it to SATA?

Now how do people get quicksync to work? I tried setting a second graphic card but then I lose the GUI (VNC) so I can't use Intel....

 

Edited by TurboTronix
Link to comment
1 hour ago, TurboTronix said:

OK I added the second drive, but Bluiris is killing my CPU, I don't think hardware acceleration is working. My CPU has quicksync for sure.

 

The typical settings (on Blue Iris 4 - I imagine 5 is similar) to set up Quicksync  is Settings -> Cameras -> Hardware accelerated Decode to "Intel" and verify it's working with the "GPU 0 - Video Decode" message for Blue Iris in Task Manager. If you are using an UnRAID VM for BI, you'll need to pass through the iGPU first.

Edited by jjjman321
clarification
Link to comment
On 3/21/2021 at 12:00 PM, jjjman321 said:

 

The typical settings (on Blue Iris 4 - I imagine 5 is similar) to set up Quicksync  is Settings -> Cameras -> Hardware accelerated Decode to "Intel" and verify it's working with the "GPU 0 - Video Decode" message for Blue Iris in Task Manager. If you are using an UnRAID VM for BI, you'll need to pass through the iGPU first.

How would I pass through the iGPU first?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.