Convert RTSP to ActionTiles Compatible Stream (MJPEG, HTML5?)

Hey guys, I’ve got a set of Foscam wireless IP cameras that spit out an RTSP live stream link. I’d like to use these for ActionTiles but it seems they won’t be supporting RTSP any time soon. Has anyone experimented with forwarding the stream to MJPEG or a similar format that might allow me to view it on ActionTiles? I would like to use a Raspberry Pi to do the conversion as I only need it to work in house. Any ideas?

2 Likes

Thanks for starting this Topic, Chris,

I have been Googling a lot over the past couple of weeks on this Topic; not in any particular organized way, but in order to build a mass of bookmarks to trim down to the best examples that are the most up-to-date and relevant.

I have found a couple “simple” examples of RTSP transcoding and/or wrapping or whatever the appropropriate terminology and possibly applicable technique(s) are. I also have found that Fully has built-in support for RTSP streaming (and tested a very simple example), but do not know at all (yet) whether or how this may embed into a Panel. The Fully developer is quite a supportive guy (another Alexy, believe it or not!), so we have confidence he will be able to assist us as well.

Let’s see if this Topic gives some good leads, but I promise to keep you posted once I get my research organized.

A few current hypotheses?

  • Fully (though Android only) is very enticing, because it can handle RTSP directly; but let’s not jinx it by jumping to conclusions.

  • Similarly, browser plug-ins may be a solution (there is/was a VLC plug-in for Chrome…?). The main complication is that, with Flash no longer available on mobile, and Java browser plug-in being insecure, I don’t think this is a simple path. Used to not be a big deal, right? But then along came HTML5 and videos were no longer supposed to require plug-ins for compliant browsers. YouTube just “works” (even though they still recommend their App).

  • VLC will convert streams on the fly, and with the right parameters (there are lots of options) and a reasonably powerful server, might work just fine … though the number of cameras will be limited by the power of the server. I would not be too optimistic about a Raspberry Pi; but heck, why not? This will depend on the type of conversion necessary: If it is just “wrapping or de-wrapping” that’s a big difference from decompressing!

  • Blue Iris (and some other commercial software) can also do transcoding, but the additional cost and complexity may not be necessary, or may end up being the perfect fit for certain scenarios.

  • There are also cloud based transcoding services. I found what sounded like a good one several months ago, but can’t find it anymore. Maybe I have it buried in a bookmark. Lots of convenience - not having to run own server - though the extra latency, cost and data security issues cannot be underestimated.

1 Like

Any updates on the status of this? Obviously direct integration would be the best option as it eliminates the need for any other software or hardware so my vote goes to that. If that’s not looking feasible, what’s going to provide the most stability and reliability?

We’re open to inspiration, but currently flustered that cameras are not providing feeds that are compatible with HTML5 playback standards implemented in contemporary browsers.

In the meantime, video remains only a sub-feature of ActionTiles.

Have you checked out the generic video device created by one of the community members? I can stream to ST with a local RTSP link. It’s called Generic Video Camera Connect. Is there a way to integrate something like this instead?

It’s not the same thing. The RTSP is working within the ST app where ActionTiles is running on a web browser and so far I haven’t seen one with RTSP yet.

1 Like

Yup; we wish that browsers would support RTSP natively and/or cameras would use browser compatible streams (HTML5, etc.) instead

and wish that SmartThings would provide browser access to your cameras that are connected to their cloud, …

Long wish list.

Transcoding via local hardware (VLC, Blue Iris) or a cloud service, currently is the only viable solution.

Currently I’m using http://www.kerberos.io

I’m running two instances each in a docker container. They do have a raspberry pi setup but it only supports one camera by default, but there are instructions on how to setup multiple IP cameras. Very simple solution for accessing an RTSP camera stream and presenting to a browser.

1 Like

Just to add to the discussion (rather late, I’ll admit), there is also Shinobi (https://shinobi.video) that is a nodeJS app that will also decode RTSP streams to MJPEG streams for consumption. I’m currently using it to grab snapshots every second for my webCoRE dashboard.

Shinobi also supports embedding streams into simple http calls (https://shinobi.video/docs/api).

2 Likes

@Core_Phx Can you explain how you used shinobi? It doesn’t look like it is a Windows application, so is this running a pi?

1 Like

Yup. I have it running on a full Linux server, but you can run it on a Pi as well.

There is a way to do it on Windows, but it’s messy and prone to issues.

I’m using TinyCam PRO on a cheap Android TV box to convert IP cam streams from our GWSecurity cameras to use with ActionTiles (total cost was under $30 incl TinyCam pro license)

Its an older box with 1 GB memory, but can handle 6 3Mb camera streams with ease when wired in

1 Like

May I ask which box?

I keep thinking this is the ideal configuration, but I also feared getting an “underpowered” TV box!

I have a KM8P with1 GB ram and 8 gb memory.

The newer ones have double that and a gig lan port which could easily double the number of supported cameras.

Only wish that there was an easy way in action tiles to show a static gif that refreshes every few seconds and then switches to live video when you clicked on the tile or on a camera alert to conserve processes on the display units.

1 Like

That’s a great idea, and I’m pretty sure we have an open Feature Request for this exact function, somewhere on ActionTiles Forum / AT Support & Ideas

I’ll tag @625alex here as a convenient tickle, and in case y’all want to clarify inline.

2 Likes

Hmph… That particular model seems to be no longer available on Amazon … but it sure seemed inexpensive!

What what you recommend as the minimum increment (or even just a little more than incremental)? I’m not only asking for myself (I have 3 Wyze Cams…), but I would like to feel confident in a recommendation for our Customers - i.e., the most affordable box that gets the job done.

How many cameras are you running? I’m not sure you mentioned… (Thanks!).

I have 12 3 Mp cameras and 1 v2 Wyze cam. I stopped adding cameras after 6 IP cams and 1 Wyze cam (7 total) at full resolution as the resources went over 50% and the unit started getting hot to touch. At one point I had added all 13 cameras, but the unit would hang every few hours.

I would recommend getting any unit that has at least 16 gb memory, 2/4gb ram and gig Ethernet (like to plug devices in where possible) that you can find on sale in your Budget. Lots of options on Amazon and eBay in $30-50 price range.

Something like this would work
T9 Android 8.1 TV Box 4GB DDR3 RAM 32GB ROM RK3328 Bluetooth 4.1 Quad-Core Cortex-A53 64 Bits Support 2.4GHz WiFi 4K 3D Ultra HD HDMI H.265 https://www.amazon.com/dp/B07GPCJSRR/ref=cm_sw_r_cp_api_i_HpfsCbX8MCSF7

1 Like

Thanks… I’m definitely hoping to find an additional alternative option under $30 - Customers buying $20 Wyze Cams are inherently very… thrifty. :slight_smile:

Hopefully Wyze team can offer a cheap “compatible” box using their China contacts or enable RTSP some day :wink:

1 Like

Wyze’s business strategy is a mystery. Local NVR hardware / software would certainly expand their market (and they’ve just launched a storage device…), but do they really want to move away from the Cloud which has recurring revenue opportunities?

We’ll see.