In this guide, I’m going to show to how to setup and configure Blue Iris on a Windows Server 2019 computer. Blue Iris is a local NVR security camera software. With one of the latest updates in early 2021, you can optionally turn on object detection using Deepstack integration.
Blue Iris is extremely powerful and customizable. It will let you capture motion recordings, snapshots, and you can even send Deepstack Blue Iris images to Telegram to keep a history of all objected-detected events in place.
This is a very thorough guide, but I’m going to break it down in a step-by-step for beginners. Even if you’ve never use Blue Iris, Deepstack, or any other local NVR security camera software, you can get this up and running quickly and easily.
Let’s get started!
Prerequisites:
Before you get started, you will need the following items:
- A Windows 10 or Server 2019 computer, preferably an Intel Core i7 with QuickSync (I’m using an AMD Ryzen 7 PRO 2700)
- A couple security cameras setup on your network (I’m using an indoor Amcrest IPM2 and an outdoor Amcrest IP5M turret)
- A copy of the Blue Iris software (lifetime $69.00 cost)
Once you have those 3 items setup and ready to go, you can begin the Blue Iris installation process below.
Step 1: Download and Install Blue Iris
The first step is to purchase a copy of Blue Iris. Once purchased, you can download the full version.
Double-click the blueiris.exe to start the installation.
It will prompt to install any missing prerequisites. Click Next.
Agree to the ToS to install the Microsoft Visual C++ Redistributable.
Once complete, it’ll bring you back to the Welcome screen. Click Next again and accept the Blue Iris terms and conditions.
Install Blue Iris in the default folder. Then click Install.
Installation only takes a few seconds. Check the Launch Blue Iris 5 box and then click Finish.
A product activation box will popup. If you are using the 15-day free trial, you can just click Demo. Otherwise, enter a product activation code you received after purchasing by clicking Next.
Note: If you don’t want to setup Deepstack for object detection (which is free and open source), you can skip Step 2 and go directly to Step 3. If you do want to install Deepstack, follow Step 2.
Step 2: Install Deepstack
Navigate to this URL: https://docs.deepstack.cc/windows/
Click the Download CPU Link for Windows. There is also a Download link for Nvidea GPU’s, if you’d like to offload the AI detection on your graphics card instead.
Once downloaded, double-click the .exe to run it.
Install Deepstack with all defaults. Click Finish once complete. To launch Deepstack, open Powershell from the Window Start menu.
deepstack --VISION-DETECTION True --PORT 80
Step 3: Launch Blue Iris
Search your computer or server for Blue Iris from the Windows Start button. You can launch either Blue Iris Admin or Blue Iris.
On the top left corner, click the gear to enter the Global settings screen.
For the rest of step 3, I’m going to refer to each section as “tabs”.
About Tab
In the About tab, give your system a name (i.e. – Blue Iris)
In the Software Support and Updates section, it should default to “no automatic updates” by default. If not, you’ll want to turn automatic updates off.
Clips and Archiving tab
For this section, we’ll need to create a few Windows folders where we want the Blue Iris clips and recording footage to be stored. Ideally you’ll want to choose a harddrive with a decent amount of storage.
I’m using my S:\ drive as the target, which is a 690gb SSD array.
Create a new parent folder on your target drive called “BlueIris” (i.e. S:\BlueIris).
Click into your BlueIris folder and create 4 new folders:
- db
- New
- Stored
- Alerts
Next, we need to map the 4 new folders to the “Folders” section in Blue Iris.
“New” Folder
Click the New folder in Blue Iris. Change the path to the path of your “New” Windows folder. Set a limit, uncheck limit clip age, and set to delete. This is basically going to continually record and store footage until your 300gb is reached and then delete the oldest clips. If you have a large NAS or external drive, you could also click the Move to Folder option and archive them there instead of deleting.
Note: The more cameras you have and the higher resolution they are, the more storage space you’ll need.
“Stored” Folder
Since I have my clips set to delete once it hits the 300gb limit, I’m not really going to be using the Stored folder, so I’m setting it to 20gb, unchecking Limit Clip Age, and setting it to Delete. Down the road I may use this folder for exported clips.
“Alerts” Folder
The “Alerts” folder is where all pictures will be stored (including the Deepstack analyzed snapshots).
I set the limit size to 1gb, checked the box to limit the age to 7 days, and set it to Delete.
“db” folder
You will also need to set the path for the Blue Iris database(db).
IMPORTANT: Your “New” and “db” folders should be on a fast, local storage drive (like an internal SSD), but the Stored folder can be on anything you want. The warning in the above screenshot reminds you of that as well.
Users tab
The Blue Iris users tab is is where you can create and limit access. For example, you can non-admin users, limit access to camera groups, set access times, restrict logins on your local network or configure login schedules.
I recommend leaving these as default for now. You can always come back and adjust these later. For now, just create a new user with a secure password, grant it Administrator access, and restrict access to LAN only (since I’m only ever going to access my cameras on my local network or across my WireGuard VPN). If you do plan on accessing your cameras from a remote network, you’ll need to open a firewall port and uncheck the LAN Only box.
After your new admin user has been created, disable the local_console user.
Web Server tab
To access Blue Iris, you can either open it from the desktop app or from a web browser. I primarily use the Blue Iris Admin desktop app to manage or adjust Blue Iris settings and the web server to view my cameras.
Blue Iris will autofill your server’s network information, including IP address and port. This will allow you to log into Blue Iris from an IP address like 192.168.68.137:81 from any browser on your network. Super handy for accessing from your phone. (I recommend going to this URL on your phone, then click your browser settings > Send to Home Screen. This will give you a shortcut on your phone for quick access)
You can leave everything as default here and just delete the remote access URL and uncheck “refresh external IP. Remote Access can configured later on and would be used for sending snapshots as phone push notifications, but I won’t be going over that in this guide.
Startup tab
The only thing you need to change in this tab is checking the box for “Run As A Windows Service”. This will allow Blue Iris to automatically start up after your computer starts and should reduce system resources.
After checking the box, a popup will prompt you for your username and password:
Cameras tab
Ideally, a 6th generation Intel processor or better is recommend. This allows you to use the QuickSync feature to decode footage more efficiently than raw processing. My AMD CPU is more than powerful enough for my two cameras but I still set this option anyways.
For most users, you’ll want to choose Intel + VPP.
AI tab
Check the Use Deepstack server on IP/port option. If you installed Deepstack, then make sure to check the box Auto start/stop with Blue Iris also.
If you didn’t start Deepstack earlier with the Powershell command, click Start Now (Mine shows Stop Now because it’s already running).
I leave everything else with their default settings.
Other Tabs
You’ll probably notice a bunch of other tabs in Blue Iris as well. Those are a little more advanced than I want to go over in this basic installation guide, but in future I will be setting up the Digital IO and IoT tab to configure with my MQTT broker in Home Assistant. That will be a separate guide and I’ll edit this post once I have that setup.
Adding Cameras to Blue Iris
Now comes the fun part: Adding your cameras to Blue Iris local NVR!
As I said earlier, I’m using two Amcrest cameras.
Launch the Blue Iris Admin desktop app if it’s not already open. Right-click the large black box to add a new camera. I’m using the name “drivewaycam” for both the full name and short name.
For the type, choose Network IP.
For the Options, choose Enable Motion Detector and Direct to disc recording. If you’d like your footage to capture audio, you can check the Enable Audio box if you’d like.
After clicking OK, you’ll be brought to a camera configuration screen. This setup will vary slightly depending on your camera manufacturer.
The easiest way to setup the initial configuration is by entering your cameras’ IP address, user, and password in the http:// field.
Then click Find/Inspect. This will autofill the stream profiles for you. (Note: For Reolink and Hikvision cameras, you have to log into the camera and enable the ONVIF option. See The Hook Up’s video for more info on it.)
Under the Advanced section, the only thing I changed is checking the box for Decoder Compatibility Mode.
If you are using an Amcrest like I am, then Amcrest has also put together a handy wiki page I referenced here. Once you click OK, you’ll be brought to the camera customization page, where you can configure things like triggers and alerts.
Video Tab
Here are my settings for the Video tab.
Set your framerate equal to the FPS in your camera (You can view the current FPS logging into your camera using it’s IP address in a web browser).
Then, uncheck Display overlays live and set your Hardware Decode to default.
Audio Tab
If you enabled Audio in the previous step, just make sure to check the box in this tab to enable it. If not, disable it.
Trigger tab
On the main page of the Trigger tab, set yours to match mine.
Click Configure next to Motion Sensor checkbox. Set your options just I like did. Since we are using Deepstack for object detection, you can uncheck object detection on this screen.
Under the When Triggered section, click Artificial Intelligence. For this part, I’m just telling Deepstack to look for “person” with a confidence level of 60%. Deepstack will be analyzing 3 images to determine whether or not it’s a person. There’s a ton of objects you could detect, such as car, truck, boat, bicycle, dog, etc. A full list of detectable objects can be found here. If detecting multiple objects, separate them with a comma and no spaces.
Make sure the Fire “On Alert” box is checked as well as the “Auto-flag confirmed alerts“. I also turned off Burn Label.
Record tab
We are going to configure this tab to use Continuous Recording + Alerts, splitting video into 1 hour files. I am also using a Pre-trigger buffer to record 5 seconds prior to motion being detected. This means Blue Iris will continually record footage until the “New” folder reaches it’s limit (configured to 300gb in the “New” tab section above)
Alerts tab
The only thing you need to change in this tab (for now) is setting the Fire when: to This camera is triggered. You can leave everything else as default.
Remaining tabs
The Webcast, Schedule, PTZ/Control, Watchdog, and Post tabs can be left alone for now.
Your camera is now setup!
Click OK. You should now see the Live Feed of your first camera in Blue Iris.
Testing Object Detection
Now, it’s time to test your Blue Iris + Deepstack NVR. To test, simply walk in front of your camera for a few seconds.
On the left tab, click the dropdown for “Alerts”. I have 5 alerts displayed so far which correspond to the 5 times I walked in front of my camera and Deepstack has detected that I am a “person”.
Basic Blue Iris Usage
Like I said earlier, Blue Iris is now recording 24/7. Once your limit has been reached, it will start to overwrite the old footage. If you’d like to see all recorded footage, change the dropdown to New. Then, double-click a segment to view it. They will be broken up into 1-hour segments as specified in camera settings > Record tab.
At the bottom, you’ll see a flag at the point in time when “person” object was detected:
However, since we are using Deepstack, we’ve configured these events to go into the Alerts folder so we don’t have to manually search through hours of video. So, you can also just switch to the Alerts dropdown, double-click a recording, and view just that clip.
I think it’s also important to explain how Deepstack works in the Alerts folder. If you sit and watch the “Alerts” dropdown, you’ll see it occasionally add an image and then delete it. This is because Deepstack has determined that the image processed isn’t a person. You will still see all images in your S:\BlueIris\Alerts folder. If you want to view just the images Deepstack has detected as a person, you’ll have to view those from within Blue Iris, not your Windows “Alerts” folder.
Remember: We set a 1gb limit on the Alerts folder, so once it hits 1gb, it’ll start deleting the older images.
Motion Rectangles
If you would would like to see motion rectangles around your motion detections and jpeg’s, here’s what you’d change:
Right click a camera > Camera Settings > Trigger tab. Check motion sensor and click Configure. Under Advanced, check Object detection and make sure to highlight “Show object rectangles”.
To see live motion squares on playback, double-click a recorded clip. Right click > Overlays > Add Motion Overlays.
Troubleshooting Deepstack/Blue Iris Detections
During initial setup, Deepstack might not detect the object correctly.
You might get false positives (i.e. – snapshots taken of things other than person, or nothing at all), or it may not trigger person detection. I recommend editing your AI confidence level by clicking the gear on your camera > Trigger tab > Artificial Intelligence:
Then, edit your confidence level here:
Adding Additional Cameras to Blue Iris
At this point, you may be dreading adding extra cameras. However, this is actually super easy. You can basically “copy” the existing settings from your first camera and apply it to any new ones! Really the only things you’ll need to change is the IP address of the extra cameras.
I have a guide for that as well: https://smarthomepursuits.com/how-to-add-additional-cameras-to-blue-iris-by-copying-existing-cameras/
Right-click the black space next to your existing camera. Then click Add New Camera.
Give it a name and choose Copy from Another Camera:
Backup and Export Blue Iris Configuration
Now that you’ve got things setup and working, I highly recommend exporting your Blue Iris configuration. Just on the offchance your computer crashes or you need to reinstall Blue Iris at some point, it would be very useful to not have to setup this up from scratch again.
I recommend backing up to a different drive than where you installed Blue Iris or your recordings, such as a flash drive up uploading to Google Drive.
Click the gear at the very top of Blue Iris Admin. On the General tab, click Export.
Wrapping Up
Hopefully this tutorial helps you setup Blue Iris 5 and Deepstack quickly and easily! I wanted to give a shoutout to The Hook Up’s Youtube video which is where I got a lot of my inspiration and insight on how to set this up properly, so definitely check out his video as well.
I was hoping to setup a local NVR solution using Frigate in Home Assistant, but unfortunately every time I add cameras to my Home Assistant configuration.yaml, my zwave and zigbee networks stop responding correctly. I’m still not sure why. I even setup a 2nd HA instance, connected it to a different switch port, and didn’t use a zwave/zigbee dongle on the 2nd instance.
I’m not even upset that Frigate didn’t end up working for me, as Blue Iris is extremely customizable and works perfectly in my environment.
If you have any questions or comments, feel free to leave them below and I’d be happy to help you out if I can!
My Homelab Equipment
Here is some of the gear I use in my Homelab. I highly recommend each of them.
- Server 2019 w/ Hyper-V
- Case: Fractal Design Node 804
- Graphics Card: NVIDEA Quadro K600
- CPU: AMD Ryzen 7 2700
The full list of server components I use can be found on my Equipment List page.
Hello, Danny, thank you for this, it is very imfornative. I set up my BI with AI tools and deepstack earlier this year and was interested in the new integration. I have begun building out a new system with this in mind but can’t find a way to mask out areas I don’t want to be alerted about.(like people walking their dog in the street) With AI tools, you can just mask this out. Have you found a way to limit undesired detections like this?
Great article! I have been using Blue Iris for years but I needed help setting up the Deep Stack part. Thank you
You’re welcome! I’m glad I helped you setup Deepstack with it.
Hi there. I tried to setup deepstack and downloaded cuda and cdnn but Nvidia ask me a lot infos to get these parts and seem that only developeres of AI can get it. There is annother way to do that?
Hi, I am having the exact same problem as Chip…cannot figure out a good method to mask out areas that I don’t want Deepstack to watch. Has anybody figured this out?
Hi, I am having the exact same problem as Chip…cannot figure out a good method to mask out areas that I don’t want Deepstack to watch. Has anybody figured this out? How about the author?
This was a great article. This is the easiest method when it comes to deepstack but for those reading the comments if you are a little more tech savvy you could install deepstack on an NVIDIA Jetson. Its actually easier to install than on windows, with one sudo command you run a GPU version of Deepstack in a docker container. This is a cheap and easy way to boost your AI performance and you don’t need to run deepstack on the same computer that your blue iris is running on, which for me is a plus because my blue iris server is running over 50 4k cameras on a 50tb raid (business warehouse security).
Just wanted to thank you for this. I’ve been progressively updating my setup and have had to wipe and start over several times but I always come back here because you did such a fine job. Appreciate it.
You’re welcome, thank you so much for the kind words! I’m glad to hear everything still works correctly a year or so after I wrote this up.