【问题标题】:Take still photographs from a server-attached webcam, using PHP使用 PHP 从连接服务器的网络摄像头拍摄静态照片
【发布时间】:2012-07-14 19:31:36
【问题描述】:

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

我可以改为使用 PHP - 以及一些轻量级的扩展/插件 - 来完成捕获静止图像的这项工作吗?

【问题讨论】:

标签: php png webcam photography


【解决方案1】:

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

查看answer here 以了解可以执行此功能的终端程序,安装一个适用于您的网络摄像头(大多数程序应该适用于大多数网络摄像头,因为类似标准),然后execute the terminal command 从相机中抓取静止图像。

希望这能让你走上正轨。

【讨论】:

  • 谢谢 - 这确实让我走上了正轨。不过,我应该提到我在 Windows 上。您是否知道任何具有此功能并在 Windows 上运行的 CLI 软件?
【解决方案2】:

我找到了!!!使用一个名为“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

【讨论】:

    【解决方案3】:

    ..对于那些喜欢“全方位服务”的人来说,这里是结构良好的 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);
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-14
      • 2017-12-25
      • 1970-01-01
      • 1970-01-01
      • 2020-07-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多