Blue Iris UI3

bp2008

Staff member
Joined
Mar 10, 2014
Messages
11,604
Reaction score
11,285
Location
USA
@MrRobinHood in the meantime, you may be able to switch the TV to a Jpeg streaming mode (if the error messages don't prevent you from reaching the control). Then in UI Settings > Video Player, you can set HTML5 delay compensation to None. This should turn off the code that tries to set playback rate. Then you can switch back to H.264 streaming if you like.
 

MrRobinHood

Getting comfortable
Joined
Nov 29, 2021
Messages
151
Reaction score
271
Location
England
Anyway, TV browsers are awful about not getting updated, so they have all kinds of unexpected problems. If you already own the BI android app, that may work better, but again there may be unexpected issues due to running an ancient version of Android.
Looks like it's Android version 9, which seems to be a few years old. Annoying that as the TV is only about a year old.

Haven't got a copy of the Android app as I'm an iOS person generally.

I just tried Screen Mirroring from my iOS phone to the TV and I think that's probably the best for easy navigation as you don't have to use the remote and control the cursor with the d-pad on the remote, which is awful. Tapping and swiping on the phone is a lot better.

Probably not as great video quality as using UI3 though.
 

CrazyAsYou

Pulling my weight
Joined
Mar 28, 2018
Messages
125
Reaction score
114
Location
England, Near Sheffield
I’m getting terrible performance in Firefox and Safari on a 2021 iMac M1 – The video playback for live or clips is really choppy/laggy almost like it’s 1fps or running over old school dial-up – The connection is 1Gb cabled local LAN to a very powerful Win10 Blue Iris server, no network issues or packet loss and ping from iMac to BI server is <1ms – I don’t get any issues connecting from other Win10 laptops or phones. Makes little to no difference if the stream is any setting or single or multi cam view. There is clearly something wrong with the way iMac handles the UI3 streams - other video streaming sites such as Youtube/Netflix etc are working fine. Anyone got any ideas at all?
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
11,604
Reaction score
11,285
Location
USA
Makes little to no difference if the stream is any setting
One thing to be aware of is most of the streaming profile options use H.264 encoding (all except the options with "Jpeg" in the name). If H.264 and Jpeg encoding options behave nearly the same, that would be really weird. Try right clicking the video and open Stats for nerds. It may give you some clues about the problem.

Also in UI Settings > Video Player, you can change the H.264 player to "JavaScript". It has higher CPU requirements than HTML5, but generally behaves more predictably. The web browser, operating system, and/or video driver provides most of the code for the HTML5 player, whereas when you use the JavaScript player, UI3 provides most of the code so there are fewer differences in behavior across a variety of systems.

If you can't figure out what the problem is, then it would be helpful if you could record a video demonstrating the problem. If you do that, have the Stats for nerds panel open and show the behavior using multiple streaming profiles for comparison purposes. E.g. 2160p, 480p, and Jpeg SD. This is one rare case where it may be ideal to record the screen with a separate camera so as to not influence the workload on the imac by using desktop video capture software.
 

CrazyAsYou

Pulling my weight
Joined
Mar 28, 2018
Messages
125
Reaction score
114
Location
England, Near Sheffield
I'm messing about with evey setting I can think of, not tried the Javascript one as yet, I seem to get a few seconds of good playback on start and then super choppy playback like a buffer is overwelmed see below - So far I've worked out that changeing bitrate has litte impact either way, a much lower GOP seems to be better than a higher one and I think CBR is better than VBR
1645201726942.png
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
11,604
Reaction score
11,285
Location
USA
Very interesting. That looks just like an old issue that I thought was isolated to Firefox that they finally fixed around a year ago.

The problem is, some HTML5 video implementations were only designed to work with typical VOD (video on demand) distribution, where video is delivered in fairly large chunks that are at least a few seconds long, and always begin with an i-frame.

UI3's streaming works nothing like that. Because it needs to be low latency, UI3 delivers video in chunks that are only one frame long. And because it needs to be bandwidth-efficient, it goes a really long time between i-frames.

So your HTML5 player is decoding all the video it has, then it throws away its decoder state. When another chunk of video arrives, it has to rewind to the previous i-frame and begin decoding from there. As the stream progresses, that i-frame gets further and further away so the amount of work it has to do gets bigger and bigger. So it causes stutters that get continuously worse until the next i-frame arrives.

I suspect your mac is doing something similar to that with its HTML5 player. It doesn't like the low latency video streaming methodology.
 

CrazyAsYou

Pulling my weight
Joined
Mar 28, 2018
Messages
125
Reaction score
114
Location
England, Near Sheffield
Very interesting. That looks just like an old issue that I thought was isolated to Firefox that they finally fixed around a year ago.

The problem is, some HTML5 video implementations were only designed to work with typical VOD (video on demand) distribution, where video is delivered in fairly large chunks that are at least a few seconds long, and always begin with an i-frame.

UI3's streaming works nothing like that. Because it needs to be low latency, UI3 delivers video in chunks that are only one frame long. And because it needs to be bandwidth-efficient, it goes a really long time between i-frames.

So your HTML5 player is decoding all the video it has, then it throws away its decoder state. When another chunk of video arrives, it has to rewind to the previous i-frame and begin decoding from there. As the stream progresses, that i-frame gets further and further away so the amount of work it has to do gets bigger and bigger. So it causes stutters that get continuously worse until the next i-frame arrives.

I suspect your mac is doing something similar to that with its HTML5 player. It doesn't like the low latency video streaming methodology.
So I can fix it by setting GOP as 1 then :rofl: :rofl:
 

MrRobinHood

Getting comfortable
Joined
Nov 29, 2021
Messages
151
Reaction score
271
Location
England
I think this must be a new setting, but I just noticed a pure 4k setting in addition to the VBR version, which is really nice!

Seems to work well with a decent frame rate with limited testing.

1645569147007.png
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
11,604
Reaction score
11,285
Location
USA
Heh, the pure 4K version has been there for as long as UI3 has had configurable streaming profiles (which is a long time indeed). The 2160P VBR option is a lot newer actually (and even it has been around for a long time now).

The 4K version is limited to 8192 Kbps bit rate, which is the highest Blue Iris will allow you to set while still having a bit rate limit. You can get higher quality if you disable the bit rate limit in the 2160p streaming profile, but I don't recommend it because the bit rate can get crazy high when you do that.
 

MrRobinHood

Getting comfortable
Joined
Nov 29, 2021
Messages
151
Reaction score
271
Location
England
How strange! I'm sure it was only the VBR versions available before! Oh well, maybe it was me just overloaded with info trying to get to grips with everything at first and not seeing it.

The 4K version is limited to 8192 Kbps bit rate, which is the highest Blue Iris will allow you to set while still having a bit rate limit. You can get higher quality if you disable the bit rate limit in the 2160p streaming profile, but I don't recommend it because the bit rate can get crazy high when you do that.
I think I have my 4k cam bit rates maxed out at 16k constant native, But for UI3 live viewing the default looks grand :)
Would rather that load and play smoothly than miss chunks of seconds at a time and get real time lag.
 

Mike A.

Known around here
Joined
May 6, 2017
Messages
1,859
Reaction score
2,281
ETA: Never mind, got it. Apparently I had a group named "Car" that included the other two cams. Deleted that group and works fine now. I'll leave this in case someone else does the same.

Seems I've screwed something up...

While trying to set things up to show various cams automatically when triggered on an Echo Show I had to rename a cam in BI from "Cars" to "Car" to resolve a name conflict. That all works fine.

But now when I go to UI3 and click on that cam to display it, I get a group of two other cams displayed instead. That is, when I click on the "Car" cam in the multi-display to show the single car cam, I get a two others displayed side-by-side: a cam named "SW" and a cam named "PTZ." UI3 also displays a message in a red box at lower right saying "Group layout metadata is missing for "car." Probably a Blue Iris bug."

The single cam displays alone fine if I click it in BI.

WTF did I do? lol Again, the only change that I recall making within BI for that cam is simply renaming it from "Cars" to "Car."
 
Last edited:

aesterling

Getting comfortable
Joined
Oct 9, 2017
Messages
308
Reaction score
263
Very nice job @bp2008 on the UI3 timeline! The glowing blue "current time indicator" is cool and the overall functionality is excellent. Thank you! What does the gap between the recorded video and the current time represent? Not yet written to disk?

Screen Shot 2022-03-12 at 02.27.26 PM.png

(Yes, I have each camera set to a different color and it's kind of obnoxious but helps identify them.)

In a future release, would you ever consider adding the ability to make the timeline taller by dragging it up? The icons for trigger/motion could appear on the specific cameras layers on which they occurred?
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
11,604
Reaction score
11,285
Location
USA
Very nice job @bp2008 on the UI3 timeline! The glowing blue "current time indicator" is cool and the overall functionality is excellent. Thank you! What does the gap between the recorded video and the current time represent? Not yet written to disk?

View attachment 121884

(Yes, I have each camera set to a different color and it's kind of obnoxious but helps identify them.)

In a future release, would you ever consider adding the ability to make the timeline taller by dragging it up? The icons for trigger/motion could appear on the specific cameras layers on which they occurred?
Thanks, it was such a huge amount of work. Absolutely the most effort ever required for a new UI3 feature. I think even adding H.264 streaming back in the early days was easier than this!

Blue Iris only updates its timeline/clip metadata every 10 seconds, and UI3 can only poll for timeline data updates periodically, so there is always a bit of delay; that is why the bars usually don't reach all the way up to the live point. So it is common for the area under the blue gradient to be empty (+/- some seconds). In a few cases I've seen bars extend beyond the live point, but that is rare.

I don't think I'm going to make the timeline vertically resizable.

But I will probably add tiny vertical lines on the colored bars to show which colors were alerted. That is something Blue Iris does in the local console. I personally don't like it for the visual noise it creates in a motion-triggered-recording setup, which is why it will be optional once I add that capability.
 

aesterling

Getting comfortable
Joined
Oct 9, 2017
Messages
308
Reaction score
263
Thanks, it was such a huge amount of work. Absolutely the most effort ever required for a new UI3 feature. I think even adding H.264 streaming back in the early days was easier than this!

Blue Iris only updates its timeline/clip metadata every 10 seconds, and UI3 can only poll for timeline data updates periodically, so there is always a bit of delay; that is why the bars usually don't reach all the way up to the live point. So it is common for the area under the blue gradient to be empty (+/- some seconds). In a few cases I've seen bars extend beyond the live point, but that is rare.

I don't think I'm going to make the timeline vertically resizable.

But I will probably add tiny vertical lines on the colored bars to show which colors were alerted. That is something Blue Iris does in the local console. I personally don't like it for the visual noise it creates in a motion-triggered-recording setup, which is why it will be optional once I add that capability.
Makes sense, thanks. I'm sure many people don't know or appreciate the amount of effort you put into it, myself included. :)

Donation link:

 
Last edited:

bp2008

Staff member
Joined
Mar 10, 2014
Messages
11,604
Reaction score
11,285
Location
USA
My timeline seems to go into the future though! Not sure how that works?

Did we also get minority report style future crime recording with this update?

View attachment 121900
It is probably a bug in the timeline data that BI reported to UI3. We've only tested it on a few systems so far. I will mention it to Ken.
 
Top