Can't Display Video URL in Groov

I have a Groov which is displaying a video URL. The URL is actually a .jpg that updates every minute from a wireless camera. The weird thing is it works on some computers but not on others. Same URL. The Groov and the camera are on the same subnet but the connection to the Groov is from the Internet through a router which is port forwarding. Is there a port I need to open to display this URL to my remote computers? I have all the standard Groov ports open (443, 10000). Tried opening up port 80 but didn’t fix the problem. Do I have to open up an inbound port on the firewall for anyone connecting to the Video URL? That would be ugly as many of the devices that connect to the Groov are tablets and phones. I tried it using the Groov app on my phone and it doesn’t work there either.

My camera is a VivoTek IB8360.

Thanks,

Dave

If I’m reading this right, your camera is behind the same firewall as your groov, right? That’s what the Proxy option is for: if you turn that on in Build mode for your Video gadget, groov will download the images and serve them back up to your browser clients so you don’t need to worry about the firewall being in the way.

Still doesn’t work. Here’s a quick and dirty network diagram. Don’t pay attention the directional arrows. I just wanted to show connectivity. However, it doesn’t explain why it works on some PCs and not others.

I’m sure you have… But… Have you looked at the groov users guide for the section on the camera gadget?
It does a great job of explaining it.

Also, some guy wrote a blog on the groov camera gadget, you might find it helpful as well;

Yup. Always do my due diligence before I post. :slight_smile: Hadn’t read the blog though. Thanks for that.

All of this begs the question, however; Why does it work on some PCs and not others? My gut tells me it may have something to do with the wireless access point and that we’re accessing it remotely. Lot’s of points of failure there.

I’ll keep you posted.

Quick reply off the top of my head, if it works in some browsers and not others, is there something about those browsers or the image?
Can you test just the image in known working and known not working?
In other words, eliminate groov or the network from the equation?

You said that you opened port 80 to the camera, if you hit just the jpg URL (Not the camera interface, but the actual image url) with those range of browsers, what do you find?

Here’s the latest on my camera. We had it behind a second wireless router which we have removed. We put in a Ubiquiti Wireless Access Point on the local LAN and pointed the camera it it. We can now see the video in Groov as long as we’re on the local LAN. However, we’re not able to see it when we connect through our router (Cradlepoint IBR350) from the Internet. We have tried with and without Groov as a proxy but it doesn’t work. Not on IE, or Chrome, or on an iPad. Since everyone in the organization accesses this camera over the Internet, it renders it useless for us. I have opened up every port that I can find but nothing works. I would blame the router (and may still) but it’s a full featured router/firewall and we’ve never had any other problems accessing other devices remotely.

Any thoughts before we send this camera back?

We have a Cradlepoint router here at Opto that we use on our trade show stands. We have a camera on that and it works fine (using groov as the proxy).

Let me look and see if I can get some screen shots of the settings etc.

Thanks. Here are mine:


192.168.0.138 is the Groov. 192.168.0.140 is the camera.

Good news and bad news.
The good news is that it is setup just how I expected.
Zero port forwards to the camera. groov is the proxy, and any browser on the internet can see the camera.
opto turbine port forwards

video camera gadget

Of course, the bad news is, why does it not ‘just work’ for you…

I didn’t think I needed the camera ones but I put them in there to see if I could get to it outside of Groov. That doesn’t work either so it’s probably the router. Let me try Cradlepoint support but I’m sure they’ll tell me it’s the camera.

Question; which Cradlepoint modem are you using and what camera?

As always, thanks for the help.

Sorry for the delay, super slammed in here of late…

Ok. I’m sure you have done this, but we need to take a step back.
If groov is working from the internet, then the camera (in proxy mode) should work as far as the video gadget is concerned.
When in proxy mode, groov simply polls the camera URL, grabs the image and stores it in its local data base.
When the client browser hits the groov page, all the elements get loaded from the db.
The router can not pick and chose which elements of the groov page it will let past and which ones it wont.
ALL the elements are on the groov URL and port number.

Ok, that said, here is how I would approach it.

Get the magic camera URL. This is often the hardest thing. It must be a single .jpg (generally) image.
It must work inside the network on at least Chrome and Firefox.
Each time you hit refresh on the browser, it should update the image in a flash.
It should not be a streaming video, just a single image.

Here are some URL’s that I found while looking for the ‘magic’ URL for your VivoTek IB8360;
camIP/cgi-bin/viewer/video.jpg
camIP/cgi-bin/viewer/video.jpg?resolution=640x480
camIP/video.mjpg

(For all these, you may need to add the port number if it is anything other than 80).
If one of these do not return the static single image, then that is the very first place to start.

Once you have that, put it in the groov camera gadget, ensure proxy is set.
Save the page and view it.
Be sure and view it from outside your network. Some ISP’s will not let you loop back in and look at yourself.
I have Teamview setup to my house to test remote pages for this very reason.
You could use a cell phone with wifi turned off, this will force it onto the cell network.

Ok, all that said, to answer your questions;
Cradlepoint AER1600
Foscam FI9805P

We’ve done everything that has been suggested and then some. Here is the magic camera URL that we’re using:

https://192.168.0.140/cgi-bin/viewer/video.jpg

but I’ve tried:
https://192.168.0.140/video.mjpg
https://192.168.0.140/cgi-bin/viewer/video.jpg?resolution=640x480

This URL works as you describe when the PC is on the same subnet (192.168.0.x) but when we access the groov using the WAN IP of the Cradelpoint modem, it doesn’t work even with the Groov box set to act as a proxy. I’ve tried changing to http instead of https, doesn’t matter. Almost everything we do with Groov and PAC is done remotely as this box is in the middle of a 1000 acre vineyard. We don’t have any access problems through the Cradlepoint for the PAC, Groov, or Node-RED.

Bottom line is that it doesn’t work and we’re out of options. We’re going to try a different camera which we’ll test in our lab before we deploy it.

I’ll keep you posted.

Thanks

Have you looked in your groov Box’s logs to see if it’s complaining about the camera URL at all?

Here is what it says using the https URL:

2018-01-17, 18:20:21 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - GroovClientApp.onLogViewMode()
2018-01-17, 18:20:18 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - Client determined browser type: Chrome Chromium
2018-01-17, 18:20:18 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - Project is valid = “true”.
2018-01-17, 18:20:18 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - ClientContentManager created.
2018-01-17, 18:20:18 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - Groov is being loaded in a browser.
2018-01-17, 18:20:18 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - Browser info - Platform = “Win32”.
2018-01-17, 18:20:18 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - Browser info - UserAgent = “Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36”.
2018-01-17, 18:20:07 GMT-08:00 WARN com.opto22.groov.server.ReProxyServlet - Error occurred when connecting to URL null: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Here it is with http
2018-01-17, 18:28:34 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - The browser may have given up on loading an image; trying again.
2018-01-17, 18:28:18 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - The browser may have given up on loading an image; trying again.
2018-01-17, 18:28:04 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - The browser may have given up on loading an image; trying again.
2018-01-17, 18:27:54 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - User ‘admin’ has subscribed to tags for page 'Reservoir '.
2018-01-17, 18:27:54 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - Project.loadPages() - Pages loaded successfully.
2018-01-17, 18:27:54 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - Project.finishLoading() - All requests finished, building pages and calling back.
2018-01-17, 18:27:54 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - User ‘admin’ is opening page 'Reservoir '.
2018-01-17, 18:27:53 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - Project.loadSettings() - Settings loaded successfully.
2018-01-17, 18:27:53 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - Project.loadDevices() - Devices loaded successfully.
2018-01-17, 18:27:53 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - ClientContentManager.imagesLoadedCallback() - Loaded 393 images.
2018-01-17, 18:27:53 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - ClientContentManager.start
2018-01-17, 18:27:53 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - ClientContentManager.stop
2018-01-17, 18:27:53 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - User ‘admin’ is loading View mode.
2018-01-17, 18:27:53 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - PageList.saveAllPages: The following pages have changed, saving them.
2018-01-17, 18:27:52 GMT-08:00 INFO groov.Audit - Project changed event: User 1 from 67.160.201.230:49609 made a UPDATE to PAGE in Chrome
2018-01-17, 18:27:52 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - The browser may have given up on loading an image; trying again.
2018-01-17, 18:27:49 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - The browser may have given up on loading an image; trying again.
2018-01-17, 18:27:34 GMT-08:00 INFO com.allen_sauer.gwt.log.client.Log - The browser may have given up on loading an image; trying again.

What version of groov are you using?

Ok, that’s an easy one: groov’s choking on the SSL certificate on the camera. I assume that it’s self-signed?

Bother, I didn’t notice the HTTP part. Still, it’s promising: groov’s at least finding the camera.

Don’t know anything about the certificate but is that something needed for accessing through the router but not locally? Remember it works on the LAN with a local IP.

Sorry to interject, but since I assume this WAN connection is going over a cellular connection that may have limited bandwidth, is it possible the camera refresh rate is too high? I’m thinking the image never finishes its transfer before the next image is requested. I’m basing this assumption on the “The browser may have given up on loading an image” error message.