USB経由でWebサーバーに接続されたWebカメラ(Logitech Webcam Pro 9000)があり、定期的に静止写真を撮る必要があります(厳密にはサーバー側、ビデオは不要、Javascriptは不要です)。今までこれは WebcamXP というアプリで実現されていましたが、これは少し不安定で、多くの制限があり、完全に柔軟性がありません。
代わりに、軽量の拡張機能/プラグインと一緒に PHP を使用して、静止画をキャプチャするというこの雑用を達成できますか?
USB経由でWebサーバーに接続されたWebカメラ(Logitech Webcam Pro 9000)があり、定期的に静止写真を撮る必要があります(厳密にはサーバー側、ビデオは不要、Javascriptは不要です)。今までこれは WebcamXP というアプリで実現されていましたが、これは少し不安定で、多くの制限があり、完全に柔軟性がありません。
代わりに、軽量の拡張機能/プラグインと一緒に PHP を使用して、静止画をキャプチャするというこの雑用を達成できますか?
..そして、「完全なサービス」が好きな人のために、よく構造化された 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);
?>
見つけた!!!「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も参照してください。
Parahat の情報を拡張します。いいえ、PHP で厳密に行う方法はありません。しかし、少なくともほとんどの種類の Linux では、それを行う方法があるはずです。
この機能を実行できる端末プログラムについては、こちらの回答を参照してください。ウェブカメラで機能するもの (apt-get になる ubuntu の場合) をインストールします (標準が似ているため、ほとんどのプログラムはほとんどのウェブカメラで動作するはずです)。次に端末コマンドを実行して、カメラから静止画像を取得します。
それがあなたを正しい軌道に乗せることを願っています。