是否有一种轻量级,免费且可靠的方式在跨浏览器环境中显示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 回答
几个月前我刚刚提出解决方案 . 它是跨平台的,不需要第三方插件,如Flash或Java .
基本上,它是一个node.js代理,它解析m-jpeg边界并以定义的间隔提供图像 .
叉在https://github.com/rodowi/Paparazzo.js
这是一个基于Java applet的解决方案,您可以将其用于任何浏览器(或仅适用于不支持MJPEG的浏览器):http://www.charliemouse.com/code/cambozola/
至于MJPEG的其他错误,我发现你应该在尝试删除'img'标签之前将'img'标签的'src'属性设置为除MJPEG之外的其他属性 . 例:
如果你不这样做,Firefox将继续下载MJPEG流,即使它不应该 .