High CPU usage running 4 cameras

Sachi

Getting the hang of it
Joined
May 7, 2022
Messages
39
Reaction score
31
Location
Australia
Hi guys,
Just though you might have some suggestions or advice on my CPU usage.

So I am a noob (big) just setting up my cameras & BI, I have 2 x4MP Dahua's, 1 x 2MP Dahua & a 5MP Reolink Doorbell with 100% CPU usage.
System is a Dell Optiplex i5-6500 CPU 3.2Ghz with 8GB of Ram running Windows 10, SSD C drive with Purple HDD for recordings & M.2 database drive.
Blue Iris v5.5.1.20 from 2021 (Will update once I have system setup)
All cameras set to direst to disk recording, Frame rates set to 15, Scaling set to fast,
camera embedded timestamp, Encoder preset set to superfast.

CPU Usage with individual cameras enabled & disables:

All cameras disabled CPU 1%
5MB Reolink doorbell camera 30%
4MB Dahua 20%
4MB Dahua 30-40%
2MB Dahua 40-50%
All cameras enabled CPU 100%

I changed the Limit live preview rate changed from 30fps to 5fps and CPU is now running at 60-70%, so that helped a lot.
Looking to add another 2 cameras for total of 6. Maybe my hardware is just not good enough,

1708487424243.png1708487653731.png
 

wittaj

IPCT Contributor
Joined
Apr 28, 2019
Messages
25,048
Reaction score
48,850
Location
USA
Are you using substreams?

That PC is more than adequate - people run 50 cameras on a 4th gen at sub 40%, so you certainly have something going on. Either not running substreams or didn't exclude BI from antivirus or you have defragment or indexing turned on.

 

Sachi

Getting the hang of it
Joined
May 7, 2022
Messages
39
Reaction score
31
Location
Australia
Yes all Dahua cameras have substream enabled, not sure about the Reolink doorbell?
I think I have the exclusions set correctly, BI exe File & BI folders, I just added S & Z drives which are the Purple recording drive & the M.2 database drive.

I will check the defrag & indexing settings,
Thanks
1708488739073.png
 

wittaj

IPCT Contributor
Joined
Apr 28, 2019
Messages
25,048
Reaction score
48,850
Location
USA
The substreams may be enabled in the cameras but did you enable them in BI?

By default BI doesn't pull the substreams. You have to manually select them.
 

Sachi

Getting the hang of it
Joined
May 7, 2022
Messages
39
Reaction score
31
Location
Australia
The substreams may be enabled in the cameras but did you enable them in BI?
By default BI doesn't pull the substreams. You have to manually select them.
Hmmm, I don't recall enabling them in BI, only in the camera GUI, where will i find this setting?
I looked in BI camera setting but couldn't find it?
 

Sachi

Getting the hang of it
Joined
May 7, 2022
Messages
39
Reaction score
31
Location
Australia
where will i find this setting?
Found it, that was harder than it should have been. Told you I was a noob!
I selected Profile001 which is one digit from the main, does this look right?

Also what audio would you suggest? so many choices

1708492821477.png
 

wittaj

IPCT Contributor
Joined
Apr 28, 2019
Messages
25,048
Reaction score
48,850
Location
USA
That is correct!

Leave audio alone. Do your cameras have an internal mic?
 

Sachi

Getting the hang of it
Joined
May 7, 2022
Messages
39
Reaction score
31
Location
Australia
That is correct!

Leave audio alone. Do your cameras have an internal mic?
Yeah most of them do, some were set as the one I highlighted so I have used that.

Some of the cameras had main profiles missing as well as subs so I changed the Make: Generic/ONVIF to Dahua and did a find and inspect and it filled out the main profile and gave option to select for the sum profiles.
I did this for all 3 Dahua cameras but they have all reverted back to Generic/ONVIF which is weird? The sub streams are there so its guess its working, CPU is down to 20-30% so big improvement.

Could you have a look at the Reolink camera below, theres nothing in the main stream?

Dahua Camera
1708503781052.png

Reolink Doorbell
1708503822329.png
 

SOB

Getting the hang of it
Joined
May 18, 2020
Messages
54
Reaction score
57
Location
Ohio
For reference, my BI machine is a i7-6700 @ 3.4GHz with 16BGB of RAM and WIN10. I have 2x reolink doorbell cams, 2x 4MP empire tech cams, and 1x 8MP (actually it's a T180 which is 2x 4MP in one). None of them are running sub streams. Continuous recording at 15FPS CPU usage is at 20-25%. I was running at about 40-50% CPU until I realized a few cams were Re-Encoding. Changing to direct to disk made a huge improvement, but it looks like you've already got that covered.

Here is what my reolink doorbell cam config screen looks like:

1708518065726.png
 

TonyR

IPCT Contributor
Joined
Jul 15, 2014
Messages
16,798
Reaction score
39,087
Location
Alabama
For reference, my BI machine is a i7-6700 @ 3.4GHz with 16BGB of RAM and WIN10. I have 2x reolink doorbell cams, 2x 4MP empire tech cams, and 1x 8MP (actually it's a T180 which is 2x 4MP in one). None of them are running sub streams. Continuous recording at 15FPS CPU usage is at 20-25%. I was running at about 40-50% CPU until I realized a few cams were Re-Encoding. Changing to direct to disk made a huge improvement, but it looks like you've already got that covered.

Here is what my reolink doorbell cam config screen looks like:

View attachment 187162
What about the sub stream in RTMP?
Also "default", it should be like the main except "/bcs/channel0_sub.bcs?channel=0&stream=0&user={id}&password={pw}"
Just copy the main stream and paste it into the sub stream location and make the change as indicated in bold above, then click on "OK".
 
Last edited:

SOB

Getting the hang of it
Joined
May 18, 2020
Messages
54
Reaction score
57
Location
Ohio
What about the sub stream in RTMP?
Also "default", it should be like the main except "/bcs/channel0_sub.bcs?channel=0&stream=0&user={id}&password={pw}"
Just copy the main stream and paste it into the sub stream location and make the change as indicated in bold above, then click on "OK".
I don't use sub streams. Haven't had a need to use them so far.
 

Sachi

Getting the hang of it
Joined
May 7, 2022
Messages
39
Reaction score
31
Location
Australia
Here is what my reolink doorbell cam config screen looks like
Thanks for that, BI set all my camera makes as Default, I see yours is Reolink so I might try that. its weird there is no substream set on mine but it is working.
1708559197296.png
 

hikky_b

Pulling my weight
Joined
Nov 24, 2019
Messages
156
Reaction score
168
Location
London
A 6500 system with a few cams is more than capable and if following the various guides on optimisation/sub-streams, I reckon you should be targeting circa 10% cpu usage.

I've got a 6500 system running with double the amount of cams, all recording 24/7 + CPAI triggers and hums along at 12% ish. This is also with 4 instances of UI3 running at time of screenshot:

Screenshot 2024-02-22 at 01.26.48.png
 

Sachi

Getting the hang of it
Joined
May 7, 2022
Messages
39
Reaction score
31
Location
Australia
I reckon you should be targeting circa 10% cpu usage
Sounds like you really got you system dialed in Hikky. I have been through the Optimizing Blue Iris's CPU Usage wiki guide and as Wittaj pointed out I didn't know I had to enable sub-streams in BI as well as the cameras.
Sort of got that working working now and with dropping the Limit live preview rate down to 5fps I'm now running around the 20 to 25% average mark so a big improvement but that's only 4 cameras with only 1 recording 24/7 at this time,
so any suggestion on what I should check for would be appreciated.

That image of your stats is interesting, is that from UI3? I would like to know how you brought that up, I could only find the server status at the bottom of the screen.
Thanks

1708583353950.png
 

Sachi

Getting the hang of it
Joined
May 7, 2022
Messages
39
Reaction score
31
Location
Australia
RTMP is the Real-Time Messaging Protocol that allows you to live stream video directly to the Internet.
Ahh, I see it now in the model name. Its weird that these no sub stream but sub streams is working on this camera?
(maybe it's not working, I remember seeing the sub-stream somewhere?)

I put 'Reolink' in the make and hit find/inspect and the main stream disappeared so I seem toe have a problem here.
1708583736526.png
 

hikky_b

Pulling my weight
Joined
Nov 24, 2019
Messages
156
Reaction score
168
Location
London
Sounds like you really got you system dialed in Hikky. I have been through the Optimizing Blue Iris's CPU Usage wiki guide and as Wittaj pointed out I didn't know I had to enable sub-streams in BI as well as the cameras.
Sort of got that working working now and with dropping the Limit live preview rate down to 5fps I'm now running around the 20 to 25% average mark so a big improvement but that's only 4 cameras with only 1 recording 24/7 at this time,
so any suggestion on what I should check for would be appreciated.

That image of your stats is interesting, is that from UI3? I would like to know how you brought that up, I could only find the server status at the bottom of the screen.
Thanks

View attachment 187283

Looks like you are on the right track! Note that my ~10% usage is when no cam is detecting any motion and if all cams are triggered and CPAI is analysing it could jump to 100%. I'm running as a service with no console on the BI server.

Windows 10
UI3 version 266, Blue Iris version: 5.8.5.8

From the top of my head, the most important settings to reduce cpu usage are as follows (You've probably already done most of these):

System Setup:
  • Remove any bloat from your windows install. Uninstall all apps that are not needed. Check startup/background processes to identify any apps that are using cpu and nuke them.
  • Make sure you are using dual-channel memory (in your case two sticks of 4GB RAM).
  • Remove your storage HDD from windows defender scans.
  • Change Windows Power settings to 'high performance'

Cam Setup:
  • Check bitrates and avoid going unnecessarily high. (E.g for an 8mp Hik, I've set 8192Kbps main stream, 1024Kbps sub stream.)
  • Use H264 and match FPS to I-Frame interval 1:1.
  • Use Constant Bit Rate.

BI Setup:
  • Confirm Sub-Streams are setup and working correctly on all cams.
  • Direct-to-disk on all cams.
  • Turn OFF all hardware acceleration (check in each cameras settings along with the main settings dialog.
  • Make sure FPS set in BI cam settings is the same as what's set on the cams themselves.
  • Check streaming profiles and bitrates and limit them to something reasonable. (if User is accessing via app on a phone, you can get away with lower bitrates etc)

UI3 Settings:
  • Enable to direct-to-wire on whichever profile you are using. This pulls the main stream directly from the camera rather than have BI process it.
  • Check streaming profile settings for the sub streams / group views. (Lower bitrate if needed, trying to find the balance between image quality vs cpu usage)

Another overarching consideration is which version of BI you are running. I've found huge differing CPU usage between some versions. Generally the critical updates/versions are pretty good.


To bring up your camera stats in UI3, click three dots in the top-right and navigate to 'Full Camera List'. At the bottom of that page it will show your MP/s etc.

Screenshot 2024-02-22 at 11.05.53.png
 
Top