avconv网络摄像头图像到标准输出在php中使用

时间:2015-06-24 12:59:06

标签: php webcam avconv

我尝试在debian系统上直接将我的PHP脚本连接到网络摄像头图像。为此,我尝试打开文件处理到/ dev / video0,但这不起作用。使用软件“streamer”我得到一张图像到磁盘,网络摄像头在/ dev / video0

上工作

我不想先将图像保存到磁盘,因为我需要在短时间内刷新它。我的想法是直接将图像输出到标准输出并使用php passthru将输出传递给客户端浏览器:

$header("Content-type: image/jpeg");
passthru('avconv /dev/video0 someparamters for direct output');

我希望avconv可以选择将图像推送到标准输出,但我找不到这样的选项。是否有可能将网络摄像头图像(通过avconv或其他工具)直接在PHP中作为二进制流?

非常感谢! 塞巴斯蒂安

1 个答案:

答案 0 :(得分:0)

无需临时文件即可运行:

<?php
header("content-type: image/jpeg");
echo passthru("avconv -f video4linux2 -i /dev/video0 -vframes 1 -s 1280x1024 pipe:.jpg 2>/dev/null");
?>

(来自https://gist.github.com/megasaturnv/a42ed77d3d08d0d3d91725dbe06a0efe

这也适用于img标记:https://gist.github.com/megasaturnv/6e5965732d4cff91f2e976e7a39efbaa