PHP代理在网站上显示轴摄像头

时间:2015-05-13 12:50:35

标签: php webcam

我有一个限制为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,我会超时。所以我的目标是我只有一个连接打开网络摄像头,然后从我的网络服务器获取图像。 现在的问题是,不知怎的,我仍然超过了这个解决方案的最大连接数。

1 个答案:

答案 0 :(得分:0)

我认为你应该创建一个php脚本来访问服务器上的摄像头和保存/覆盖文件,稍后创建cron job,让我们说每5秒访问一次这个脚本。 当你这样做时,使用这个保存的文件在服务器上显示它,因为你的脚本目前只是为每个用户创建一个新的摄像机连接。