Optimizing Blue Iris's CPU Usage

Jan 13, 2018
Optimizing Blue Iris's CPU Usage
  • Introduction

    Blue Iris uses a lot of CPU time. In most Blue Iris installations, your CPU is the limiting factor which determines how many cameras you can have. As such, it is extremely important to optimize several settings to ensure you can get the most out of your system, while consuming the least amount of electricity.

    Essential Optimizations

    These optimizations are recommended for all Blue Iris systems, because their benefit is very significant.

    Direct-to-disc recording

    The Direct-to-disc feature allows Blue Iris to record video directly to the hard drive without re-encoding it. Re-encoding video is extremely CPU-intensive, and should be avoided at all costs. Direct-to-disc recording is perhaps the most important optimization you can make.

    This setting is configured individually for each camera in Blue Iris.

    Right click a camera and choose "Camera properties...". On the Record tab, click "Video file format and compression...".

    Record-Video-file-format.png

    Choose the Direct-to-disc option.

    Direct-to-disk.png

    When you use Direct-to-disc, it is strongly-recommended to also have the camera embed its own timestamp into the video stream (otherwise the timestamp will not appear in a recording until you export it).

    * Note: Direct-to-disc does not work with the Blue Iris demo. A paid license is required.

    Hardware acceleration

    If your CPU supports IntelĀ® Quick Sync Video, then you can use hardware acceleration in Blue Iris to reduce CPU usage with any camera streaming H.264.

    This is controlled by a single setting. Open Blue Iris Options, then on the Cameras tab, find Intel HD hardware acceleration. Choose the option "Yes (H.264)". Restart Blue Iris for this change to take effect. If you are running Blue Iris as a service, you will need to restart the service, or just restart the entire computer.

    HWVA.png

    You may also enable and disable hardware decoding for individual cameras on the Video tab of Camera Properties.

    Note that H.265 acceleration is not available in Blue Iris at this time.

    Camera frame rates

    Most cameras have a default frame rate around 25 or 30 FPS. In most situations, this is a lot more than you need. Each frame requires CPU time to process, so the lower the frame rates, the better.

    This setting is configured individually for each camera in the camera's web interface.

    It is recommended to use frame rates of 15 FPS or lower, as beyond about 15 FPS there is little meaningful improvement in video smoothness compared to the additional processing costs.

    In addition to setting the frame rate in the camera's web interface, Blue Iris also has a "Max. rate" option which can be important. To prevent Blue Iris from dropping frames and causing video corruption in recordings, make sure this is set 1 or 2 FPS higher than the FPS was set in the camera. The "Max. rate" setting is found in camera properties on the Video tab.

    camera-fps.png

    If the value you require is not in the dropdown list, you can simply type it in the box like "17 fps".

    Other Optimizations

    In case you need to reduce Blue Iris's CPU usage further, there are some other things you can do.

    Run as a service

    When Blue Iris is configured to run as a Windows service, Blue Iris will start automatically with the PC, remain running when the graphical user interface (GUI) is closed, and automatically recover from most crashes. While the GUI is closed, CPU usage is reduced.

    service.png

    * NOTE: Hardware acceleration does not work on Windows 7 when running Blue Iris as a service.

    Live preview frame rate

    Blue Iris can take quite a lot of CPU time to draw live video to the screen through the local GUI, particularly if you have a high resolution monitor. There is an option to limit this frame rate, and therefore reduce CPU usage while the GUI is open. Open Blue Iris Options, then on the Cameras tab, enable the "Limit live preview rate" setting and assign a fairly low number for the rate limit. This does not affect recordings, so consider even setting the limit to 1 FPS.

    Live preview FPS.png

    Video scaling

    Blue Iris has 3 video scaling modes: "Fast", "Bilinear", and "Bicubic". "Fast" uses the least amount of CPU, with the consequence of sometimes displaying unwanted jagged artifacts in your live video. These options do not affect the quality of recorded video.

    This option is found in Blue Iris Options on the Other tab.

    scaling.png

    Text and Graphic Overlays

    By default, Blue Iris overlays a timestamp on each camera. Assuming you have the camera embedding its own timestamp, you can save a small amount of CPU time by disabling Blue Iris's timestamp. This option is on the Video tab of camera properties.

    text-overlay.png

    Encoder preset

    When CPU usage is elevated due to a lot of remote viewing using H.264 video, it can help to change the encoder preset.

    Go to Blue Iris Options, Web server tab, and in the Advanced section you can Configure the encoder profiles which are used for H.264 encoding. The 3 preset choices exposed by Blue Iris, from fastest to slowest, are "ultrafast", "superfast", and "veryfast". "ultrafast" uses the least amount of CPU but produces the lowest video quality. "veryfast" uses the most CPU but produces the best video quality.

    h264encoder.png

    Limit decoding unless required

    (This feature has multiple side-effects which may make it undesirable)

    On October 21, 2017, Blue Iris added a new optimization called "Limit decoding unless required", accessible on the Video tab of camera properties. This feature will not actually increase your system's capacity, but it should result in significant energy savings in the long-term. You should be aware that enabling this feature will affect Blue Iris's motion detection and live view performance.

    upload_2017-10-23_11-53-55.png
  • Loading...
  • Loading...
  • Loading...