Looking to optimize my Blue Iris setup - AI, App, Home Assistant, and Hardware Questions

m4gnum

n3wb
May 8, 2019
19
3
Florida
Hi, I’ve been running Blue Iris using mostly default settings for continuous recording, while relying on my Eufy cams for daily alerts. Now I’m shifting my focus more toward a full PoE system and want to get things dialed in better.

I’m using an old Dell OptiPlex 3020 (i5-4590, 8GB RAM, 4TB HDD) and just upgraded to the latest version of Blue Iris since I couldn’t get AI working reliably on the older version. I have a few Dahua and Amcrest cameras (e.g., IPC-B5442T-ASEI, IPC-HFW2831T-ZS), though I haven’t finished setting them all up yet.

I would appreciate if someone could help me with at least a few of my question.

1. Is my current PC good enough to handle several cameras with AI enabled? Or would something like a Google Coral be enough to improve things? The Dell also runs hot and loud, so I’m considering something cooler and quieter.

2. What’s the best way to integrate BI with Home Assistant in 2025? I don’t need live feeds, just a simple way to view recent alerts easily.

3. Im struggling with notifications on Android, they worked at one point but stopped. I do have the BI app installed and notifications enabled.

4. How would you optimize my setup, including AI settings? Do I need to be using substreams?

5. Can I enable camera controls (like zoom/focus)?

6. The video quality in the BI Android app is pretty rough, nowhere near what I see on the PC. Any idea why?

7. I’m missing a lot of AI alerts, maybe 10–20% are detected. I’m seeing a ton of cancelled alerts tagged as "nothing detected" or "occupied."

8. CPU and memory usage spike from ~10% to 100% frequently, usually showing Python process. I think this started after tweaking some AI settings.

9. Lastly, is there a reliable way to keep BI recording during a power outage? I have access to UPS or portable power stations, but the PoE switches are spread out across the house and may not be easy to power at once.

I’ve attached a few screenshots of my current settings in case that helps.

20250601_174634~2.jpg
20250601_174511.jpg20250601_174318.jpg20250601_174428.jpg20250601_174530.jpg20250601_174457.jpg20250601_174551.jpg20250601_174624.jpg20250601_174801.jpg20250601_174902.jpg20250601_175008.jpg20250601_175013.jpgScreenshot_20250602_000624_Chrome.jpg


Thanks!
 
1. Answering point 1.
The 3020 Dell is probably the minimum I'd run with NO Code Project. These Elite Desk are nice to work with, HP EliteDesk 800 G5 SFF Intel Core i5-9500 3.0GHz 16GB RAM 256GB SSD DVD-RW | eBay
tool-less design for upgrades etc. I ran 18-19 cams on an i5-8500 ( 6 core chip) in the Elitedesk.
Now you can get the 9th generation for $169 or so on Ebay.
I have bought all my PC's HP's and Dells, (11 of them) from Ebay. spare parts are plentiful. They have shrunk the Optiplex machines down to only accomodate 1- 3.5" drive or No 3.5" drive.
The Elitedesk in this generation has 2 3.5" HDD bays. I am a 2 spinning rust kinda guy. I like the performance of BI splitting my streams across 2 disks. ( although with a small number of cameras its not needed.)
I went whole hog and got a tower in the dell Precision lineup ( 3630 MT) 8th gen i7-8700, because it has 4 Sata ports and 3 drive bays. and supports a full size NVIdia.
 
Last edited:
I see your running a global cam setting of Intel +VPP.
This is hardware decode fron the intel graphics chip. You need it enabled most likely to run Codeproject. But I would elect to try turning off Hardware Acceration in individual cameras that have AI built in.
I would try and migrate all my cams to built in AI style cams and do away with Code Project. I am running Code Project GPU version with an Nvidia 1070ti. I tinker with switching back and forth between using Code Project, and Camera Ai, and BI motion in some locations, and see how things shake out.
 
I would disable Intel +vpp, globally, and switch it on manually only for Codeproject cams. This could free up resources.
Tinker with Substreams on select cameras. Your mileage may vary. Your CPU %age will go down.
But getting a 6 Core chip running 4th generation Ram while being "quiet" is an awesome jump in performance. and uses less power. ( Intel i5 9500 on an Elitedesk)
My Elitedesk was quiet. Liked that. My 3630 Precision is quiet as well.

1748847672161.png1748847697564.png

1748847787546.png 1748848313677.png
 
9. Lastly, is there a reliable way to keep BI recording during a power outage? I have access to UPS or portable power stations, but the PoE switches are spread out across the house and may not be easy to power at once.
While not a solution to power outages, configuring your PC's BIOS to auto reboot when it's powered is recommended. And I swear by these MSNSwitches for remotely restarting the server, router, and essential switches.
 
  • Like
Reactions: looney2ns
5. Can I enable camera controls (like zoom/focus)?
Yes. I believe this is automatic if you've successfully enabled 'PTZ and other controls' for the camera in the Camera settings > video tab > Configure dialog.

However, the focus and zoom controls are not really intended for routine use on fixed (non-PTZ) cameras. Use them to tweak the initial setup of your FOV, then leave them alone. And if you need different settings for day and night, consider using the DahuaSunriseSunset utility, or use camera-specific HTTP commands and Blue Iris schedule actions.

I also find the DahauSunriseSunset utility very handy for resetting the focus/zoom when I've inadvertently touched the Focus/Zoom controls (using the 'Simulate Sunrise' or 'Sunset' buttons).
 
Last edited:
I would disable Intel +vpp, globally, and switch it on manually only for Codeproject cams. This could free up resources.
Tinker with Substreams on select cameras. Your mileage may vary. Your CPU %age will go down.
But getting a 6 Core chip running 4th generation Ram while being "quiet" is an awesome jump in performance. and uses less power. ( Intel i5 9500 on an Elitedesk)
My Elitedesk was quiet. Liked that. My 3630 Precision is quiet as well.
Thank you, I will try to play with these settings.

Migrate to using the Pushover API with 'On alert' Run-a-program Actions, and you won't look back.
I will look into this but it might be some other issue since I am not getting any notifications now. I thought of using Home Assistant for notifications.
While not a solution to power outages, configuring your PC's BIOS to auto reboot when it's powered is recommended. And I swear by these MSNSwitches for remotely restarting the server, router, and essential switches.
I have the auto reboot set up. However I'm in Florida and there might be power outages lasting for days after a hurricane so I want to have some power backup. I thought of going with a mini PC which would use less power, and adding a power station and NAS (or external HDD) but not sure of the performance with these.
Yes. I believe this is automatic if you've successfully enabled 'PTZ and other controls' for the camera in the Camera settings > video tab > Configure dialog.

However, the focus and zoom controls are not really intended for routine use on fixed (non-PTZ) cameras. Use them to tweak the initial setup of your FOV, then leave them alone. And if you need different settings for day and night, consider using the DahuaSunriseSunset utility, or use camera-specific HTTP commands and Blue Iris schedule actions.

I also find the DahauSunriseSunset utility very handy for resetting the focus/zoom when I've inadvertently touched the Focus/Zoom controls (using the 'Simulate Sunrise' or 'Sunset' buttons).
I have PTZ enabled but it doesn't work. I will do some research on these. Thank you.
Check the encoder profiles in the Android app > Home tab > Settings (gear icon) dialog.
They are configured in the Blue Iris Settings > Web server tab > Advanced dialog.
I have it set like this:
 

Attachments

  • Screenshot_20250603_181824_Blue Iris.jpg
    Screenshot_20250603_181824_Blue Iris.jpg
    255.4 KB · Views: 0
I played with the settings however I am still having a few issues, which I want to address before moving forward with substreams etc.

1. Every few seconds the Python process spikes CPU. First BI process spikes for a second and then it's followed by Python for another 2 seconds, sometimes its goes up to 100%. Otherwise the CPU is below 15%
Recording2025-06-04101511.gif
2. I am not getting notifications neither through BI app or through Pushover. I am using new BI software and some settings don't match so it might be some configurations that I am missing.
3. None of the camera controls (such as zoom) work.

Global Settings

1.png2.png3.png
4.png5.png6.png
7.png8.png9.png

Cam settings

cam1.pngcam2.pngcam3.pngcam4.png
cam5.pngcam6.pngcam7.pngcam8.png
cam9.pngcam10.pngcam11.pngcam12.png
cam13.png
-s --form-string "token=xx" --form-string "user=xx" --form-string "message=<b>&CAM</b> &MEMO <a href='&WAN/alerts/&ALERT_DB?fulljpeg'>Hi-Res</a> <a href='&WAN/ui3.htm?rec=&ALERT_DB'>UI3</a>" --form-string "html=1" --form-string "device=YOUR_PUSHOVER_DEVICE_NAME(S)_HERE" --form-string "sound=YOUR_PUSHOVER_SOUND_HERE" -F "attachment=@D:\BI\Alerts\&ALERT_PATH"
cam14.pngcam15.pngcam16.png

Camera setting and CPAI

CPAI1.pngcamset1.png
camset2.pngcamset3.png
 
Try removing the unused device and sound arguments. I suspect the API is not sending a notification b/c it does not recognize the specified device. The remainder of your parameter syntax appears to be correct. Also double-check the attachment path.

-s
--form-string "token=xx"
--form-string "user=xx"
--form-string "message=<b>&CAM</b> &MEMO <a href='&WAN/alerts/&ALERT_DB?fulljpeg'>Hi-Res</a> <a href='&WAN/ui3.htm?rec=&ALERT_DB'>UI3</a>"
--form-string "html=1"
--form-string "device=YOUR_PUSHOVER_DEVICE_NAME(S)_HERE"
--form-string "sound=YOUR_PUSHOVER_SOUND_HERE"
-F "attachment=@D:\BI\Alerts\&ALERT_PATH"
 
As for the PTZ and other controls not working, on the 'Network IP camera configuration' tab, you may need to try 'Make' options other than 'Generic/ONVIF' (e.g., 'Amcrest', 'Dahau'). If you provide the exact camera model, other users might be able to provide the Make they are using.
 
Try removing the unused device and sound arguments. I suspect the API is not sending a notification b/c it does not recognize the specified device. The remainder of your parameter syntax appears to be correct. Also double-check the attachment path.

-s
--form-string "token=xx"
--form-string "user=xx"
--form-string "message=<b>&CAM</b> &MEMO <a href='&WAN/alerts/&ALERT_DB?fulljpeg'>Hi-Res</a> <a href='&WAN/ui3.htm?rec=&ALERT_DB'>UI3</a>"
--form-string "html=1"
--form-string "device=YOUR_PUSHOVER_DEVICE_NAME(S)_HERE"
--form-string "sound=YOUR_PUSHOVER_SOUND_HERE"
-F "attachment=@D:\BI\Alerts\&ALERT_PATH"
I removed below string but still nothing.
--form-string "device=YOUR_PUSHOVER_DEVICE_NAME(S)_HERE"
--form-string "sound=YOUR_PUSHOVER_SOUND_HERE"

The alert directory is D:\BI\Alerts

1749054249110.png
As for the PTZ and other controls not working, on the 'Network IP camera configuration' tab, you may need to try 'Make' options other than 'Generic/ONVIF' (e.g., 'Amcrest', 'Dahau'). If you provide the exact camera model, other users might be able to provide the Make they are using.
The main camera is IPC-B5442T-ASE which I got from Andy (EmpireTech)
 
I removed below string but still nothing.
--form-string "device=YOUR_PUSHOVER_DEVICE_NAME(S)_HERE"
--form-string "sound=YOUR_PUSHOVER_SOUND_HERE"

The alert directory is D:\BI\Alerts
Have you tried testing the curl command from cmd.exe or powershell directly? You'll need to replace &ALERT_PATH for a jpg file that actually exists. This is described and illustrated in my original post. As are more debugging tips. Share your current parameter field entry again and I'll study it more closely for syntax issues.

Many users have difficulty configuring the Pushover API command for the first time. After this, it's usually rock solid.
 
Last edited:
  • Like
Reactions: looney2ns
Have you tried testing the curl command from cmd.exe or powershell directly? You'll need to replace &ALERT_PATH for a jpg file that actually exists. This is described and illustrated in my original post. As are more debugging tips. Share your current parameter field entry again and I'll study it more closely for syntax issues.

Many users have difficulty configuring the Pushover API command for the first time. After this, it's usually rock solid.
Yes, I did get a notification when running cmd and using a path for an existing jpg. However I am not getting any notifications for new alerts.
It might be an issue with &ALERT_PATH, I am not sure what to replace it with.
1749055836321.png
 
  • Like
Reactions: jaydeel
Yes, I did get a notification when running cmd and using a path for an existing jpg. However I am not getting any notifications for new alerts.
It might be an issue with &ALERT_PATH, I am not sure what to replace it with.
View attachment 222163
If you are trying to test the notification directly from the action set, via the lightning bolt icon, this post explains why that doesn't work, and an alternative to just waiting for a real trigger. Furthermore, it describes a diagnostic (an 'On alert' run-a-program action) that I refer to as the 'msg.exe trick' - it pops up a message showing the live value of the active alert's &ALERT_PATH macro.

EDIT: The best test is to actually walk in front of the camera.
 
Last edited:
  • Like
Reactions: looney2ns
If you are trying to test the notification directly from the action set, via the lightning bolt icon, this post explains why that doesn't work, and an alternative to just waiting for a real trigger. Furthermore, it describes a diagnostic (an 'On alert' run-a-program action) that I refer to as the 'msg.exe trick' - it pops up a message showing the live value of the active alert's &ALERT_PATH macro.

EDIT: The best test is to actually walk in front of the camera.
I was walking in front of the camera and alerts were picked up by BI, a jpg and dat file was created in Alerts folder but I did not get any notification through pushover :(
 
I was walking in front of the camera and alerts were picked up by BI, a jpg and dat file was created in Alerts folder but I did not get any notification through pushover :(
We'll get this working... My original post suggests using another argument --Verbose when testing the curl command from cmd.exe. It might reveal an issue.

Other users have had luck using the --ssl-no-revoke argument defensively.

To fix SSL errors:
If notifications just won't work from Blue Iris actions, or if you see a SSL error when using the --verbose argument when debugging the curl command in cmd.exe... thanks prsmith777 <link>. More details <here>.
--ssl-no-revoke