使用PHP自动更改摄像机位置

时间:2014-07-12 19:37:58

标签: php camera ip cgi

我正在为我的网站制作一个应用程序供访问者查看相机。 我拥有一台可以使用网址操作的PT(云台)摄像机。 我希望我的相机在前面的时间(例如每5秒一个不同的位置)随机移动,并在后台,所以我将移动没有任何操作员,但我似乎无法弄清楚如何让它自动移动。 制造商使用CGI命令,如:

  

MYIP:MyPort上/ decoder_control.cgi命令= 39&安培;用户=用户安培; PWD =密码

(此代码使其转到预设1) 如何使用serverside php使用此命令移动相机,使其在5秒后移动?

2 个答案:

答案 0 :(得分:0)

从PHP运行CGI脚本 您可以从PHP执行HTTP请求,该请求将加载与命令对应的URL,从而导致摄像机更改位置。实现这一目标的一些方法:

如果您只需要执行GET请求,并且响应为空(例如,您只需要检查+200 OK代码)或包含一些非常简单的数据(例如字符串),那么{{1}绰绰有余。
如果您没有关于HTTP请求如何工作的任何背景知识,Wikipedia可能是一个很好的介绍;特别是如果以后你有更复杂的CGI命令发送到你的PT Cam。

让相机每5秒移动一次 这是一个完全不同的问题。这里的问题是run PHP code periodically and automatically

  • 您可以使用 Cron作业Croncrontab)安排要执行的PHP脚本,this questions向您解释如何执行。 Cron's minimal time resolution is one minute;每隔5秒移动一次摄像机并不像安排工作,听起来更像是应该由系统服务处理。
  • 你能做什么,从用户用来观看的PHP脚本中移动相机:将最后更新时间存储在文件/数据库中,如果经过的时间大于5秒,则运行CGI脚本。
    这样可以保持相机静止,除非有人正在观看。可能会出现其他问题,例如,如果许多用户访问同一页面并且您的服务器同时提供请求,该怎么办?您可能会将几个连续的命令发送到摄像机。此外,当用户正在观看,停留在您的PHP页面上时,您必须再次找到一种每5分钟移动相机的方法。

可能的解决方案

  1. 创建一个PHP脚本,加载后,只有在自上次调用后至少已经过了5s时才运行CGI命令(通过存储上次调用的时间)。
  2. 为您的用户创建一个客户端页面,通过JavaScript,每5秒加载一次PHP脚本。查找JavaScript GET request,您会找到足够的信息来填充书籍。
  3. 同样,这会在您的网络服务器上产生大量流量,仅用于那5秒的平移。我的建议是,移动应该由一些服务器端程序处理,而不是脚本。

答案 1 :(得分:0)

我刚刚在Foscam论坛上找到了一个为我工作的脚本。它使用Javascript移动到预设。 http://foscam.us/forum/free-mjpeg-goto-different-presets-loop-interface-t3403.html