是否有一种简单的方法可以使用PHP将非公共IP摄像机流式传输到网站中?
我试图将一个非公共rtsp相机嵌入网站,而没有第三部分软件或插件,并且能够支持所有浏览器和设备,但是我做不到。
我找到了一种可行的解决方法,但它并不优雅。它包括从jpeg url camera acces连续拍摄相机快照,并使用服务器上运行的php脚本复制到文件:
<?php
while (True) {
copy('http://192.168.x.x/snap.jpg?JpegSize=M&JpegCam=1', './webcam/frame.jpg'); // local URL from my camera to obtain jpg snapshot
usleep (150000); // microseconds!!
}
?>
然后,在客户端浏览器上,该服务页面包含javascript函数,该函数负责刷新此快照并产生网络摄像头效果:
<script>
function reloadWebcam() {
var now = new Date();
document.images['webcam'].src = './webcam/frame.jpg?' + now.getTime();
}
</script>
...
<img name="webcam" align="center" width="640" height="480" scrolling="no">
<script>
setInterval('reloadWebcam()', 300); // 300 miliseconds
</script>
因此,它可行,但我正在寻找:
a)简单易懂,但比这更优雅。
b)对此解决方案进行了改进,可以避免服务器上复制的子过程和/或避免客户端浏览器中的javascript刷新。
注意:经过大量时间学习stackoverflow之后,这是我第一个发表的问题。我希望有一天我能够像任何人都曾经帮助过我的人一样帮助自己:)