云计算百科
云计算领域专业知识百科平台

两个 USB 摄像头(OV4689)接入树莓派 3B+,并通过 WiFi 实时上传到服务器,在网页上查看实时视频流。

项目准备阶段(硬件 + 系统)

📦 一、现在有的设备:

  • ✅ 树莓派 3B+

  • ✅ 两个 OV4689 USB 摄像头模组

  • ✅ MicroSD 卡(建议 32GB、Class 10 以上)

  • ✅ 电源(5V 2.5A 或更大)

  • ✅ 键盘鼠标、显示器、HDMI 线(或 SSH 远程连)

  • ✅ Wi-Fi 网络环境

📦 二、安装树莓派系统(Raspberry Pi OS)

1️⃣ 下载官方工具:

从官网下载 Raspberry Pi Imager(推荐): 👉 https://www.raspberrypi.com/software/

2️⃣ 写入系统到 TF 卡:
  • 启动 Imager

  • 选择系统:Raspberry Pi OS (32-bit)(或 "Lite" 版本,无桌面)

  • 设置 SSH、WiFi(点击小齿轮设置)

  • 写入 MicroSD 卡(格式化后写入)

3️⃣ 启动树莓派
  • 把卡插入树莓派,接好电源

  • 等待启动(首次可能要 1 分钟)

  • 进行树莓派配置,配置方法见参考:

树莓派(Raspberry pi) 使用Pi Imager安装烧录操作系统_raspberry pi imager-CSDN博客

📦 二、安装树莓派系统(Raspberry Pi OS) 

🔧 1. 更新系统

打开终端(黑底窗口)或者按下 Ctrl + Alt + T,输入以下命令:

sudo apt update

sudo apt full-upgrade -y

sudo reboot

⚠️ 重启后系统会更稳定,也能识别更多设备。


🔌 2. 插上 USB 摄像头

  • 把两个 OV4689 USB 摄像头接入树莓派的 USB 接口

  • 然后再次打开终端,输入命令:

ls /dev/video*

应该看到类似:

/dev/video0

/dev/video1


📷 3. 检查摄像头是否被识别(重要)、

v4l2-ctl –list-devices

应该能看到每个摄像头的名字(可能是 HD USB Camera、UVC Camera 等) 如果看到两个摄像头都被列出,说明树莓派成功识别它们!

✅ 第二步:安装 MJPEG-Streamer(视频流服务器)

🧰 1. 安装 MJPEG-Streamer

在终端中输入以下命令:

按照以下步骤操作,手动编译并安装 MJPEG-Streamer。


        1️⃣ 安装编译工具和依赖库

首先,安装编译过程中需要的工具和依赖库:

sudo apt update

sudo apt install build-essential cmake git libjpeg9-dev libv4l-dev


        2️⃣ 下载并编译 MJPEG-Streamer
  • 在树莓派的浏览器中打开 mjpg-streamer GitHub 仓库。

  • 点击页面右上角的绿色按钮 Code,然后选择 Download ZIP。

  • 下载完 ZIP 文件后,在树莓派上使用以下命令解压:

  • unzip mjpg-streamer-master.zip(放在/home/pi)

    cd mjpg-streamer-master

    make

    sudo make install

    sudo apt install screen


            3️⃣ 启动 MJPEG-Streamer

    安装完成后,你就可以开始运行 MJPEG-Streamer 了!使用以下命令启动视频流:

    第一个摄像头(端口 8080):

    screen

    mjpg_streamer -i "/usr/local/lib/mjpg-streamer/input_uvc.so -d /dev/video0 -r 640×480 -f 15" -o "/usr/local/lib/mjpg-streamer/output_http.so -p 8080 -w /usr/local/lib/mjpg-streamer/www"

    然后ctrlA+D

    第二个摄像头(端口 8081):

    screen

    mjpg_streamer -i "/usr/local/lib/mjpg-streamer/input_uvc.so -d /dev/video2 -r 640×480 -f 15" -o "/usr/local/lib/mjpg-streamer/output_http.so -p 8081 -w /usr/local/lib/mjpg-streamer/www"

    然后ctrlA+D

    • 第二个摄像头流会监听端口 8081。


    🖥️ 3. 访问视频流

    • 在浏览器中输入 http://<树莓派的IP地址>:8080,你应该可以看到第一个摄像头的视频流。

    • 输入 http://<树莓派的IP地址>:8081,第二个摄像头的视频流应该也可以打开。

    注:若网页没内容,可能是手动安装时/usr/local/lib/mjpg-streamer里没有www文件,要自己复制一下。

    如果没有权限,使用命令sudo chown -R pi:pi /usr/local/lib/mjpg-streamer


    第三步:创建网页显示两个视频流

    现在,我们将这两个流嵌入到一个网页中:

  • 在树莓派上创建一个 HTML 文件:

  • sudo nano /var/www/html/cameras.html

  • 在文件中粘贴以下内容:

  • <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>双摄像头视频流</title> </head> <body> <h2>摄像头1</h2> <img src="http://localhost:8080/?action=stream" width="640" height="480"> <h2>摄像头2</h2> <img src="http://localhost:8081/?action=stream" width="640" height="480"> </body> </html>

  • 保存并退出 nano 编辑器(按 Ctrl + X,然后 Y,最后按 Enter)。

  • 在浏览器中访问 http://<树莓派的IP地址>/cameras.html,你就能看到两个摄像头的视频流!


  • 🔄 最后步骤:让 MJPEG-Streamer 自动启动

    为了让 MJPEG-Streamer 在每次树莓派开机时自动运行,你可以将启动命令添加到系统启动项。

  • 编辑 rc.local 文件:

  • sudo nano /etc/rc.local

  • 在 exit 0 行的前面添加启动命令:

  • mjpg_streamer -i "input_uvc.so -d /dev/video0 -n -f 10 -r 1280×720" -o "output_http.so -p 8080 -w www" & mjpg_streamer -i "input_uvc.so -d /dev/video2 -n -f 10 -r 1280×720" -o "output_http.so -p 8082 -w www"

  • 保存并退出编辑器。

  • 重启树莓派,确保摄像头流启动正常:


  • 🖥️ 你现在应该能:

    • 通过浏览器实时查看两个摄像头的视频流

    • 配置好系统开机自动启动

     

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 两个 USB 摄像头(OV4689)接入树莓派 3B+,并通过 WiFi 实时上传到服务器,在网页上查看实时视频流。
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!