短/ TLDR::我正在寻找一种方法,可以在运行IE6(Windows CE)的客户端的HTTP服务器上显示实时MJPEG流。
背景:我不是程序员,而是行业的电气工程师。之所以提出这样一个奇怪的要求,是因为我们有一台来自RockWell AB的HMI机器,名为PanelView。由于某些出于上帝的原因,该计算机运行Windows CE,该Windows CE运行IE6(于2019年发布)。
我有一个安装了NodeJS的Raspberry Pi,可以从FFMPEG或任何其他视频捕获工具捕获MJPEG流。
如果您不必使用2000年代初的浏览器,这是一个简单的问题。我使用了multipart/x-mixed-replace
解决方案,而IE不支持该解决方案,并且我使用了基于套接字的解决方案:https://github.com/phoboslab/jsmpeg,该解决方案在除IE10及以下版本之外的所有浏览器上都可以正常工作。不幸的是,客户端jsmpeg.min.js
使用WebSocket
和Canvas
,而IE6不支持。{p>
我看过这个解决方案,狗仔队:https://github.com/defvol/Paparazzo.js
我不确定它是否可以工作,并且目前尚无定论,因为客户端需要JQuery
:
demo / demo.html:
<!DOCTYPE html>
<html lang="en">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
// Active camera will refresh every 2 seconds
var TIMEOUT = 2000;
var refreshInterval = setInterval(function() {
var random = Math.floor(Math.random() * Math.pow(2, 31));
$('img#camera').attr('src', 'http://localhost:3000/camera?i=' + Math.random());
}, TIMEOUT);
});
</script>
</head>
<body>
<img src="" id="camera">
</body>
</html>
这些解决方案的基本问题是,我对JavaScript的了解不足,无法对复制/粘贴进行任何更改。我不需要任何人为我做这件事,但是我想知道SO的看法,这是否是一个愚人的差事。
谢谢!