PHP 在网站中显示轴相机的代理
PHP Proxy to display axis camera in website
我有一个最大并发连接数为 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 就会向网络摄像头发出请求。如果我在多台计算机上的多个浏览器中打开 HTML,我会超时。所以我的目标是我只打开一个连接到网络摄像头,然后从我的网络服务器获取图像。
现在的问题是,不知何故我仍然超过了这个解决方案的最大连接数。
我认为你应该创建一个 php 脚本来访问服务器上的相机和 save/overwrite 文件,稍后创建 cron 作业,假设每 5 秒访问一次该脚本。
当你这样做时,使用这个保存的文件在服务器上显示它,因为你的脚本此时只是为每个用户创建到相机的新连接。
我有一个最大并发连接数为 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 就会向网络摄像头发出请求。如果我在多台计算机上的多个浏览器中打开 HTML,我会超时。所以我的目标是我只打开一个连接到网络摄像头,然后从我的网络服务器获取图像。 现在的问题是,不知何故我仍然超过了这个解决方案的最大连接数。
我认为你应该创建一个 php 脚本来访问服务器上的相机和 save/overwrite 文件,稍后创建 cron 作业,假设每 5 秒访问一次该脚本。 当你这样做时,使用这个保存的文件在服务器上显示它,因为你的脚本此时只是为每个用户创建到相机的新连接。