Проигрыватель потокового видео в реальном времени для потокового сервера HTTP

У меня есть сервер потокового видео, который предоставляет 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. Я знаю, что существующие флэш-видеоплееры обычно поддерживают RTMP или RTSP, но я никогда не слышал о плеере, поддерживающем потоковую передачу видео по протоколу HTTP.

Вы знаете какой-нибудь веб-видеоплеер, который может это сделать?


person Célio    schedule 24.01.2013    source источник
comment
Если ваш дистрибутив не возражает против установки плагина, вы можете установить плагин vlc для Chrome или Firefox.   -  person Rubber Duck    schedule 17.02.2015


Ответы (1)


на стороне клиента это могут делать 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)
  • ffmpeg-server на ubuntu, если он установлен с помощью apt-get install, скорее всего, устарел и содержит ошибки
  • Cambozola больше похож на отдельного клиента
person Wolfgang Fahl    schedule 09.03.2014