繁体   English   中英

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

[英]How can I detect whether a browser supports MJPEG?

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

我可以检测对MJPEG支持吗? 我看着Modernizr是徒劳的。

Modernizr目前仅支持以下格式进行检测:ogg,webm和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
  }
}

请务必访问W3C关于canPlayType的信息 看起来mime类型应该是“video / mjpeg”而不是之前指定的“video / mjpg”。

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

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

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

遗憾的是,你需要使用ActiveX控件来支持IE中的mjpg。 请参见如何在网页上嵌入mjpeg文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM