首页 文章

用于显示MJPEG流的跨浏览器解决方案

提问于
浏览
22

是否有一种轻量级,免费且可靠的方式在跨浏览器环境中显示MJPEG?我正试图在一个网站上显示来自Axis 2120 IP摄像头的MJPEG流,我发现这在当前版本的Firefox中非常可靠 . 但是,经过一些测试后我不确定Safari) . Internet Explorer不支持MJPEG,根本不起作用 . 在发送初始GET之后,Opera需要10-15秒才能显示任何内容 . Chrome完美运行,直到包含 <img> 标记的 <div> 被隐藏,然后再次显示 .

作为参考,我使用 <img> 标签来显示流,如下所示:

<img src="http://my.ip.addr/axis-cgi/mjpg/video.cgi/?resolution=352x240" alt="real-time video feed" />

我已经考虑使用re-broadcasting server来收集MJPEG流并在运行中对其进行转码,但这个解决方案似乎太难看了 . 那里有更好的建议吗?

2 回答

  • 5

    几个月前我刚刚提出解决方案 . 它是跨平台的,不需要第三方插件,如Flash或Java .

    基本上,它是一个node.js代理,它解析m-jpeg边界并以定义的间隔提供图像 .

    叉在https://github.com/rodowi/Paparazzo.js

  • 10

    这是一个基于Java applet的解决方案,您可以将其用于任何浏览器(或仅适用于不支持MJPEG的浏览器):http://www.charliemouse.com/code/cambozola/

    至于MJPEG的其他错误,我发现你应该在尝试删除'img'标签之前将'img'标签的'src'属性设置为除MJPEG之外的其他属性 . 例:

    <img src="#" />
    

    如果你不这样做,Firefox将继续下载MJPEG流,即使它不应该 .

相关问题