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

Nic*_*old 22 streaming multiple-browsers mjpeg ip-camera

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

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

<img src="http://my.ip.addr/axis-cgi/mjpg/video.cgi/?resolution=352x240" alt="real-time video feed" />
Run Code Online (Sandbox Code Playgroud)

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

def*_*vol 11

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

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

https://github.com/rodowi/Paparazzo.js上分享它


Ted*_*ddy 5

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

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

<img src="#" />
Run Code Online (Sandbox Code Playgroud)

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