基于HTTP流媒体服务器的实时视频流播放器

4
我有一个视频流服务器,为实时视频流提供HTTP API。流以multipart/x-mixed-replace格式发送,因此每个视频帧都由特定边界字符串(例如--DigifortBoundary)分隔。此外,每个帧都带有自己的Content-Type头部,根据此特定流媒体服务器的文档,可以是以下之一:
  • image/jpeg
  • image/wavelet
  • video/mpeg
  • video/h263
  • video/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进行流媒体传输的播放器。我知道那里有通常支持RTMPRTSP的Flash视频播放器,但我从未听说过支持HTTP视频流的播放器。
你知道有哪个网络视频播放器可以做到吗?

如果您的发行版不介意安装插件,您可以为Chrome或Firefox安装VLC插件。 - Rubber Duck
1个回答

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的一部分的ffmpeg-server http://www.ffmpeg.org/
  3. cambozola http://www.charliemouse.com:8080/code/cambozola/

这是我个人发现的:

  • MJPG-Streamer只能在Linux系统中编译(无法编译例如MacOS X)
  • 如果使用apt-get install安装在ubuntu上的ffmpeg-server可能已经过时且存在漏洞
  • Cambozola似乎更像一个独立的客户端

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接