【问题标题】:raspberry pi camera streaming won't start from php树莓派相机流不会从 php 开始
【发布时间】:2015-01-07 18:05:29
【问题描述】:

最近我一直在玩 R-Pi。现在我正在尝试使用 Raspberry pi b+ 和相机进行流式传输。 我有一个基本的 php 网站,我从那里向相机发出命令(开始 - 停止流式传输)。

问题是,当我按下 Start Streaming 时,摄像机的红色 LED 灯会亮一秒钟,然后就熄灭了。 当我选择从命令行(终端)运行流时,它可以工作。

这是我的脚本:

#!/bin/sh raspivid -o - -t 0 -n -w 600 -h 400 -fps 12 | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264

这是我在哪里调用 shell 脚本的 php 文件:

$trimite = shell_exec('sudo sh streaming.sh');

有什么想法吗? 提前致谢!

【问题讨论】:

  • 我看了你的项目。这很好,但我使用的是在 php 中运行的 VLC 播放器和 shell 脚本。我认为这是关于 php 的工作原理,因为当我从 webserver 写入 serial 时,它可以工作。
  • 我认为你不能提升权限。
  • 我确实成功运行了脚本。好像我的脚本有点像:sudo sudo script...

标签: php python linux shell raspberry-pi


【解决方案1】:

听起来可能是由权限错误引起的。运行命令sudo chmod +x streaming.sh

如果这不能解决问题,(假设您有一个运行 apache 的网络服务器)在终端中运行“sudo a2enmod”,然后sudo chmod +x /usr/lib/cgi-bin 然后重新启动 apache(sudo service apache restart)


注意: 如果出现错误“无法写入权限,目录不存在”,您需要在终端中运行命令 'sudo mkdir /usr/lib/cgi-bin/'


创建一个cgi脚本来调用bash脚本:

 #!/bin/bash
echo ""
echo "Content-type: text/html"
echo "<html><head><title>Light on"
echo "</title>"
echo "</head><body>"
echo "$(bash /home/pi/streaming.sh) #this calls the shell script"
echo "</body></html>"

然后您必须将此文件保存为 /usr/lib/cgi-bin/first.cgi 并使用“sudo chmod +x /usr/lib/cgi-bin/first.cgi”为其分配权限假设您的 apache 服务器设置正确(可以找到有关正确启用 cgi 模块的各种指南,如果 a2enmod 无法正常工作),您现在应该能够转到另一台 LAN 机器上的 Web 浏览器并浏览到 http://IPofRPI/cgi-bin/first.cgi

脚本应该执行。恭喜!

如果脚本没有执行,您可以在线阅读有关 CGI 和 apache 模块的信息,看看您的脚本有什么问题。

不久前我也遇到过同样的问题,这个问题可以在这里找到:Here

我希望这对你或其他人有帮助:)

【讨论】:

    猜你喜欢
    • 2018-02-13
    • 2018-08-17
    • 1970-01-01
    • 2023-03-11
    • 2015-08-05
    • 2023-03-30
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    相关资源
    最近更新 更多