Blue Iris UI3

Sorry about that, apparently I broke the local overrides export with UI3 version 10. Will be fixed in version 11.

In the meantime try opening Chrome's developer tray (CTRL + SHIFT + I) and look in the console tab to see which errors come up when you load the page.
 
Oh by the way version 11 with that fix is here: bp2008/ui3

You can manually install UI3 releases from github just by extracting the zip into your Blue Iris 4/www folder and overwriting everything. Otherwise they will typically show up in the next Blue Iris update.
 
  • Like
Reactions: Philip Gonzales
For what it's worth (and please note this is not complaining, just noting for development purposes) I also get the eternal spin in the Blue Iris app in Android.
 
For what it's worth (and please note this is not complaining, just noting for development purposes) I also get the eternal spin in the Blue Iris app in Android.

The official $10 app you mean?

That pretty much rules out a client error. Something is wrong at your server. Maybe you have misbehaving antivirus/antimalware software that is messing around with the web server communication.

Are you by chance connecting through a proxy server of any kind? (that would have been important information to include, but you never know) If something in between Blue Iris and your client app (Android app or UI3) is trying to store-and-forward the web server responses, that would break H.264 streaming while basically everything else would still work. Most proxy servers are smart enough to do asynchronous streaming, but not all of them.
 
The official $10 app you mean?

That pretty much rules out a client error. Something is wrong at your server. Maybe you have misbehaving antivirus/antimalware software that is messing around with the web server communication.

Are you by chance connecting through a proxy server of any kind? (that would have been important information to include, but you never know) If something in between Blue Iris and your client app (Android app or UI3) is trying to store-and-forward the web server responses, that would break H.264 streaming while basically everything else would still work. Most proxy servers are smart enough to do asynchronous streaming, but not all of them.

Yessir, the official app. I have no proxy. I'm using Bitdefender AV on Windows 10.
 
Last edited:
Does anyone have a working configuration with an NGINX SSL basic auth reverse proxy? I can access my cameras fine with the old jpegpull page and on the iOS app, but the new UI3 appears to have an issue with my configuration. The UI itself loads but I get constant popups saying "the video stream was lost". In the Chrome developer console it seems to be doing a GET request to https://hostname.com/video/Index/2.0?session=xxxx&audio=0&stream=0&extend=2 which fails with a 401 (Unauthorized).

Running Chrome on a Mac. UI3 works fine over LAN. I have BI login/auth disabled and just letting the proxy handle it with basic auth over SSL.

Here is my NGINX config block for BI (simplified as I'm using includes):

Code:
server {
  listen                    443 ssl;
  server_name               hostname.com;
  auth_basic                "Username and Password Required";
  auth_basic_user_file      /etc/nginx/.htpasswd;
  proxy_set_header          X-Forwarded-For $remote_addr;

  ssl                       on;
  ssl_certificate           /etc/ssl/nginx/cert.pem;
  ssl_certificate_key       /etc/ssl/nginx/cert.key;
  ssl_protocols             TLSv1.2 TLSv1.1 TLSv1;

  location / {
    proxy_pass              http://x.x.x.x:8888/;
  }
}
 
Does anyone have a working configuration with an NGINX SSL basic auth reverse proxy? I can access my cameras fine with the old jpegpull page and on the iOS app, but the new UI3 appears to have an issue with my configuration. The UI itself loads but I get constant popups saying "the video stream was lost". In the Chrome developer console it seems to be doing a GET request to https://hostname.com/video/Index/2.0?session=xxxx&audio=0&stream=0&extend=2 which fails with a 401 (Unauthorized).

Running Chrome on a Mac. UI3 works fine over LAN. I have BI login/auth disabled and just letting the proxy handle it with basic auth over SSL.

Here is my NGINX config block for BI (simplified as I'm using includes):

Code:
server {
  listen                    443 ssl;
  server_name               hostname.com;
  auth_basic                "Username and Password Required";
  auth_basic_user_file      /etc/nginx/.htpasswd;
  proxy_set_header          X-Forwarded-For $remote_addr;

  ssl                       on;
  ssl_certificate           /etc/ssl/nginx/cert.pem;
  ssl_certificate_key       /etc/ssl/nginx/cert.key;
  ssl_protocols             TLSv1.2 TLSv1.1 TLSv1;

  location / {
    proxy_pass              http://x.x.x.x:8888/;
  }
}

I'm willing to set up a similar proxy and see what I can figure out. What goes in the .htpasswd file?
 
Does anyone have a working configuration with an NGINX SSL basic auth reverse proxy?

Interesting, after some more testing, if I select "Jpeg best quality" as the streaming quality instead of "H264 Streaming 0" then it works... I guess I don't have an issue with that setting, but any ideas why this is the case?
 
Thanks.

H.264 streams use a single ongoing HTTP request. Usually when there are problems with it, it is because someone's proxy server or antimalware service is trying to store and forward the entire response instead of streaming it out as it comes in.

Jpeg streaming is just getting the browser to load snapshots in rapid sequence and it works pretty much everywhere.
 
Interesting, after some more testing, if I select "Jpeg best quality" as the streaming quality instead of "H264 Streaming 0" then it works... I guess I don't have an issue with that setting, but any ideas why this is the case?

Ok, I took my time but I got the nginx reverse proxy going and it turns out the "fetch" API being used to stream H.264 does not send a number of headers by default, most notably the Authorization header required for basic auth to work. I added a 'credentials: "include"' argument to the fetch call and that fixed it. This will be in UI3 version 12.
 
@midblue I used your example nginx configuration in a short guide on the UI3 github page. Using UI3 with a reverse proxy server

It is a rough draft and newbies probably won't find it very useful, but hopefully someone will find it when googling for help and actually learn something from it.