基于mjpg-streamer实现树莓派USB摄像头的应用(自用)

mjpg-streamer实现树莓派USB摄像头

  • 换源
  • 摄像头安装
  • mjpg-streamer安装

换源

1.打开sources.list文件
sudo vi /etc/apt/sources.list
注释里面的所有内容(在有效内容面前加“#”),并且输入
deb http://mirrors.aliyun.com/raspbian/raspbian/ bookworm main non-free contrib rpi
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ bookworm main non-free contrib rpi
(CTRL+O 保存) ( ENTER 确认 ) ( CTRL+X 退出 )
2.更新源
sudo apt-get update
sudo apt-get upgrade 第一次执行这条比较花时间,请务必保持网络的稳定连接,和耐心的等待

摄像头安装

对于USB摄像头直接安装就行

mjpg-streamer安装

  1. 首先将 USB 摄像头插入到 Orange Pi 开发板的 USB 接口中

  2. 然后通过 lsmod 命令可以看到内核自动加载了下面的模块
    基于mjpg-streamer实现树莓派USB摄像头的应用(自用)_第1张图片

  3. 通过 v4l2-ctl 命令可以看到 USB 摄像头的设备节点信息为/dev/videox(x有可能是0 1或者2等数字)
    pi@raspberrypi:~ $ sudo apt update
    pi@raspberrypi:~ $ sudo apt install -y v4l-utils
    pi@raspberrypi:~ $ v4l2-ctl --list-devices基于mjpg-streamer实现树莓派USB摄像头的应用(自用)_第2张图片
    注意 v4l2 中的 l 是小写字母 l,不是数字 1*。**
    另外 video 的序号不一定都是 video0,请以实际看到的为准。*****

  4. 使用 mjpg-streamer 测试 USB 摄像头
    a. 下载 mjpg-streamer
    a) Github 的下载地址:
    pi@raspberrypi:~ $ git clone https://github.com/jacksonliam/mjpg-streamer
    b) Gitee 的镜像下载地址为:
    pi@raspberrypi:~ $ git clone https://gitee.com/leeboby/mjpg-streamer
    b. 安装依赖的软件包
    pi@raspberrypi:~ $ sudo apt-get install -y cmake libjpeg8-dev
    注意:libjpeg8-dev的版本会不同
    c. 编译安装 mjpg-streamer
    pi@raspberrypi:~ $ cd mjpg-streamer/mjpg-streamer-experimental
    pi@raspberrypi:~/mjpg-streamer/mjpg-streamer-experimental$ make -j4
    pi@raspberrypi:~/mjpg-streamer/mjpg-streamer-experimental$ sudo make install
    d.使用start.sh脚本进行测试
    在上面的路径下有一个start.sh
    sudo vi start.sh
    将./mjpg_streamer -i “./input_uvc.so” -o “./output_http.so -w ./www"改为
    ./mjpg_streamer -i “./input_uvc.so -d /dev/video0 -u -f 30” -o”./output_http.so -w ./www"
    #注意这里的video0需要根据实际情况修改
    这样就可以通过执行./start.sh运行摄像头了
    然后在和开发板同一局域网的 Ubuntu PC 或者 Windows PC 或者手机的浏览orange Pi器中输入【开发板的 IP地址:8080】就能看到摄像头输出的视频了
    e.使用wget http://192.168.10.10:8080/?action=snapshot -O /tmp/garbage.jpg
    执行这个指令可以将摄像头视频里进行拍照并且存到tmp里

  5. 使用开机自启脚本启动摄像头
    开启摄像头视频脚本开机自启
    1.在家目录/home/orangepi下touch mjpg.sh,在mjpg.sh里面添加
    cd /home/orangepi/mjpg-streamer/mjpg-streamer-experimental
    ./start.sh
    2.改变mjpg.sh的执行权限:chmod +x mjpg.sh
    3.使用/home/orangepi/mjpg.sh指令测试是否可以开启摄像头
    4.可以开启之后,进入这个路径:cd /etc/xdg/autostart ,这个路径就是配置开机启动的位置,开机的时候就会执行当前路径下的所有执行程序,一般都是一些.deskotp结尾的一些文件
    5.使用 ls -al 可以看到全部当前文件夹的所有详细信息,随便找里面一个文件拷贝,比如sudo cp im-launch.desktop mjpg.desktop ,再sudo vi mjpg.desktop
    改为
    [Desktop Entry]
    Name=mjpg
    Exec=/home/pi/mjpg.sh
    Type=Application
    NoDisplay=true
    6.重启sudo reboot
    7.使用ps -aux |grep mjpg,查看/home/orangepi/mjpg.sh 是否启动,可以发现/home/orangepi/mjpg.sh和mjpg_streamer底下的服务都启动了

你可能感兴趣的:(物联网,嵌入式硬件)