Blue Iris UI3

Ok with your permission can I use your existing code of Ui2 ( I found it on the internet ) and use the new feature in Ui3 using the file ui3-local-overrides.js to add this functionally myself I know its a lot of code modification to make it work but i am sure I can do it.

:lol: Of course, that's what open-source licenses are all about. Go right ahead.

The secret sauce is the currentServer.SetRemoteServer function. Takes 4 string arguments.
  1. First argument is a unique ID string which you make up to go with each server in your server list. 1-16 characters, alphanumeric, may contain spaces. This is used as a prefix for all the settings keys that UI3 will save in local storage, so that each server you connect to can have its own unique settings.
  2. Second argument is the base URL of the BI server you want UI3 to connect to, e.g. http://192.168.0.3:81/
  3. Third argument is the user name required by that BI server.
  4. Fourth argument is the password required by that BI server.
Call that function before the DOM is fully loaded, and UI3 will act as a client for the given server instead of the server you loaded UI3 from. There may be some quirks because there are a few places where UI3 needs to refer to local storage without using the appropriate wrapper object. Such as when migrating old settings keys that got deprecated.

Also there are some browser security issues you may need to deal with. Things like not allowing unencrypted http connections if you loaded the page from an https origin. And if you load the UI3 webpage from an internet IP, you can't connect UI3 to a local IP -- the browser will complain and prevent the connection.

Lastly, I warn you if you connect to too many servers with different unique ID strings, you'll fill up your local storage allocation for the origin you loaded UI3.htm from. (5 MB limit imposed by most browsers) If that happens you'll start getting errors complaining about exceeding the quota. You can clear local storage via the code localStorage.clear() or by using the reset.htm page that is included with UI3.
 
My brother says 3 of 4 tablets are displaying this:

1658631023326.png

He's running 221 on BI 5.5.95.

I recall seeing this a long time ago, but thought this was addressed because I haven't seen it since then...

Is there a switch that needs to be flipped to prevent this?


Well, that's embarrassing Looks like I asked this same question 5 years ago on this very thread (Blue Iris UI3). At least I remembered it was a problem - just not the solution of autoplay on browser settings. Please ignore my ramblings.
 
I'm trying to embed UI3 in an iFrame in Home Assistant. I've allowed iframe in the web server settings, but after I login I get the following error:

1658885231587.png

Do you know why this is and if anything can be dome about it?
 
I'm trying to embed UI3 in an iFrame in Home Assistant. I've allowed iframe in the web server settings, but after I login I get the following error:

View attachment 134614

Do you know why this is and if anything can be dome about it?
At some point your Blue Iris web server sent back a login page instead of the requested file, and your browser cached it. Clear browser cache and you'll be good to go again.
 
  • Like
Reactions: sebastiantombs
I'm trying to embed UI3 in an iFrame in Home Assistant. I've allowed iframe in the web server settings, but after I login I get the following error:

Do you know why this is and if anything can be dome about it?

At some point your Blue Iris web server sent back a login page instead of the requested file, and your browser cached it. Clear browser cache and you'll be good to go again.

I was able to resolve it by unchecking 'Use secure session keys and login page' under the Blue Iris web server settings.

Probably not the best practice, but I really hope my local network doesn't have an active MITM situation anyway haha.
 
Following up on this after having another look at what is happening. It's even stranger... and I still don't think it's anything to do with UI3 unless there is some workaround using BroadcastChannel or similar. Posting for curiosity and interest!

I have tested using three methods; Safari.app, Safari WebClips via Profiles and Kiosker.app (A fullscreen iOS app). Webclips and Kiosker.app both allow full screen. Safari.app does not.

If the page with UI3 is displayed within an iFrame using the default Safari.app, everything works as expected. Session Cookies and LocalStorage are retained.

If the page with UI3 is displayed within an iFrame using WebClips or Kiosker.app, Session Cookies and LocalStorage are not retained.

If I load UI3 WITHOUT being within an iFrame, Session Cookies and LocalStorage are retained using all three methods...

I've been attempting to find information as to why this would be the case, but I haven't found ANY discussion on the topic. I don't understand how it can work in Safari.app but as soon as you use safari through a WebClip or similar full-screen app, it doesn't work.

As you can tell this is frying my brain. I don't see why Apple have to make this so difficult! I may just have to chuck the iPad's in the bin and be done with it :smash:

Maybe you're having a similar issue. See what I did above.
 
Top work on UI3 - Blue Iris wouldn't work for me without it.

Feature requests if I may:

1. Option in 'UI Settings' to auto-switch resolution for tiled and single camera views. Eg allow me to pre-set 720p for tiled view and 4K for single camera view and apply those settings on switching view. Still allow manual profile switching when on a particular view; just default to the pre-sets on first switching to that view.

2. Automatic UI3 window refresh (ie F5) at <x> minute intervals. For whatever reason my system tends to lag over time resulting in the orange clock icon once a day or so; being able to set an auto window refresh every 300 minutes say would completely fix this with minimal effect on the viewing experience.
 
Hi @integrity

Thanks for the feature requests.

I'm not going to do the thing where a different profile is used for groups vs single cameras (EVERYTHING adds to maintenance hassle, I need to draw the line somewhere).

But you can limit the group streaming resolution in other ways.
1) In BI's local console, click the 1659131190841.png <-- pencil button to access "Edit layout" mode. Then you can right click any camera, go down to the second Height submenu and set a resolution limit there. (there are two Height submenus, the second is the one you need)

2) If you have dynamic aspect ratio enabled (which is default) then you can right click the video in UI3 and choose group settings, and adjust the max resolution via a slider. Shrink it until you're happy with performance.


To automatically refresh the page on some interval, I recommend a browser extension.
 
Somehow I've lost the clips panel and other controls and menu for live view, clips, timeline at the top. Only cams showing. How do I get that back?
 
I don't. Only cams. The URL that loads is myip+port/ui3.htm?group=Index

This is on a machine where I've not used UI3 before. The others work fine.
 
put &maximize=0 in the address bar then. Or show a screenshot of the browser window. I might not understand what is going on.
 
That's it. Only the cam frames, no controls, menu, clips panel. Seems like I had this happen at one point and figured it out but don't recall how now.

Got it. Made a single cam full screen, Then it gave me the arrows.
 
Last edited:
Hi, sorry if this isn't the right spot, I figured a big sticky thread talking exactly about the UI I was enquiring about would be the place to go.

Is there any way that anyone knows of to set UI3 up to default to a different group of cameras? I don't want all cameras, I rarely if ever want to see the internal cameras, I'd love it to default to the "Outside" group.

Edit: I just thought I'd mention I found the option to pass it in the url but I'd really like it to be the default if I can
 
Is there any way that anyone knows of to set UI3 up to default to a different group of cameras? I don't want all cameras, I rarely if ever want to see the internal cameras, I'd love it to default to the "Outside" group.
Yes, and this can be found in the "Help" section of UI3; Look for the 3 dots in upper right corner then "Help" => "More Topics" => "URL Parameters".
Just open up UI3 with:

Code:
http://BI-Server-IP:BI-Server-Port/ui3.htm?group=groupname&maximize=1

Delete the "&maximize=1" if you also want clip previews, PTZ controls, etc.

If you want to include the login credentials, go with this URL with that login info added on the end:

Code:
http://BI-Server-IP:BI-Server-Port/ui3.htm?group=groupname&maximize=1&user=username&pw=password

In either of the above, sub "groupname" with "Outside". These can be turned into desktop shortcuts or bookmarked as favorites in your browser.
Easy Peasy! :cool:
 
Last edited:
Edit: I just thought I'd mention I found the option to pass it in the url but I'd really like it to be the default if I can
Sorry, must have missed this first go-around (too early for me, I guess).

Perhaps under "users" the "Home Page" box in the upper right would let you put in the URL (HTML) you wanted launched, but you'd have to log in with that specific user, so that's of no use.

it would be simpler to use the shortcut / bookmark method I mentioned above.
 
Last edited:
  • Like
Reactions: looney2ns
Is there any way that anyone knows of to set UI3 up to default to a different group of cameras? I don't want all cameras, I rarely if ever want to see the internal cameras, I'd love it to default to the "Outside" group.

Yes. If you are logged in as a Blue Iris administrator, then UI3 will have an option at the bottom of its settings panel for you to download a ui3-local-overrides.js script containing all of your current settings (including the camera group you loaded last). If you place that file in the C:\Program Files\Blue Iris 5\www\ui3 directory, then everything in that file will become the new default settings for everyone that connects to your UI3. This Help page talks about it in a bit more depth.