要在树莓派上安装和设置MJPG-Streamer,你可以按照以下步骤进行操作。这个工具可以将树莓派摄像头或USB摄像头的流媒体视频通过HTTP协议实时传输,适用于各种应用场景。
一. 准备工作
确保你的树莓派系统已经更新,并且摄像头已正确连接到树莓派。
sudo apt-get update
sudo apt-get upgrade
启用摄像头功能:
sudo raspi-config
在配置工具中,选择“Interfacing Options”,然后选择“Legacy Camera Enable/disable legacy camera support ”。当被问到“Would you like to enable legacy camera support?”时,选择“yes”。然后选择“ok”。完成后重启树莓派。
二. 安装依赖
MJPG-Streamer需要一些依赖库。首先安装它们:
sudo apt-get install build-essential cmake git libjpeg62-turbo-dev
sudo apt-get install imagemagick libv4l-dev
sudo apt-get install libjpeg-dev
三. 下载MJPG-Streamer源代码
从GitHub克隆MJPG-Streamer的代码仓库:
git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
四. 编译MJPG-Streamer
进入克隆下来的文件夹并编译MJPG-Streamer:
make
编译成功后,生成的二进制文件会保存在当前目录的mjpg_streamer
文件夹中。
五. 运行MJPG-Streamer
在编译后,你可以通过以下命令运行MJPG-Streamer:
./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -r 640x480 -f 30" -o "./output_http.so -w ./www"
-d /dev/video0
指定使用的摄像头设备,一般默认USB摄像头是/dev/video0
。-r 640x480
设置分辨率为640x480。-f 30
设置帧率为30fps。-w ./www
指定MJPG-Streamer的Web界面文件路径。
六. 查看视频流
在浏览器中输入树莓派的IP地址和端口8080来查看实时视频流:
http://<你的树莓派IP>:8080
七.设置开机自启动
要让MJPG-Streamer在树莓派启动时自动运行,你可以通过创建一个systemd
服务文件来实现。这种方法比将命令添加到/etc/rc.local
文件中更为稳定和灵活。以下是具体步骤:
1. 创建systemd
服务文件
在树莓派上创建一个名为 mjpg-streamer.service
的服务文件:
sudo nano /etc/systemd/system/mjpg-streamer.service
2. 添加服务文件内容
在打开的编辑器中,添加以下内容:
[Unit]
Description=MJPG-Streamer Service
After=network.target
[Service]
ExecStart=/home/pi/mjpg-streamer/mjpg-streamer-experimental/mjpg_streamer -i "/home/pi/mjpg-streamer/mjpg-streamer-experimental/input_uvc.so -d /dev/video0 -r 640x480 -f 30" -o "/home/pi/mjpg-streamer/mjpg-streamer-experimental/output_http.so -w /home/pi/mjpg-streamer/mjpg-streamer-experimental/www"
WorkingDirectory=/home/pi/mjpg-streamer/mjpg-streamer-experimental/
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
按 Ctrl+X
退出编辑器,然后按 Y
保存更改,最后按 Enter
确认文件名。
请确保ExecStart
行中的路径和参数与您的MJPG-Streamer安装和配置相匹配。如果你的MJPG-Streamer路径不同,请修改相应的路径。
3.启用并启动服务
接下来,启用该服务,使其在系统启动时自动运行:
sudo systemctl start mjpg-streamer
sudo systemctl enable mjpg-streamer
4.检查服务状态
你可以使用以下命令检查MJPG-Streamer服务的状态,以确保它已正确启动:
sudo systemctl status mjpg-streamer
如果服务已正确启动,你应该会看到Active: active (running)
的状态。
当出现上图状态时说明自启动设置成功。
5.重启测试
你可以通过重启树莓派来验证MJPG-Streamer是否会在启动时自动运行:
sudo reboot
重启后,在浏览器中访问http://<你的树莓派IP>:8080
,检查视频流是否正常。