Как я могу определить, поддерживает ли браузер MJPEG? - PullRequest
9 голосов
/ 15 декабря 2011

Современные браузеры, кроме IE, обрабатывают MJPEG ( Motion JPEG ). Здесь - пример скрипки.

Могу ли я обнаружить поддержку MJPEG?Я тщетно просмотрел Модернизр .

Ответы [ 3 ]

4 голосов
/ 19 декабря 2011

Modernizr сейчас поддерживает только следующие форматы для обнаружения: ogg, webm и h264.

Элемент video имеет вызов с именем canPlayType(format), который действительно будет вашим единственным вариантом (если он работает для mjpg). Ваша логика обнаружения будет выглядеть примерно так (не формат будет другим).

var videoElement = document.createElement('video');
if(!!videoElement.canPlayType)
{
  var browserConfidence = videoElement.canPlayType('video/mjpeg; codecs="insert, them"');
  if(browserConfidence == "probably")
  {
    // high confidence
  }
  else if(browserConfidence == "maybe")
  {
    // low confidence
  }
  else
  {
    // no confidence... it definately will not play
  }
}

Убедитесь, что вы посетили W3C информацию о canPlayType . Похоже, что тип mime должен быть "video / mjpeg", а не "video / mjpg", как вы указали ранее.

3 голосов
/ 19 декабря 2011

Я пробовал самый очевидный способ определить, можно ли загрузить изображение или нет:

$output = $('<img id="webcam">')
        .attr('src', src)
        .load(function(){alert('ok')})
        .error(function(){alert('error')});

В случае, если изображение может быть загружено, load событие будет запущено, в противном случае error.Проверено это в последних Chrome и IE8.Работает как положено.

1 голос
/ 22 декабря 2011

К сожалению, для этого вам потребуется использовать элемент управления ActiveX для поддержки mjpg в IE. См. Как встроить файл mjpeg на веб-страницу .

...