Publishing Live Feeds To Website?

Hello, We have customers looking to publish Axis camera feeds to public websites. They are concerned about being compatible with a wide set of browsers and real-time (10 - 15 fps) performance. Currently they would like to publish about 30 cameras, with plan to expand to a couple hundred. Think real-time traffic camera system. They are very specific about the need for complete control of the feeds with the ability to turn them off at any instant, should there be a major event that the public shouldn't be able to view. So far there has been some discussion around Wowza or JW player but it doesn’t' appear that the level of flexibility, compatibility or function will meet their needs when tying Axis to these types of products (at least that is what they have said so far). I'm just looking to the community for suggestions or ideas.

Does anyone have experience in this space or a direction to point us in? Thanks! Chris

Chris, how much volume do they expect? As in, a few simultaneous viewers per cameras or hundred simultaneous per camera?

My understanding, is that, by default, Axis requires an Active X control for embedding on to a webpage. See Axis technical note on embedding cameras.

Alternatively, have you considered their recent streaming assistant release? This might allow you to transcode it to a format that does not require an ActiveX control.

Note, just in case, embedding PTZs control would be much harder.

I don't know about ALL Axis cameras, but all the ones I've used so far work fine with non-ActiveX browsers, either by direct MJPEG push, or H.264 through a plugin (Chrome doesn't say what it's looking for, I expect it uses either Java or Quicktime).

Come to think of it.... I once tried to email someone a still from an Axis camera showing the MJPEG stream on the preview page - it did the ol' Chrome right-click, Copy Image thing, then pasted into a message in Gmail... and was then watching the live video in Gmail.

Considering that, I don't think it would be hard to embed an MJPEG stream in a web page. Not the most efficient use of bandwidth, to be sure, but still...

You could also look into AVHS...

No, AVHS is a bad choice for this application as it will be very expensive to have many cameras in AVHS and is not designed for public viewing. Plus, customization will be difficult, if even possible.

Better to use the streaming assistant and do light web programming for customization, e.g., to turn off cameras when needed, etc.

Aren't you worried the browser won't be able to handle it anymore at a point with so many streams ?

Take a look at HDRelay.

I think the main problem you would have to deal with is bandwidth at the camera site itself. What you want to do isn't cheap though.

Thanks to all for the feedback so far. For further clarity on the situation I believe they would take the approach of setting up a traffic web page that gives public users the ability to click on a link which takes them to a secondary page showing the live camera feed. This could of course be many users at once (The City size in question is only about 100,000 people, but I don't have statistics on simultaneous viewing). They could also have situations where they want to show a cluster of cameras in an area or region, say no more than 5 on a single 'portal' page. If you google "live traffic cameras" you'll see similar examples of the page layout - except in all cases they show only still images uploaded via FTP at a regular frequency, where our customer wants live feeds.

@John - I am inquiring about the expected volume. Also when talking to the Axis technical guys they didn't feel that the streaming assistant is appropriate for this project, however I don't know why as it looks to be a potential fit when paired with a flash media encoder. Finally no PTZ control will be given to the viewing public.

@Brian - Although they have fiber to each camera, I think they are hoping to proxy the live feed to a distribution system so that that the cameras only have to worry about 1:1 instead of a 1:Many connections for the viewing public.

Thank You,


Something tells me your customer is going to end up feeling like this guy...

The Wowza server would be your best bet. However your onsite bandwidth would not support that many connections. So you would use the wowza server to convert the RTSP streams to RTMP and push it first offsite to something like livestream and use their servers to handle the bandwidth that is required. You can also look into Unreal Media server since the wowza becomes quite expensive when you add on your transcoding add ons.

I did something not as complex for Hurricane Sandy here at the beach. I setup a couple wowza servers in Amazon Ec2 and had it pull 6 of my outside cameras up. At the peak of the storm I had well over 15k viewers at one time on just one of my cameras overlooking the bay. Over the ten hour period I had it up during the storm i have just over 750k total viewers who viewed at least 5 mintutes.

For your solution you just need a competent web developer to make a nice dynamic front end for the viewing and get them to make a decent control panel for the wowza server. Done right it would be seemless on desktop and mobile all using the same camera streams.

As far as i've looked I have never found an out of the box solution.

John, nice example!