Another CPU usage reduction trick

Tincanalley

Young grasshopper
Joined
Jun 17, 2016
Messages
48
Reaction score
10
Location
SoCal
I've been reading and implementing all the tricks for reducing CPU usage in BI 4 and think I found one that hasn't been discussed.

I do directly to disk and realize that the on screen names and info doesn't get recorded, but I found it useful when viewing live feeds. As I added cams it was apparent I need to reduce usage even more. I ran out of tricks I could find, so I started fiddling with things. I found that with 34 cams I reduced another 10% by turning off BI's camera labeling and used the info generated by each camera instead. So if anyone is looking to reduce usage, and has done all the other tricks, this is worth a try. After a couple of days I hardly missed the large date/time/name.
 

fbnoise

Getting the hang of it
Joined
Dec 29, 2014
Messages
270
Reaction score
61
Would never have guessed that. That is a massive setup. Your situation is unique in that a small decrease of CPU on one camera multiplied by 34 cameras adds up to a lot more than the average user with just a few cameras, but interesting info nevertheless.
 

Tincanalley

Young grasshopper
Joined
Jun 17, 2016
Messages
48
Reaction score
10
Location
SoCal
Would never have guessed that. That is a massive setup. Your situation is unique in that a small decrease of CPU on one camera multiplied by 34 cameras adds up to a lot more than the average user with just a few cameras, but interesting info nevertheless.
You never know, but on a slower system, with fewer cameras, it could have a decent reduction in CPU usage as well.
 

fbnoise

Getting the hang of it
Joined
Dec 29, 2014
Messages
270
Reaction score
61
I would think the effect will be negligible on the average setup regardless of how fast or slow the CPU is, but I think it's useful info for those that run beast setups like yours.
 

Tincanalley

Young grasshopper
Joined
Jun 17, 2016
Messages
48
Reaction score
10
Location
SoCal
I would think the effect will be negligible on the average setup regardless of how fast or slow the CPU is, but I think it's useful info for those that run beast setups like yours.
I am looking for any other reduction I can find as I have to add 5 more 3MP cams. I don't think I can get that done with the CPU currently in use, but the latest and greatest ones don't have Intel graphics. I really don't want to split the system, but I might have no choice.
 

Q™

IPCT Contributor
Joined
Feb 16, 2015
Messages
4,990
Reaction score
3,991
Location
Megatroplis, USA
What frame rates and bit rates are you running those 34 cameras at Tincanalley?
 

Tincanalley

Young grasshopper
Joined
Jun 17, 2016
Messages
48
Reaction score
10
Location
SoCal
What frame rates and bit rates are you running those 34 cameras at Tincanalley?
I have 27 3MP dome cameras running indoors at 20fps and VBR between 1024 and 4096 bitrate. Then there are 7 3MP bullet cams outdoors running 30fps and CBR of 5120 bitrate. I had the outdoor cams on VBR, but I felt the cameras didn't ramp up the bitrate fast enough when there was fast motion (car entering, etc.).
 

dalepa

Moderator
Joined
Mar 9, 2014
Messages
843
Reaction score
244
Location
Houston, Texas
Have you tried reducing the FPS to say 10-12?


I have 27 3MP dome cameras running indoors at 20fps and VBR between 1024 and 4096 bitrate. Then there are 7 3MP bullet cams outdoors running 30fps and CBR of 5120 bitrate. I had the outdoor cams on VBR, but I felt the cameras didn't ramp up the bitrate fast enough when there was fast motion (car entering, etc.).
 

Tincanalley

Young grasshopper
Joined
Jun 17, 2016
Messages
48
Reaction score
10
Location
SoCal
Have you tried reducing the FPS to say 10-12?
Yep, but it made no noticable reduction. Since it goes directly to disk, and the cameras do all the encoding, all it did was lower the file sizes and reduce the clarity with motion. The outdoor cams need to stay as high as possible as they need to catch details of moving objects (license plates, etc.).
 

Q™

IPCT Contributor
Joined
Feb 16, 2015
Messages
4,990
Reaction score
3,991
Location
Megatroplis, USA
I have 27 3MP dome cameras running indoors at 20fps and VBR between 1024 and 4096 bitrate. Then there are 7 3MP bullet cams outdoors running 30fps and CBR of 5120 bitrate. I had the outdoor cams on VBR, but I felt the cameras didn't ramp up the bitrate fast enough when there was fast motion (car entering, etc.).
Which Intel processor are you running?
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,678
Reaction score
14,032
Location
USA
Yep, but it made no noticable reduction. Since it goes directly to disk, and the cameras do all the encoding, all it did was lower the file sizes and reduce the clarity with motion. The outdoor cams need to stay as high as possible as they need to catch details of moving objects (license plates, etc.).
There are many tricks to CPU usage in Blue Iris. Reducing frame rate is one of the most effective ways. If you don't see a difference, then you probably aren't looking in the right place.

Something often overlooked is the fact that some CPU usage readouts are inaccurate. In Windows 8 and 10, you need to look at the Details tab of Task Manager. The Processes and Performance tabs report an inflated number for reasons I don't know.

Also you must change the frame rate in the camera's web interface. Blue Iris also has a frame rate setting, but it is left over from years ago when IP cameras mostly streamed MJPEG. The FPS setting in Blue Iris has no effect on modern h264 cams except to force Blue Iris to drop frames during recording if you have it set too low. So you should make sure it is set greater than or equal to the actual frame rate (especially when you record direct to disk).

Remember when you have so many cameras, you may need to make the changes to several of them before you'll see much effect in CPU usage. And if you are near 100% usage (even in the 80-90% range) then Blue Iris might actually be overloaded already and you won't see CPU usage go down until it is no longer overloaded.
 

Tincanalley

Young grasshopper
Joined
Jun 17, 2016
Messages
48
Reaction score
10
Location
SoCal
There are many tricks to CPU usage in Blue Iris. Reducing frame rate is one of the most effective ways. If you don't see a difference, then you probably aren't looking in the right place.

Something often overlooked is the fact that some CPU usage readouts are inaccurate. In Windows 8 and 10, you need to look at the Details tab of Task Manager. The Processes and Performance tabs report an inflated number for reasons I don't know.

Also you must change the frame rate in the camera's web interface. Blue Iris also has a frame rate setting, but it is left over from years ago when IP cameras mostly streamed MJPEG. The FPS setting in Blue Iris has no effect on modern h264 cams except to force Blue Iris to drop frames during recording if you have it set too low. So you should make sure it is set greater than or equal to the actual frame rate (especially when you record direct to disk).

Remember when you have so many cameras, you may need to make the changes to several of them before you'll see much effect in CPU usage. And if you are near 100% usage (even in the 80-90% range) then Blue Iris might actually be overloaded already and you won't see CPU usage go down until it is no longer overloaded.
I did change it on the cam interface and then set BI to match (although BI usually found the new rate on its own).

Since it is a 264 stream and goes directly to disk, how is BI impacted by this? I know the data stream will be larger, but what part of BI is affected by this? Motion detection? Something that has to analyze the video?

Thanks
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,678
Reaction score
14,032
Location
USA
Blue Iris is always decoding / decompressing the video streams. Fewer frames per second means fewer frames have to be decoded, and therefore lower CPU usage. The Direct to Disk option doesn't change this. Direct to Disk only means that Blue Iris will write the original compressed frames to disk rather than re-encoding the video (which would cost a lot more CPU time and incur an image quality penalty).
 

Tincanalley

Young grasshopper
Joined
Jun 17, 2016
Messages
48
Reaction score
10
Location
SoCal
Blue Iris is always decoding / decompressing the video streams. Fewer frames per second means fewer frames have to be decoded, and therefore lower CPU usage. The Direct to Disk option doesn't change this. Direct to Disk only means that Blue Iris will write the original compressed frames to disk rather than re-encoding the video (which would cost a lot more CPU time and incur an image quality penalty).
I'll see what the lowest framerate I can set that still gives the quality expected. I'll then take that rate and apply it to all 27 internal cams and see what it does to reduce usage.
 

Q™

IPCT Contributor
Joined
Feb 16, 2015
Messages
4,990
Reaction score
3,991
Location
Megatroplis, USA
I'd set all 34 cameras to 4fps and then reboot the machine and then measure the result is.
 

Tincanalley

Young grasshopper
Joined
Jun 17, 2016
Messages
48
Reaction score
10
Location
SoCal
I'd set all 34 cameras to 4fps and then reboot the machine and then measure the result is.
I set each indoor dome to 15fps (down from 20fps) and restarted each cam. I then went into each cam setting in BI and made sure the framerate was at 15 or higher. I picked 15 because it's about the lowest you can go before noticing stutters and such. It seems 27 cams dropped 5fps each equals about a 16% drop in CPU usage. I am going to let it stay this way for 24hrs and review the recordings to see if the quality will do.
 

fbnoise

Getting the hang of it
Joined
Dec 29, 2014
Messages
270
Reaction score
61
What's your total CPU down to after the 5fps drop?
 

fbnoise

Getting the hang of it
Joined
Dec 29, 2014
Messages
270
Reaction score
61
Wow, awesome. You probably already have hardware acceleration turned on, right?

So if it holds, are you going to test putting the new cameras on the same system?
 
Top