Blue Iris UI3

VirtualCam

Young grasshopper
Joined
Sep 25, 2015
Messages
49
Reaction score
11
I could do all those things and make it a pretty decent user experience. But it would be loads better for everyone if BI did it all itself.
Yes, it would be, because then the Android and IOS apps, Chromecast, et all, could use it as well.

I don't know why this would be all that hard. I don't know what language BI is written in, but it has to have built in TLS/SSL support these days. Windows has a built in credential store. I'm assuming BI isn't using their own HTTP code and is using whatever libraries the language has. This shouldn't be much harder than adding another box or two for HTTPS configuration and letting the libraries do their thing?
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
BI uses its own HTTP code, and even its own JSON encoder. Pretty sure it is written in C++, given that it uses Visual C++ redistributable libraries that weren't always installed correctly in the past, leading to issues where users had to install them on their own.

So yes, there are tons of 3rd-party libraries BI could be using, but isn't.

We've also had issues in the past because BI decides what Content-Type header to send for specific file types, by looking in the Windows registry. Not everyone's registry has the correct strings in there for certain file types like ".js" so the web interface wouldn't work in some browsers due to the files being served incorrectly. I couldn't even get Ken to hard code the correct mime types, so I'm pretty sure that issue never went away. But fortunately it was really rare.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
I'm wondering if it would be possible to set the Profiles in UI3 as a drop-down selection, like the Console, so we can see not just the numbers, but also the names of the Profiles.

I recently set up and started using Profiles 2 thru 7 a bit like Groups, where I would pause different combinations of cameras at once. I find the Group option lacking for how I want to use it. Profiles works perfect in this respect. Thanks.
@cferd5

It took me a lot longer than I thought to get around to this, but UI3-210 has replaced the profile selection button grid with a dropdown box like in the local console.
 

VirtualCam

Young grasshopper
Joined
Sep 25, 2015
Messages
49
Reaction score
11
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?
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
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.
 

Evisser4

Young grasshopper
Joined
Mar 5, 2018
Messages
43
Reaction score
9
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.
 

aesterling

Getting comfortable
Joined
Oct 9, 2017
Messages
352
Reaction score
346
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!
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
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 :)
 

aesterling

Getting comfortable
Joined
Oct 9, 2017
Messages
352
Reaction score
346
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!
 

VirtualCam

Young grasshopper
Joined
Sep 25, 2015
Messages
49
Reaction score
11
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.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,006
Location
USA
@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

Young grasshopper
Joined
Sep 25, 2015
Messages
49
Reaction score
11
@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
 
Top