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

Streaming 显示MJPEG流的跨浏览器解决方案,streaming,mjpeg,ip-camera,multiple-browsers,Streaming,Mjpeg,Ip Camera,Multiple Browsers,是否有一种轻量级、免费且可靠的方式在跨浏览器环境中显示MJPEG?我试图在我正在开发的网站上显示来自IP摄像头的MJPEG流,我发现这在当前版本的Firefox中非常可靠。然而,经过一些测试,我发现IE、Opera和Chrome在这方面都有不同程度的问题(没有Mac访问权限,所以我不确定Safari)。Internet Explorer不支持MJPEG,根本不工作。Opera在发送初始GET后需要10-15秒才能显示任何内容。Chrome在包含 我曾经考虑过使用a来收集MJPEG流并对其进行动

是否有一种轻量级、免费且可靠的方式在跨浏览器环境中显示MJPEG?我试图在我正在开发的网站上显示来自IP摄像头的MJPEG流,我发现这在当前版本的Firefox中非常可靠。然而,经过一些测试,我发现IE、Opera和Chrome在这方面都有不同程度的问题(没有Mac访问权限,所以我不确定Safari)。Internet Explorer不支持MJPEG,根本不工作。Opera在发送初始GET后需要10-15秒才能显示任何内容。Chrome在包含


我曾经考虑过使用a来收集MJPEG流并对其进行动态转码,但是这个解决方案看起来太难看了。还有更好的建议吗?

这里有一个基于Java小程序的解决方案,可用于任何浏览器(或不支持MJPEG的浏览器):

至于MJPEG的其他bug,我发现在尝试删除“img”标记之前,应该将“img”标记的“src”属性设置为MJPEG之外的其他属性。例如:

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


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

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

基本上,它是一个node.js代理,解析m-jpeg边界并在定义的时间间隔内交付图像


用叉子叉一下

谢谢特迪。我还注意到Firefox在不应该下载流的时候下载了流。你的建议很有效。我知道这个答案很古老,但我想问一下,希望你还在这里逗留。将src设置为
#
会停止mjpeg流,而不进行硬刷新?@moeiscool它早在2011年就开始工作了。您可能需要仔细检查web inspector的“网络”选项卡,以确保一切按预期进行。Pretty straigtforward解决方案,不需要任何额外的服务器(如Node.js):它“包装”ffmpeg,然后只需在浏览器中打开(默认情况下)您的localhost:9000即可。对我来说很有魅力。
<img src="#" />