Blue Iris UI3

bp2008

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

bp2008

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

tophicles

n3wb
Joined
May 9, 2018
Messages
8
Reaction score
0
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.
 

bp2008

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

tophicles

n3wb
Joined
May 9, 2018
Messages
8
Reaction score
0
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.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,673
Reaction score
14,017
Location
USA
Excellent. Never seen that affect the server before now (only client), but there is a first time for everything.
 

BassTeQ

Young grasshopper
Joined
May 10, 2017
Messages
62
Reaction score
8
Last edited:

midblue

n3wb
Joined
May 10, 2018
Messages
4
Reaction score
0
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/;
  }
}
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,673
Reaction score
14,017
Location
USA
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?
 

midblue

n3wb
Joined
May 10, 2018
Messages
4
Reaction score
0
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?
 

bp2008

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

bp2008

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