Standalone Java app for dedicated live view with Instant Replay

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,005
Location
USA
I built a Java application called BlueIrisViewer that connects to Blue Iris over the local network and pulls live, full-resolution jpeg snapshots, which are displayed in a grid. It is designed to provide higher image quality and better responsiveness than you can get from any application besides perhaps the local Blue Iris console itself. This app used to be hidden away at the bottom of my post for custom BI webserver pages, but I think it deserves its own topic.


One click on any camera image will full-screen it with no delay.

Full-screened on a high-resolution monitor, this app has much better image quality and better responsiveness than any of Blue Iris' built in web pages. As a result, it uses more CPU and network resources, and should only be used when there is no shortage of either.

The app has a configuration interface built in so you don't have to muck around with config files.

[URL='http://i.imgur.com/LocEzD8.png'] [/URL]

BlueIrisViewer can temporarily store images on your hard drive and play them back with the Instant Replay feature. You can look back at any moment from the last few minutes (configurable) by clicking in the Instant Replay bar along the bottom.

Instant Replay makes heavy use of the hard drive for caching, so please do not enable Instant Replay when running the app from a solid state disk (SSD). Use of the Instant Replay feature would be detrimental to the lifespan of an SSD if used for long periods of time.

You can download BlueIrisViewer here:


GitHub - bp2008/blueirisviewer


Usage


  • Extract and run BlueIrisViewer.jar on the computer you want to view cameras with. If your system can't open this, ensure you have Java installed correctly.
  • Press the 'o' key on your keyboard to open the options menu. If anything goes horribly wrong, which it shouldn't, you can delete BIVSettings.cfg from the directory where your BlueIrisViewer.jar is located and everything will be back to defaults.
 
Last edited:

Mike

Staff member
Joined
Mar 9, 2014
Messages
2,982
Reaction score
2,725
Location
New York
Looks awesome, thanks! Going to try it out shortly!
 

mr_penguin

n3wb
Joined
Apr 9, 2014
Messages
2
Reaction score
0
Maybe I'm missing something simple.... I keep getting 'Unrecognized Server!' in the Java app. I can get to the web interface fine, and it seems to work. I am using BI 3.50.0.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,005
Location
USA
A few things could cause this.

1. The most likely scenario is that you typed the wrong address or the wrong port. Basically this app loads jpegpull.htm at the address you gave it, and parses the <option> tags to get a list of camera IDs. If it doesn't find any camera IDs, it will show that message.

2. If you happen to have gone into the camera layout window and hidden all the cameras, it is possible it would do this. I'm not sure as I haven't tried that and I'm not near a computer with the app installed.
 

mr_penguin

n3wb
Joined
Apr 9, 2014
Messages
2
Reaction score
0
It started working after I added a second (and third) camera. I wonder if something weird was going on because I only had 1 camera configured?
 

msantic

Young grasshopper
Joined
Apr 11, 2014
Messages
44
Reaction score
9
Location
Croatia
Java app does not work for me...

I am sure that I set up parameters in Java app corectly.


2014/04/11 21:12:46 An exception has occurred in class org.brian.blueirisviewer.util.Utilities:
Server returned HTTP response code: 401 for URL: http://192.168.0.28:8008/jpegpull.htm
Additional Info:
URL: http://192.168.0.28:8008/jpegpull.htm
java.io.IOException: Server returned HTTP response code: 401 for URL: http://192.168.0.28:8008/jpegpull.htm
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at org.brian.blueirisviewer.util.Utilities.getViaHttpConnection(Utilities.java:128)
at org.brian.blueirisviewer.util.Utilities.getStringViaHttpConnection(Utilities.java:198)
at org.brian.blueirisviewer.images.Images$1.run(Images.java:133)
at java.lang.Thread.run(Unknown Source)
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,005
Location
USA
Thanks for the report msantic.

This error is occurring because I failed to test with the Secure Only box unchecked in BI's web server settings. I assumed BI would always redirect to the login page if authentication was required. But if Secure Only is unchecked then this redirect does not happen and something else happens instead (the 401 response). I will fix this in the next release, but until then you will have to check the Secure Only box in BI's web server settings if you want to use the java app.
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,005
Location
USA
Update is done and published. Version 2.3.2 will work with both types of authentication now.
 

molimelight

Young grasshopper
Joined
Apr 13, 2014
Messages
66
Reaction score
12
It worked once. (Nice, by the way!) but now I keep getting the message "unable to contact server."When I originally ran it, I did so from my desktop. I then moved files to the (x86) Program Files directory and tried it from there. Apparently the permissions weren't OK with it running there so I moved it back to the desktop. I deleted the config file and still can't connect. I know I am putting in the correct address, user name and password and the web server is working OK. The browser pulls up the standard viewer just fine. I've pinged the address and it is correct and active. Any ideas?
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,005
Location
USA
You should have a BlueIrisViewer_Errors.txt file where your BlueIrisViewer.jar is located. Copy the contents here (use a spoiler block if it is long).

If you don't have a log file, you are probably not using the latest version and should update first.

You can test the logging by opening the About window and toggling the Log Errors To Disk box off and back on (this action is logged to the file)
 

molimelight

Young grasshopper
Joined
Apr 13, 2014
Messages
66
Reaction score
12
It was long, because I kept trying, so here's the last entry: I've substituted my IP address and port number. Thanks for the quick response!

2014/04/13 19:25:48 An exception has occurred in class org.brian.blueirisviewer.util.Utilities:
Server returned HTTP response code: 401 for URL: http://xxx.xxx.x.xxx:xxxx/jpegpull.htm
Additional Info:
URL: http://xxx.xxx.x.xxx:xxxx/jpegpull.htm
java.io.IOException: Server returned HTTP response code: 401 for URL: http://xxx.xxx.x.xxx:xxxx/jpegpull.htm
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at org.brian.blueirisviewer.util.Utilities.getViaHttpConnection(Utilities.java:128)
at org.brian.blueirisviewer.util.Utilities.getStringViaHttpConnection(Utilities.java:198)
at org.brian.blueirisviewer.images.Images$1.run(Images.java:133)
at java.lang.Thread.run(Unknown Source)
 

molimelight

Young grasshopper
Joined
Apr 13, 2014
Messages
66
Reaction score
12
I updated to 2.3.2 and it still wouldn't log me in (gave the same error in the log file). So I switched it to secure and that worked. I am running BI as an elevated task so I didn't have to OK the UAC every time and I can set it to start back up on restart. If that matters. I only have two cameras but it's nice to have running on my main machine and be able to view the cameras if I get a signal on my phone via Blue Iris Companion. Thanks for the software and the help!
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,005
Location
USA
I will definitely have to review my login code and improve some of the on-screen error messages.

Is it possible you still were running the old version by accident, or that your user name or password was wrong and you fixed it after switching BI to secure only login?
 

d0t-bat

n3wb
Joined
Apr 14, 2014
Messages
16
Reaction score
2
Running latest version of BI and Java app, running it across a VPN link caused BI to crash.
Any chance of getting some bandwidth settings for over WAN viewers?
 

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,005
Location
USA
Those bandwidth settings already exist.



If you want to control the image size and quality on a per-camera basis, then choose No Optimizations and leave the Override jpeg quality box unchecked. Then you can set the resolution and image quality in Blue Iris on a per-camera basis and this app will honor those selections.

Beyond this, the app wasn't really designed for WAN view and you'll probably be better off using the web interface. This might help: http://www.ipcamtalk.com/showthread.php?93-I-made-a-better-remote-live-view-page
 
Last edited:

bp2008

Staff member
Joined
Mar 10, 2014
Messages
12,666
Reaction score
14,005
Location
USA
BlueIrisViewer 2.4 is now released.

The main change here is for anyone who uses borderless mode on multiple monitors.

The Window Options now has buttons that mimic your actual monitor layout. Click one of the numbered monitor buttons, and the app moves and resizes to fill that screen. These buttons only appear if the app is in borderless mode, because when borders are enabled, the position is inaccurate and the window border has a maximize button anyway.

 
Top