我有一个限制为20个并发连接的axiscam。 我想在我的网站上嵌入MJPG流。到目前为止,我得到了以下PHP脚本:
header('content-type: multipart/x-mixed-replace; boundary=--myboundary');
while (@ob_end_clean());
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://WEBCAM/axis-cgi/mjpg/video.cgi?resolution=320x240');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY | CURLAUTH_ANYSAFE );
$im = curl_exec($ch);
echo $im;
curl_close($ch);
?>
和相应的HTML:
<script type="text/javascript">
$(function() {
var timeout = 2000;
var refreshInterval = setInterval(function() {
var random = Math.floor(Math.random() * Math.pow(2, 31));
$('img#camera').attr('src', '/webcam/webcam.php?r=' + random); //send a random var to avoid cache
}, timeout);
})
</script>
</head>
<body>
<img height="240" width="320" id="camera" src="">
</body>
</html>
我认为我总体上对curl缺乏了解,但我的猜测是,一旦页面被请求,运行curl的web服务器就会向网络摄像头发出请求。如果我在多台计算机上的多个浏览器中打开我的HTML,我会超时。所以我的目标是我只有一个连接打开网络摄像头,然后从我的网络服务器获取图像。 现在的问题是,不知怎的,我仍然超过了这个解决方案的最大连接数。
答案 0 :(得分:0)
我认为你应该创建一个php脚本来访问服务器上的摄像头和保存/覆盖文件,稍后创建cron job,让我们说每5秒访问一次这个脚本。 当你这样做时,使用这个保存的文件在服务器上显示它,因为你的脚本目前只是为每个用户创建一个新的摄像机连接。