所以总体来说,我对 Apache 服务器和 LAMP 堆栈还很陌生。
我正在开发一个家庭网站,它将使用 MySQL 服务器显示房间温度和一些其他功能。
我家门口有一台带 USB 摄像头的 Raspberry Pi,我想将其传输到我的 Apache 服务器,以便在我的网站上显示摄像头的实时画面。这台电脑运行的是 Ubuntu 16.04.5。
答案1
1. 在树莓派上安装 mjpg-streamer
安装 git:sudo apt-get install git
克隆 mjpg-streamer-experimental:git clone https://github.com/jacksonliam/mjpg-streamer/tree/master/mjpg-streamer-experimental
- 在我的 Raspberry Pi 上,实验版本比常规版本运行得更好,这就是我推荐使用它的原因。
编译它:cd mjpg-streamer-experimental && ./config && make
创建一个脚本,每次启动时自动启动流式传输:nano onboot.sh
#!/bin/bash
cd /home/pi/mjpg-streamer-experimental
./mjpg_streamer -i "input_uvc.so -d /dev/video0 -t pal -r 720x576" -o "output_http.so -w ./www -p 8740"
替换video0
为您的视频接口,pal
如果ntsc
您的相机使用ntsc
,则替换720x576
为您的相机分辨率。然后按CTRL+O保存文件。
您现在可以运行bash ./onboot.sh
来测试流媒体是否有效。
我们现在将使用cron
(应该预先安装)使该脚本每次启动时运行:
运行crontab -e
编辑当前用户的 crontab,并将以下行附加到其中:
@reboot bash /path/to/mjpg-streamer-experimental/onboot.sh
再次CTRL+O保存文件并应用它。
2. 在你的 Apache Web 服务器上
现在这很简单。您可以使用http://<your-raspberry-pi-IP>:8740
网络中的任何机器访问 mjpg-streamer 的界面。为了将直播视频嵌入到您的网站,只需将以下代码放在您希望流式传输的网站上:
<img src="http://<raspberry-pi-IP>:8740/?action=stream" />