Please note that this post applies to Blue Iris version 5 and I do not know if it will work with version 4.

I have a computer dedicated to running just Blue Iris and Plex Media Server. I use this computer for nothing else and it has a decent GPU (Quadro P2000) since both of these programs cannot benefit from it. I like to monitor my cameras with the Blue Iris GUI (graphical user interface) while in my home office and I recently noticed that the GPU use was around 25% to 30% without Plex even in use.

Blue Iris can be very CPU intensive if not configured to use less system resources. One way to reduce CPU usage is to use a GPU (a graphics card), but I was not happy with my GPU level of use. I did some searching and found this article about using the sub stream to reduce the strain on system resources.

Most IP cameras have a main stream that is the higher resolution video and at least one sub stream that is much lower resolution video. I always assumed Blue Iris was using the sub stream to show smaller views of the cameras and then the main stream when watching a single camera, in addition to recording the main stream. It appears I was wrong. Apparently Blue Iris reduces the main stream to a smaller resolution for viewing in the GUI when looking at all your cameras. In my case, I was viewing eleven cameras at once in the Blue Iris GUI and therefore my GPU was working hard to accomplish this.

In order to utilize camera sub streams in version 5 of Blue Iris, you must go camera by camera adding the sub stream (right-click > “Camera settings…” > “Video” tab > “Configure…” option). Though there was a sub stream option, many of my cameras did not configure properly. My newest Amcrest camera was configured as an Amcrest model and not a generic ONVIF, but when I selected the main stream and sub stream, both strings of text were identical. I had also selected the main stream option from the drop-down, but Blue Iris changed it to a sub stream for some reason. I did not know if things would work properly so I manually changed the text sting to differentiate between streams. The link I mentioned above listed main streams as 0 and sub streams as 1. See the screenshot below for an example.

My oldest cameras were Amcrest IP2M-844E models and these would not list a sub stream. In order to access the sub stream, I used the strings “/cam/realmonitor?channel={CAMNO}&subtype=0&proto=Private3” for the main stream and “/cam/realmonitor?channel={CAMNO}&subtype=1&proto=Private3” for the sub stream. I also had trouble with two of these cameras in Blue Iris so I decided to delete them and add them again. This made things even worse and Blue Iris would not show video from them. I ultimately cloned the single functioning camera of the same model and simply changed the IP addresses to that of the other cameras. All were up and running again in Blue Iris. I was baffled, but did not care too much because I will soon be replacing these cameras with newer models.

All the research, configuring, and troubleshooting took hours, but I greatly reduced my GPU use. My computer is now showing that Blue Iris uses around 5% to 7% of the GPU when viewing the cameras from the GUI. I have an Intel i7-8700K and CPU use is around 1.5%. These numbers will increase when there is more activity on the cameras and even more when viewing Blue Iris from a web browser. I noticed Blue Iris will transcode my H.265 cameras to H.264 for viewing on a web browser. This will push my GPU to 13%, which is still much lower than what I was seeing with just the GUI. I also used a web browser and the Blue Iris UI3 interface to confirm I was viewing the main stream when looking at a single camera (right-click on a maximized camera and select “Stats for nerds” near the bottom).

I know this is not a step by step guide on how to configure Blue Iris, but hopefully you will be able to reduce the strain on your system by using sub streams. There are also plenty of websites with tips on how to reduce the use of system resources by not embedding text in recordings, limiting transcoding, recording directly to disk, etc. I recommend searching these out if you want to reduce the strain on system resources.