Blue Iris UI3

First, UI3 is great. I've now started using it exclusively on one of my Tablets that streams my BI cameras 24/7. UI3 works much better than the Android App for continuous streaming (no pausing, skipping, or falling behind).
One request which would be great for me: While viewing one camera full screen, the ability to swipe left/right to go to the previous/next camera would save me several taps.
Is that something that can be added?
 
Swipe left and right is on my issue tracker I think (as a feature request) but I am not eager to implement it because of the complexity to make it work very well. UI3 already has low level touch handling on the video player coded to pan the view when the video is zoomed in. So this would only be able to work when not zoomed in at all, and probably I would make it only work on touchscreens (not mouse click and drag).
 
Swipe left and right is on my issue tracker I think (as a feature request) but I am not eager to implement it because of the complexity to make it work very well. UI3 already has low level touch handling on the video player coded to pan the view when the video is zoomed in. So this would only be able to work when not zoomed in at all, and probably I would make it only work on touchscreens (not mouse click and drag).
Sounds good. It makes sense to only allow swipe left/right on touchscreens and only when not zoomed in. I appreciate all your work!
 
When using UI3 on an Android phone, when you take one camera to view and zoom in, the Android screen does not stay open like when the camera view is not zoomed in. That is, the screen turns off according to Android's settings (15sec or whatever). If I open PiP, Android keeps the screen open regardless of how much the camera view is zoomed in. Is there something that can be done in UI3 for this or is there a problem with Android? The browser you use (chrome, edge, etc.) does not matter.
My interpretation is that Android does not understand that a video is playing when the UI3 camera view is zoomed in.
 
Sounds good. It makes sense to only allow swipe left/right on touchscreens and only when not zoomed in. I appreciate all your work!
This is finally implemented in UI3-297. It should be in the next Blue Iris update.
When using UI3 on an Android phone, when you take one camera to view and zoom in, the Android screen does not stay open like when the camera view is not zoomed in. That is, the screen turns off according to Android's settings (15sec or whatever). If I open PiP, Android keeps the screen open regardless of how much the camera view is zoomed in. Is there something that can be done in UI3 for this or is there a problem with Android? The browser you use (chrome, edge, etc.) does not matter.
My interpretation is that Android does not understand that a video is playing when the UI3 camera view is zoomed in.

I've updated the screen keepalive library (nosleep.js) in UI3-297. In previous UI3 releases, this nosleep.js library caused UI3 to put a tiny low-resource video player offscreen in an attempt to make the browser keep the screen alive. It worked on some devices/browsers long ago but I guess those days are over. Now I believe the updated version of nosleep.js is using a native browser API for "wake lock" whenever that is available. Unfortunately the "wake lock" API is only available if UI3 is hosted via HTTPS (blame web browser creators for this). Blue Iris's web server does not support HTTPS natively so this requires a reverse proxy server which can be complicated to set up.

Otherwise, the reason the screen turns off if the video player is zoomed in is because, years ago, zooming in on a <video> element proved to be quite unstable. It would cause the web browser to glitch out and the video player would crash or even make the whole screen go black. Some years ago this problem was getting so bad that I went to considerable effort to make UI3 hide the native HTML5 <video> element while digitally zooming, and instead render the video to a <canvas> element. That completely solved the crashing and instability issues, but unfortunately it means you temporarily lose the automatic screen keepalive you get for having a video playing, while the video player is zoomed in.
 
UI3-298 fixes screen keepalive when UI3 is loaded with plain HTTP. It does require a user interaction (clicking anywhere in UI3) before the browser will let it activate. Tested in Chrome on Android 16. Screen keepalive should now work with both HTTP and HTTPS, even when the video player is zoomed in or using a non-HTML5 video player.
 
UI3-298 fixes screen keepalive when UI3 is loaded with plain HTTP. It does require a user interaction (clicking anywhere in UI3) before the browser will let it activate. Tested in Chrome on Android 16. Screen keepalive should now work with both HTTP and HTTPS, even when the video player is zoomed in or using a non-HTML5 video player.
I can confirm that this is definitely now working beautifully!! Thank you sir!
 
This is finally implemented in UI3-297. It should be in the next Blue Iris update.


I've updated the screen keepalive library (nosleep.js) in UI3-297. In previous UI3 releases, this nosleep.js library caused UI3 to put a tiny low-resource video player offscreen in an attempt to make the browser keep the screen alive. It worked on some devices/browsers long ago but I guess those days are over. Now I believe the updated version of nosleep.js is using a native browser API for "wake lock" whenever that is available. Unfortunately the "wake lock" API is only available if UI3 is hosted via HTTPS (blame web browser creators for this). Blue Iris's web server does not support HTTPS natively so this requires a reverse proxy server which can be complicated to set up.

Otherwise, the reason the screen turns off if the video player is zoomed in is because, years ago, zooming in on a <video> element proved to be quite unstable. It would cause the web browser to glitch out and the video player would crash or even make the whole screen go black. Some years ago this problem was getting so bad that I went to considerable effort to make UI3 hide the native HTML5 <video> element while digitally zooming, and instead render the video to a <canvas> element. That completely solved the crashing and instability issues, but unfortunately it means you temporarily lose the automatic screen keepalive you get for having a video playing, while the video player is zoomed in.
The swipe left/right works on my tablet great. Thanks for that. However, it works in reverse vs. the BI Android app, meaning swipe left goes to the previous camera, whereas in the app it goes to the next camera. Can you put in an option to reverse the swipe direction? Regardless, great work!
 
The swipe left/right works on my tablet great. Thanks for that. However, it works in reverse vs. the BI Android app, meaning swipe left goes to the previous camera, whereas in the app it goes to the next camera. Can you put in an option to reverse the swipe direction? Regardless, great work!
Oops. Without an animation I forgot that swiping left means "go right". lmao. I will change the default behavior and add a reversing option.
 
Oops. Without an animation I forgot that swiping left means "go right". lmao. I will change the default behavior and add a reversing option.
Wow. That's quick service! Also, can you make it "wrap around" if you get to the last/first camera? Now it goes to the all cameras view.