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


(Chris Schoepp) #1

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?

( co-founder Terry @ActionTiles; GitHub: @cosmicpuppy) #2

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.

(Chris Schoepp) #3

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?

( co-founder Terry @ActionTiles; GitHub: @cosmicpuppy) #4

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.

(Chris Schoepp) #5

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?

(Ray) #6

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.

( co-founder Terry @ActionTiles; GitHub: @cosmicpuppy) #7

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.

(jeubanks) #8

Currently I’m using

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.

(Bill S.) #9

Just to add to the discussion (rather late, I’ll admit), there is also Shinobi ( 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 (