使用PHP从服务器连接的网络摄像头中拍摄静态照片


Take still photographs from a server-attached webcam, using PHP

我有一个通过USB连接到网络服务器的网络摄像头(Logitech webcam Pro 9000),我需要定期拍摄静态照片(严格来说是服务器端的,不需要视频,也不需要Javascript)。到目前为止,这是由一款名为WebcamXP的应用程序完成的,但它有点不稳定,有很多局限性,而且完全不灵活。

相反,我可以使用PHP和一些轻量级的扩展/插件来完成捕捉剧照的繁琐工作吗?

扩展Parahat的信息。不,严格使用PHP是没有办法做到这一点的。但至少在大多数linux版本中,应该有一种方法可以做到这一点

看看这里可以实现这一功能的终端程序的答案,安装一个适用于你的网络摄像头的程序(对于ubuntu来说,这很合适)(由于类似的标准,大多数程序应该适用于大多数网络摄像头),然后执行终端命令从摄像头中获取静止图像。

希望这能让你走上正轨。

我找到了!!!使用一个非常小和方便的软件,称为"VLC"。在我的情况下,CLI字符串是

C:'Program Files (x86)'VideoLAN'VLC>vlc --dshow-vdev="Logitech Webcam Pro 9000"
"dshow://" :dshow-size="320x240" --run-time=1 --scene-ratio=24 
--scene-path=C:'TestSite --scene-format=jpeg --scene-prefix=snap 
--no-audio --video-filter=scene
-V dummy --intf=dummy --dummy-quiet

另请参阅http://forum.videolan.org/viewtopic.php?f=2&t=63313了解更多详细信息。

。。对于那些喜欢"全方位服务"的人来说,这里有一个结构良好的PHP代码:

<?
$CaptureString='"C:'Program Files (x86)'VideoLan'VLC'vlc.exe"'.
' --dshow-vdev="Logitech Webcam Pro 9000" '.
'"dshow://" '.
':dshow-size="320x240" '.
'--run-time=1 '.
'--scene-ratio=24 '.
'--scene-path=C:'TestSite '.
'--scene-format=jpeg '.
'--scene-prefix=snap '.
'--no-audio '.
'--video-filter=scene '.
'-V dummy '. '--intf=dummy '.
'--dummy-quiet '.
'vlc://quit';
$last = exec($CaptureString, $output, $returnvar);
?>