如何检测浏览器是否支持MJPEG?

时间:2011-12-15 14:30:06

标签: javascript html5 html5-video browser-feature-detection

除IE之外的现代浏览器处理MJPEGMotion JPEG)。 Here是一个例子。

我可以检测MJPEG的支持吗?我徒劳地看了Modernizr

3 个答案:

答案 0 :(得分:4)

Modernizr only supports the following formats for detection right now: ogg, webm and h264.

视频元素有一个名为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
  }
}

确保visit the W3C's information on canPlayType。看起来mime类型应该是“video / mjpeg”,而不是你之前指定的“video / mjpg”。

答案 1 :(得分:3)

我尝试过最明显的方法来检测图像是否可以加载:

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

如果可以加载图片load将触发事件,否则error。在最近的Chrome和IE8中检查了这一点。按预期工作。

答案 2 :(得分:1)

遗憾的是,您需要使用ActiveX控件来支持IE中的mjpg。见How to embed mjpeg file on a webpage