Standalone Java app for dedicated live view with Instant Replay

hmmm, there was no Java when it booted into 10.9.4 so I followed the links and downloaded JRE 8 build 20. Now the JAR quits with a message "the Java JAR file count not be launched". It tells me to check the console, but I don't see anything there.
 
Ok, I'm seeing the same thing. I will update the underlying graphics engine and rebuild and see if that fixes it.
 
hmmm, there was no Java when it booted into 10.9.4 so I followed the links and downloaded JRE 8 build 20. Now the JAR quits with a message "the Java JAR file count not be launched". It tells me to check the console, but I don't see anything there.
But downgrading to Java 7 build 67 seems to have done the trick. Hooray!
 
@justintime,

I just uploaded a new version, 2.4.2, which is built on the latest version of the graphics engine. It runs now on my 10.9 mac with Java 8.

I had also tried to install Java 7 build 67 but the installer refused to continue as long as I had Java 8 installed! Darned thing!
 
Last edited by a moderator:
@justintime,

I just uploaded a new version, 2.4.2, which is built on the latest version of the graphics engine. It runs now on my 10.9 mac with Java 8.

I had also tried to install Java 7 build 67 but the installer refused to continue as long as I had Java 8 installed! Darned thing!

There's a trick for downgrading if you're on Mac:

Code:
[LEFT][COLOR=#333333][FONT=andale mono]sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin[/FONT][/COLOR][/LEFT]

then you can install the earlier version.

Since you were kind enough to update the viewer, I went ahead and brought it back to version 8 build 20 to test - I can confirm it works very nicely. Thanks for updating that!

and I just figured out the Instant Replay feature.... OMG are you kidding? That is tremendous!
 
The app is updated again, to 2.4.3 now. You may have noticed in 2.4.2 it would break the UI if you resized the window. This, among other things, has been fixed.
 
When I try to use this on my 10.9 Mac I just get 'Unrecognized server!' when trying to connect. The url is correct and works fine in a browser from the same Mac.

Any suggestions ?

Edit - I've done a network sniff and I can see that the Java program is successfully getting the jpegpull.htm so I'm guessing there is something in the reply it wasn't expecting.

I've saved that html packet in Wireshark and it opens fine a browser

My BI setup is really basic with just 1 camera and no extra config - maybe its so basic it doesn't have something configured that most people would ?
 
Last edited by a moderator:
Can you send me the jpegpull.htm response html? It won't contain anything sensitive, so you can post it here in this thread or in a PM if you choose. I can run it through the initialization code and see where it is going wrong.
 
wow! really awesome app, just what i was looking for. your work is much appreciated! :peaceful:

i've got a question, i have a quad-monitor setup using extended display feature and i'm trying to figure out how to extend some of my cams to the other monitor? i tried running 2 instances of your app and projected one app to the other monitor and it worked for a little bit then it gave an error couldn't connect to the server which is understandable. i don't have 20 cams like you (yet:laugh:) but i'm getting there with 16. but 16 cams is already a squeeze in a single monitor. are you just viewing your 20 cams on a single monitor? i think that's fine on a 50 inch but i only have a 23inchers.
 
I'm glad you like it!

I have the 20 cams on a 28 inch 4K monitor, so there are plenty of pixels to go around.

It is possible you are overloading the Blue Iris server. Check its CPU usage when you attempt this. If it goes near 100%, it is too high.

I assume you configured each instance to hide the cameras being shown on the other instance, so there aren't any duplicates, right?
 
  • Like
Reactions: timmmay
cpu usage on the server is at around 35% only when the app crashes
i think i just assumed before that running 2 instances of your app caused the crash. i tried it again and checked the error log and here's what it says;

2014/10/30 07:51:25 An exception has occurred in class org.brian.blueirisviewer.util.Utilities:
No buffer space available (maximum connections reached?): connect
Additional Info:
URL: http://192.168.1.5:8181/image/porch?w=1920
java.net.SocketException: No buffer space available (maximum connections reached?): connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at org.brian.blueirisviewer.util.Utilities.getViaHttpConnection(Utilities.java:152)
at org.brian.blueirisviewer.util.Utilities.getViaHttpConnection(Utilities.java:59)
at org.brian.blueirisviewer.images.Images$1$1.run(Images.java:228)
at java.lang.Thread.run(Unknown Source)

it says that for every single cam and repeats it over and over making the log file huge.
 
Check your CPU usage on the system running the java app. Watch memory usage, and see if it creeps upward. Also, try with instant replay disabled in the settings.
 
Check your CPU usage on the system running the java app. Watch memory usage, and see if it creeps upward. Also, try with instant replay disabled in the settings.

cpu and ram usage looks fine on both my server (win2008r2) and desktop (win7x64), both stays steady even when the app starts creating error file and logging errors. my cpu/ram usage is at 40% and less than 4gb on the server, and 20% and less than 4gb on the desktop. i haven't tried using instant replay yet.

another thing i noticed is that as soon as the app starts logging errors, my internet connection craps out on my desktop. i can't browse any websites at all until i do a restart of my desktop. is java crashing? i don't know if it's something in my setup that's causing it?
 
I have done a little google searching, and this Hotfix from Microsoft may help: https://support.microsoft.com/kb/2577795

Some more things, slightly unrelated, but important:

1. This will use a ton of bandwidth, and may not work well on WiFi.
2. You are probably already doing this but you should have two separate copies of the java app, in separate folders, so that they have separate configuration files and separate instant replay image caches.
3. You shouldn't run it from an SSD if you want to use Instant Replay because Instant Replay has it constantly writing a lot to the disk and this can really shorten the life of an SSD if used for long periods of time (i.e. months).
 
the ms hotfix didn't fix the problem. i also tried editing the registry and adding maxUserPorts and TcpTimedWaitDelay and it also didn't help. so i've narrowed down the problem to the java runtime environment. i had java 8 installed before and the videos were smooth but then the app crashes either shortly or after a while. i then unistalled java 8 and reverted back to java 7. the app didn't crash this time and no error log file except for the video problem which is very choppy. the video streams somehow is skipping by 3 to 5 seconds. any ideas?
 
i found out that the video streams skips on java 7 when i have BI console window open thru rdp on the same machine. as soon as i minimize BI console, the viewer app streams normally. but then when it streams normal, whether i'm using java 7 or java 8, the app crashes. so, back to square one:(.

testing the app on my laptop and its been running for about an hour and hasn't crashed yet. i guess something in my desktop is the culprit.
 
Last edited by a moderator: