3

我有一个视频流服务器,它为实时视频流提供 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 视频流的播放器。

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

4

1 回答 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-server 作为 ffmpeg 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 似乎更像是一个独立的客户端
于 2014-03-09T18:53:28.090 回答