Blue Iris UI3

I'm on BI 5.5.6.21. I keep getting the Orange Circle of Death on UI3 when I switch to viewing a single camera. It doesn't matter what resolution I try. I'm using the HTML5 viewer with both the latest versions of Chrome and Edge. It says the stream is becoming delayed and it's a compatability issue.

If I view a group of cameras, it's just fine.

The client is an i5 10th gen. The server is a Xeon 2680 V2 and is only running at 50% load. Gig wired network betwixed them, so resources are not the issue.

How do I dig into what's going on?
 
I'm on BI 5.5.6.21. I keep getting the Orange Circle of Death on UI3 when I switch to viewing a single camera. It doesn't matter what resolution I try. I'm using the HTML5 viewer with both the latest versions of Chrome and Edge. It says the stream is becoming delayed and it's a compatability issue.

If I view a group of cameras, it's just fine.

The client is an i5 10th gen. The server is a Xeon 2680 V2 and is only running at 50% load. Gig wired network betwixed them, so resources are not the issue.

How do I dig into what's going on?

Hard to say what is wrong. What if you use the Jpeg HD mode? Do you get a decent video for single cameras that way?

Is it a single processor in the server? Dual processors tend to report 50% when the load is entirely running on one maxed-out processor and can't spread out across two.
 
I'm on BI 5.5.6.21. I keep getting the Orange Circle of Death on UI3 when I switch to viewing a single camera. It doesn't matter what resolution I try. I'm using the HTML5 viewer with both the latest versions of Chrome and Edge. It says the stream is becoming delayed and it's a compatability issue.

If I view a group of cameras, it's just fine.

The client is an i5 10th gen. The server is a Xeon 2680 V2 and is only running at 50% load. Gig wired network betwixed them, so resources are not the issue.

How do I dig into what's going on?
Watch the frame rate on the camera you are viewing? If it fluctuates drastically, there is an issue with that camera causing the orange circle. If frame rate is steady there is another camera on your system having issues. When I get an orange circle I immediately check the frame rate of each camera individually to see which camera is the culprit. If all cameras have stable frame rates. Then I know the device I’m viewing ui3 on has poor internet connectivity.
 
Latest stable version is 5.5.6.20

You might try and revert back to that.
 
Is it possible to control the PTZ for a single camera while viewing a camera group in UI3? For instance, select the camera so that the PTZ controls are enabled, but remain in group view? I searched this thread and the UI3 settings but couldn't find it. Thanks!
 
Is it possible to control the PTZ for a single camera while viewing a camera group in UI3? For instance, select the camera so that the PTZ controls are enabled, but remain in group view? I searched this thread and the UI3 settings but couldn't find it. Thanks!

Nothing for that is built in to UI3, but I did create an override script years ago that can be coded to do it for specific cameras: Local Overrides Sample: PTZ on Group Streams · bp2008/ui3 Wiki

It might still work :)
 
Nothing for that is built in to UI3, but I did create an override script years ago that can be coded to do it for specific cameras: Local Overrides Sample: PTZ on Group Streams · bp2008/ui3 Wiki

It might still work :)
Of course you did, incredible! It works perfectly.

I grabbed ui3-local-overrides.js and edited lines 4 and 5 to include the camera shortname and group:
Screen Shot 2022-05-11 at 04.27.40 PM.png

Then I dropped it into the ui3 subdirectory, restarted BI, and now I have PTZ control of that camera while in group view:
Screen Shot 2022-05-11 at 04.46.10 PM.png

Thanks again!

PS, I never looked at that page of Local Overrides Scripts and Styles. I'll have to try a few others!
 
Hard to say what is wrong. What if you use the Jpeg HD mode? Do you get a decent video for single cameras that way?

Is it a single processor in the server? Dual processors tend to report 50% when the load is entirely running on one maxed-out processor and can't spread out across two.

JPEG HD is not giving the OCOD, but I'm only getting an updated image every 3-5 seconds.

It's a dual processor system under Proxmox, but I've dedicated 10 CPUs to BI. The cameras are set to stream at 2 FPS h.264.

The other thing I've noticed is that if BI has been running for a day or so, doing a 'net stop blueiris' takes 3-5 minutes to complete, where it used to take 3-5 seconds. If I do it immediately after startup, it still only takes 3-5 seconds.

This has been sitting here for a day or two unposted while I play with different settings and try and figure stuff out.

I downgraded to 5.5.6.11 which didn't help.

I dug out an old laptop with an I5 8th gen with a 100mbit network interface that I hadn't turned on in a couple months, and that seemed to be working just fine. Then after a couple minutes the Chrome update notifcation came up so I updated, then I started getting the OCOD.

I started playing around with the different quality rates on UI3. From 144 to 480 it seemed to work fine, which seem to be using the sub stream, but started having problems at 720P which seem to switch to the main stream. Which would kind of seem to make sense...The sub stream would be sending less data so it would be less stress on the systems involved....But the systems aren't resource taxed and are more than capable of handling the data volume. hmmm...

With the Reolink cameras, the minimum FPS for the substream is 4, and 2 for mainstream. Which is what I had them all set to.

Watching the FPS on the UI3, when using the 144-480 resolutions, the FPS never went to 0, but it did on the higher resolutions...Why? So I kicked the mainstream up to 4 FPS. The number of OCODs dropped.

So I kicked the substream to 7 and the mainstream to 6 and the OCODs went away!

OK!

So who wouldda thought throwing MORE data at the problem would make it go away?

So....What's going on here? Is Chrome or UI3 being a little too aggressive at detecting frame loss, prematurely closing the connection and restarting? I've tried Firefox, Chrome, and Edge, and they all exhibit the same behavior.
 
@VirtualCam

Can you screenshot your Blue Iris Status window with the Cameras tab selected? Experienced eyes can find a lot of potential problems just looking at that.

It sounds like you maybe did not set up the sub streams according to best practices, and maybe something you did is causing BI to struggle with the main streams. There is a guide I wrote on setting up sub streams: Sub Stream Guide

Also based on what you say about the service shutdown time, I suggest you monitor the memory usage in Windows' task manager. See if it goes up over time. A number of things have caused Blue Iris memory leaks before, most notably Intel Hardware acceleration. Since you're running in a VM you should have hardware acceleration disabled anyway, but it is a common error for people to turn it on when it isn't actually available and there can be side-effects...

So....What's going on here? Is Chrome or UI3 being a little too aggressive at detecting frame loss, prematurely closing the connection and restarting? I've tried Firefox, Chrome, and Edge, and they all exhibit the same behavior.

Not sure what is wrong :)
 
@VirtualCam

Can you screenshot your Blue Iris Status window with the Cameras tab selected? Experienced eyes can find a lot of potential problems just looking at that.

It sounds like you maybe did not set up the sub streams according to best practices, and maybe something you did is causing BI to struggle with the main streams. There is a guide I wrote on setting up sub streams: Sub Stream Guide

Also based on what you say about the service shutdown time, I suggest you monitor the memory usage in Windows' task manager. See if it goes up over time. A number of things have caused Blue Iris memory leaks before, most notably Intel Hardware acceleration. Since you're running in a VM you should have hardware acceleration disabled anyway, but it is a common error for people to turn it on when it isn't actually available and there can be side-effects...

Not sure what is wrong :)

I did follow the Wiki when setting up substreams and just reviewed again. Everything seems to be in order...Other than I have my main stream set to 2 FPS and sub set to 4. Setting the main to 4 helps a little but does not completely resolve the issue.

Hardware acceleration is off at the global level. It was off on most cameras and a few were set to default. They are all off now. Setting them all to off did not resolve the issue.

Capture.PNG
 
Those are ridiculously low frame rates. 15fps would be more typical. Video is going to be very jumpy / jerky at those fps. Also the key frame rate should be 1 key frame every X fps where x is the number of frames per second ie. 4fps is using 1 every 4. On the substreams it looks as if it's 1 key frame every 8.
 
Those are ridiculously low frame rates. 15fps would be more typical. Video is going to be very jumpy / jerky at those fps. Also the key frame rate should be 1 key frame every X fps where x is the number of frames per second ie. 4fps is using 1 every 4. On the substreams it looks as if it's 1 key frame every 8.

The iframe interval there is half of the frame rate for the main streams, and a quarter of the frame rate for the sub streams. On some cameras (Reolink) it is not adjustable so you take what you can get. I suspect those are all reolinks, given what he said earlier.

But anyway the combination of the unusually low frame rate and having it not match between main and substreams, that is probably what is ultimately causing all the streaming issues.

I also would expect a load like that (all sub streams and super low frame rates too) to not run anywhere near 50% CPU on 10 cores, even weak cores like that 2680 v2 would have, even with virtualization overhead. So there may be other problems besides the mismatched and low frame rates.

Also, that screenshot cropped out the summary section at the bottom which would have been very useful for determining if the CPU load is warranted.
 
Those are ridiculously low frame rates. 15fps would be more typical. Video is going to be very jumpy / jerky at those fps. Also the key frame rate should be 1 key frame every X fps where x is the number of frames per second ie. 4fps is using 1 every 4. On the substreams it looks as if it's 1 key frame every 8.

Yes, I didn't really need anything higher for what I was doing, and I was trying to get more storage time vs frames. However on the one camera I increased from 2 FPS to 6 FPS, the amount of time to create a 4GB file only dropped from 90 minutes to about 80 minutes. There was also similarly no noticable difference in network traffic or CPU usage. So maybe X.264 compression is better than I thought it was. I've bumped several more up to 10 so we'll see how it looks after 24 hours.