这个坑踩了我一星期,找各种办法都不行,找各路大佬都说是第一次遇到这种问题,写篇东西记录一下,能帮助到后面学习的人那最好了

简单说说我遇到的几个问题吧:

  1. 摄像头识别不到
  2. 国内源不正确
  3. 无法下载mjpg-streamer支持库

文章从烧录的系统到配置到能在网页上使用摄像头全过程记录,我遇到问题部分红字说明:

一、烧录官方系统

android调用第三方摄像头 安卓b4a调用摄像头_树莓派


我是用官方的烧录工具烧录第一个,建议和我一样,因为我试了特别多的系统,都会有一点其他问题,不知道是不是我操作有误,反正最后一次用的是这一个系统

二、烧录完成以后,安装我之前写的一篇树莓派刷机教程走

(51条消息) 树莓派——刷机(耗时两天踩坑版)_八倍体123的博客

三、接下来是换国内可用源

我用的是清华源,其他的之前用过,但是在更新的时候会出现一些问题,具体挺多问题的,有的解决了,有的解决不了,最后一次我用的清华源,很顺滑就成功了

查看系统版本
lsb_release -a


android调用第三方摄像头 安卓b4a调用摄像头_Powered by 金山文档_02


我的是这个,和我一样的话就可以往下,不一样建议根据版本找

编辑 /etc/apt/sources.list 文件
sudo nano /etc/apt/sources.list

用以下内容替代

deb [arch=armhf] http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib rpi 
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib rpi

复制粘贴的时候建议用鼠标

修改完成以后:ctr+o 回车 ctr+x

退出

编辑/etc/apt/sources.list.d/raspi.list文件
sudo nano /etc/apt/sources.list.d/raspi.list

用以下内容替代

deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main
系统更新
sudo apt-get update
更新依赖关系
sudo apt-get upgrade

至此换源完成,这样下面的下载操作就会比较官方自带源更快更方便

四、用mjpg-streamer打开摄像头

树莓派4b相对于3b而言,在下载编译完成以后不需要对启动脚本start.sh进行修改

因为树莓派4b自带uvc驱动,默认是关闭了,可以先把它打开

打开摄像头驱动
sudo raspi-config

选择Interface Options ,再选择Legacy Camera使能,最后重启即可


android调用第三方摄像头 安卓b4a调用摄像头_Powered by 金山文档_03


有dev/video0就代表可以了

这里有个坑是插入摄像头无法识别

vcgencmd get_camera

supported=0 detected=0, libcamera interfaces=0

出现上述情况是因为树莓派的摄像头非常容易受到静电的影响,我们只需要断电重新拔插就好了(前提是使能了树莓派的摄像头驱动),注意一定要断电,不然树莓派有可能烧坏

解决硬件问题以后,下载mjpg-streamer以及相关库
sudo apt-get install libjpeg62-turbo-dev  #JPEG支持库
sudo apt-get install imagemagick
sudo apt-get install libv4l-dev   
sudo apt-get install cmake  #编译工具
sudo apt-get install git #用git下载软件

需要注意的是,现在网上大部分的JPEG支持库是libjpeg8-dev,这个我估计比较新的树莓派系统无法支持,因为我在下载的时候老是出现依赖包的问题

下载编译mjpg-streamer
sudo git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
sudo make
sudo make install
运行启动脚本
sudo chmod +x start.sh 
./start.sh

需要注意一点:运行出现以下页面不用理会,不影响使用


android调用第三方摄像头 安卓b4a调用摄像头_android调用第三方摄像头_04


5.打开
http://192.168.181.159:8080/
中间那串是自己的IP地址


android调用第三方摄像头 安卓b4a调用摄像头_系统版本_05