Access IP Camera using RSTP URL

Hi All;
After spend hours trying to find something on the forum regarding this I have to ask you:
Is there any way to see on my dashboard the video stream of my ip camera using RSTP URL?

Sorry the lack of details... I just discovered RSTP protocol right now.
I can tell you I see my cameras with VLC (Firefox send me to a player and VLC works ok) but I would like to see it in my dashboard.

Is that possible with any driver, app and tile?

You can see it on your dashboard. Create a dashboard, then create a tile for it (if you try to incorporate it on a tile with others, the picture will be too small to be of use). For the tile type, leave the device blank and choose the Video Player Template.

I found the RTSP protocol did not work for my camera and the dashboard tile. I did find out that I can use http://(camera's URL)/img/snapshot.cgi?img=vga for the URL with a refresh interval of 1 second. This does not give video as such, but the frequent update is pretty good for viewing the camera's output without overburdening the Hubitat's system. Longer intervals would have even less impact.

You would need to refer to your camera's documentation to see if you can get it to display an image this way. I am using Lowe's Iris cameras which are Sercom cameras under the Iris name.

1 Like

You cannot use RTSP on a dashboard because your browser can't translate it. You also cannot access an RTSP stream on your browser natively. You need an MP4 or MPEG stream in order to view a cam on a dashboard. Some IP cameras will dual-cast with an MP4 stream also but if it doesn't, you will have to have some other software generate an MP4 stream from the RTSP. This can be done quite easily with very lightweight programs like foobar or with full-fledged surveillance camera software like Blue Iris or MotionEye. You can also do this with programs on your phone (or wall mounted tablet) with programs like Tiny Cam.

1 Like

Thank you for the clarification. I have since deleted the tile and recreated it but could not get the same snapshot.cgi image to display. It is flaky at best. VLC does a much better job. However, if you are using an app like Motion (Linux version is what I use) or Zoneminder, you may be able to have video display with an rtsp URL in your web browser. It just isn't in the Hubitat dashboard.

Motion can translate your RTSP steam into an MP4 stream.

From MotionEye (a gui frontend for Motion)

1 Like

Another option to translate RTSP stream into a MJPEG stream is to use Surveillance Station (a package found on Synology Nas devices).
If you already have a Synology NAS, and it's running anyway, this may be a good alternative.

Another long shot:
After investigating this topic extensively, I found that none other than a young @patrick developed something to do this in a competitors package, many years ago. Who knows? Maybe it will come to Hubitat some day!

Where does the screenshot of MotionEye show translation from rtsp to mp4?

That screenshot shows setting up a camera stream from motion. That stream is MPEG, not RTSP.

In theory, http://cameraurl/img/video.mjpeg should work. The browser only shows a blank screen instead of a 404 error. I haven't gotten an image yet, but it may be a browser issue. I don't have time to try more now, but I will later.

Hey guys!!
I was able to do it with VLC using this script:

of course you need to adjust the script to your own RSTP, ip and ports.

In the dashboard use non device and Image as template.

See my dashboard working:

You create the stream with a specific port. Then in a browser you point it to
http://MOTIONIP:PORTNUMBER

That's it.

http://motion-project.github.io/motion_config.html#OptDetail_Stream

1 Like

Aha!
You are leaving 2 ports open to external access!!!
That's a NO-NO!!! (a double NO).
A major security potential breech.

It appears that Hubitat doesn't allow for basic user authentication in an image tile. If i supply the username and password to a steam that requires basic user authentication, it doesn't display the image. However, if I go directly to the stream and enter the user credentials (so they are cookied) then it does display correctly in a dashboard opened in a home screen web app or in Chrome but not in the Hubitat App.

So, given those issues, you might not be able to have user authentication set up if you want to view your streams on a dashboard. And if you want to view them on a cloud dashboard, they would have to be port-forwarded. I would advice finding a solution like TinyCam Pro that does support user authentication to view your cams when away from home.

1 Like

My hub is behind 2 firewalls with NAT and no por forwarding allow so no, no risk on my end :slight_smile:

To see my cameras from the cloud I have an app the camera vendor provide. It has user and password protection so is ok :slight_smile:

You are totally right..... I do that I use an app to see the cameras from outside (internet)

But now this drives me to a question:

  • Is there any way to see from the cloud an IP camera (RSTP stream) on the HE dashboard without compromise security? I saw many of you have dashboards with cameras streams too...

How do you do it?

2 Likes

I use VPN to view my dashboard and blue Iris cams. It took 30 mins with PiVpn and you are set. No more cloud dashboard and port open for camera.

1 Like

That's a way, unfortunately. my ISP do not give me an static IP so every connection is different.

I think on this scenario I can't use VPN.

Is that correct?

There's a free service that allows you to use a static address even if you have a dynamic IP. It's called noip.com. It's totally free and they have a small client you can run on your home PC to update your IP address when it changes. Some routers also include a function to update a dynamic IP service automatically. I know Netgear does (that's what I have). The only thing the service requires you to do is to open and link sent to your email every 21 days to confirm you are still using it. In this case, you can point your VPN client to the static address the noip gives you.

2 Likes

This is a nice service. I think it would even be possible to do the scheduled update to then with a rule: Request Method - No-IP

A rule? I don't think so. How? We don't have access to the IP address let alone to detect a change in the WAN address obtained by the router within Rule Machine. This talks about a client you would have to run on some other system..