3
votes

I have a video streaming server that provides an HTTP API for live video streams. A stream is sent as multipart/x-mixed-replace so each video frame is delimited with a certain boundary string like --DigifortBoundary for instance. Also each frame comes with its own Content-Type header which, according to this particular streaming server's documentation, can be one of these:

  • image/jpeg
  • image/wavelet
  • video/mpeg
  • video/h263
  • video/h264

Example of a stream:

--DigifortBoundary
Content-Type: image/jpeg
Content-Length: 35463

JPEG_DATA
JPEG_DATA
..
..
..
JPEG_DATA
--DigifortBoundary
Content-Type: image/jpeg
Content-Length: 34236

JPEG_DATA
JPEG_DATA
..
..
.. JPEG_DATA

The problem is, I need to embed a video player in an HTML page but I could not find any player that supports the multipart/x-mixed-replace content type or even streaming via HTTP. I know the flash video players out there usually support RTMP or RTSP, but I've never heard of a player that supports HTTP video streaming.

Do you know any web video player that can do it?

1
If you your distribution doesn't mind installing a plugin you can install the vlc plugin for chrome or firefox.Rubber Duck

1 Answers

0
votes

on the client side VLC and Firefox can doit - probably lots more. On the server side: http://en.wikipedia.org/wiki/Motion_JPEG#M-JPEG_over_HTTP mentions three:

  1. MJPG-Streamer: http://sourceforge.net/projects/mjpg-streamer/
  2. ffmpeg-server as part of ffmpeg http://www.ffmpeg.org/
  3. cambozola http://www.charliemouse.com:8080/code/cambozola/

This is what I personally found out:

  • MJPG-Streamer will only compile on linux flavors (does not compile e.g. on MacOS X)
  • ffmpeg-server on ubuntu if installed with apt-get install is likely outdated and buggy
  • Cambozola seems to be more like a standalone client