We're working with Axis brand cameras and media encoders (1 camera, 1 encoder) that are outputting MJPEG format video to our web server. We then need to show these streams on a website. Clients will be able to connect to the server, but not be able to access the cameras directly due to network restrictions we can't work around.

What we need is a piece of software that will take those MJPEG streams and re-stream them in a format that we can just use a flash player (like jwplayer or flowplayer) to stream live on a website.

We thought we had something working with a cheap piece of software called WebcamXP. It did what we wanted it to and displayed through a Flash object on the website fine. What we didn't realize until our own firewall blocked us was that the Flash object was simply fetching JPEGs constantly and pouring out far too many GET requests. We then found the pro version actually does stream in flv format, but that doesn't seem to stream truly live. It buffers and then plays the buffer, which is unacceptable for us.

The image MUST be live. If there's a second or two delay, we can deal with that, but with the buffering the delay could increase into minutes and that is completely unacceptable.

Does anyone have any experience with this kind of problem? What kind of software should we be using to re-stream the MJPEG video?


We wrote our own mjpeg re-streamer in php that takes snapshots regularly for those who don't want to stream, and can also be used for faux streaming in ie with some javascript assistance... check it out at http://taylorssurf.co.nz

This allows you to host as many clients as your server can handle rather than as many as your camera can handle. Also saves on bandwidth from your camera to users, and allows you to add in overlays onto your video. Another option if you have ffmpeg on your server - ffmpeg can read an mjpeg input and then output as whatever format you need realtime... the trick is keeping it running - although if you use something like proc_open or you use the pid to check if the process is still running you can monitor this...

Your final option would be to use something like splitcam to turn the video into another video input stream on your windows(?) computer, and then using flash media live encoder or similar to broadcast that video stream through red5 or wowza or flash media server at whatever rates your require. This should not have much delay either. I'm sure with a bit of tinkering you've probably worked these options out and solved your original problem, but others might be interested...


Your Axis camera should also support a RTSP stream as well; if it does, you could use Wowza.

Check this link: Wowza - Re-Stream RTSP Camera

  • I tried Wowza, but the Axis camera (212 PTZ) only supports seems to ouput MJPEG and MPEG 4 Part-2, whereas Wowza doesn't support MPEG 4 Part-2 as far as I could tell. – death_au Jul 22 '11 at 1:52
  • At the moment, this post is essentially only a link. To make sure the answer remains useful even if the link breaks, please edit it to include the relevant information. (Your answer was discovered in an effort to repair or remove old link-only answers.) – Ben N Jan 10 '16 at 4:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.