Как воспроизвести mjpeg как видео, а не изображение?

У меня есть поток mjpeg (сгенерированный ffserver), и я использую этот поток как изображение, например так:

<img src='http://localhost:8090/live.mjpg'>

В основном я могу видеть видео в теге img, однако это все еще изображение для браузера — я не получаю никаких элементов управления, таких как остановка/воспроизведение.

Таким образом, мой вопрос, можно ли использовать этот поток через тег video, чтобы получить элементы управления? Я попробовал (в Chrome) и получил пустое окно управления (без видеоконтента).

Мне не нужна древняя кросс-браузерная совместимость, мне нужно использовать видеопоток mjpeg как видео, а не как анимированное изображение.


person astrowalker    schedule 11.05.2018    source источник
comment
Возможный дубликат кроссбраузерного решения для отображения потока MJPEG   -  person dylan-myers    schedule 11.05.2018
comment
@dylmye, спасибо, но даже не близко, другому посту 7 лет, и он борется с совместимостью браузера. Это не моя проблема, моя проблема связана с тегом video, чтобы получить элементы управления (это вышло за рамки связанного вопроса).   -  person astrowalker    schedule 11.05.2018
comment
рад, что смог помочь своим ответом, но с точки зрения дубликатов это ближе? видео mjpeg HTML5 не передается с помощью ‹video›   -  person dylan-myers    schedule 11.05.2018
comment
@dylmye, да, действительно.   -  person astrowalker    schedule 11.05.2018


Ответы (1)


Тег <video> поддерживает только следующие MIME-типы:

  • видео/вебм
  • видео/огг
  • видео/mp4 (только Firefox?)

(источник: MDN)

поэтому вам нужно будет преобразовать mjpg (video/x-motion-jpeg) в один из них. Возможно, вы захотите использовать прокси-сервер.

person dylan-myers    schedule 11.05.2018