用于HTTP流服务器的实时视频流播放器

时间:2013-01-24 13:24:43

标签: browser video-streaming mime multipart-mixed-replace

我有一个视频流服务器,为实时视频流提供HTTP API。流以multipart/x-mixed-replace的形式发送,因此每个视频帧都以某个边界字符串(例如--DigifortBoundary)分隔。此外,每个帧都有自己的Content-Type标头,根据这个特定的流媒体服务器的文档,它可以是以下之一:

  • 图像/ JPEG
  • 图像/小波
  • 视频/ MPEG
  • 视频/ H263
  • 视频/ H264

流的示例:

--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

问题是,我需要在HTML页面中嵌入视频播放器,但我找不到任何支持multipart/x-mixed-replace内容类型或甚至通过HTTP流式传输的播放器。我知道那里的Flash视频播放器通常支持RTMPRTSP,但我从来没有听说过支持HTTP视频流的播放器。

你知道任何能够做到这一点的网络视频播放器吗?

1 个答案:

答案 0 :(得分:0)

客户端上的

VLC和Firefox可以做 - 可能还有更多。 在服务器端: http://en.wikipedia.org/wiki/Motion_JPEG#M-JPEG_over_HTTP提到三:

  1. MJPG-Streamer:http://sourceforge.net/projects/mjpg-streamer/
  2. ffmpeg-server作为ffmpeg http://www.ffmpeg.org/
  3. 的一部分
  4. cambozola http://www.charliemouse.com:8080/code/cambozola/
  5. 这是我个人发现的:

    • MJPG-Streamer只会在linux版本上编译(不能在MacOS X上编译)
    • 如果用apt-get install安装,
    • ffmpeg-server on ubuntu可能已经过时且错误
    • Cambozola似乎更像是一个独立的客户