树莓派4+MJPG-Streamer

  刚买了一个树莓派4,用来做一个局域网内视频监控的功能。关于这个树莓派4,暂时粗略看了一下,硬件设计有较明显的改动:原先的一个HDMI接口改成了两个micro HDMI,显然是为了支持双屏幕(VNCviewer:???)。四个USB2.0接口改成了2个USB2.0和2个USB3.0接口。除此之外有意思的是,电路进行了重新布局布线,将原本位于底部的网络通信芯片移到了正面,这样芯片就可以粘上立体的栅型散热片,还能得到风扇的照顾。
在这里插入图片描述
  截止到今日,目前树莓派4只支持2019年7月10日发布的新系统raspbian-buster,有精简版和全功能版。对于之前任何能与树莓派3兼容的系统,树莓派4一概不支持。由于本人是ubuntu爱好者,我试着烧录了ubuntu 16.04mate与之前的树莓派3b+支持的raspbian,发现系统都无法进行引导。究其原因,是buster为了适应树莓派4对系统的启动文件做了修改,因此之前的系统无法运行。如果为了用ubuntu买树莓派4,建议等待官方发行新版的Ubuntu mate。
  PS:关于观察系统是否正常运行,看指示灯是一个办法,观察绿灯闪烁的情况与时间可以“凭感觉”估摸出来。最好的办法是给它的以太网接口插个网线,连上网(另一端插上路由器的LAN口),观察以太网接口处的两个小绿灯,如果小绿灯时不时会闪烁几下,说明系统已经开始运行。此外,如果拔掉SD卡树莓派的指示灯红灯绿灯一起亮,说明硬件本身没有问题。
  言归正传,MJPG-Streamer是基于linux系统的一个开源方案,其允许以HTTP访问linux系统上挂载的摄像头。准备的工具有:
  树莓派4
  USB接口的摄像头
  供电线
  关于屏幕,显然是个可有可无的东西,当然有了体验会好一点。没有屏幕的话需要在树莓派系统(SD卡)的boot目录下加一个conf文件,手动记录需要连接wifi的SSID等信息;等系统运行后,使用一个同频段网络端口查询的软件,找出制造商为raspberry的端口,记录其ip地址,随后使用SSH方式或者vncviewer远程连接就可以了。
  这里我用windows端的软件putty,使用SSH的方式远程访问树莓派。(不使用VNCviewer是用起来用点卡,传输桌面图像占用带宽)
  首先使用指令更新下现有的软件包:

sudo apt-get update

  随后安装相关的依赖,主要是subversion,一个开源版本控制系统,以及一些关于JPEG的支持库:

sudo apt-get install libjpeg8-dev  #JPEG支持库
sudo apt-get install imagemagick
sudo apt-get install libv4l-dev   
sudo apt-get install cmake  #下载编译工具
sudo apt-get install git #用git下载软件
sudo apt-get install unzip #解压缩的软件

  下载软件:

wget https://github.com/jacksonliam/mjpg-streamer/archive/master.zip

  下载的话最好搁到一个文件夹里,比较规整。下载完毕后使用ls指令会发现目录里多了一个叫master.zip的压缩文件。此外,这里我下的是压缩包版本,因为当我打算直接下软件包的时候,发现链接太慢了。直接下软件包可以用这个指令:git clone https://github.com/jacksonliam/mjpg-streamer.git。
  解压一下:

unzip master.zip

  解压完成之后,就得到软件包了。这里注意,我们需要进入到/mjpg-streamer-experimental这个目录对软件进行编译!因此我把之后的操作和路径变换贴一下:

pi@raspberrypi:~ $ cd mjp*g-*
pi@raspberrypi:~/mjpg-streamer-master $ cd mjpg-*
pi@raspberrypi:~/mjpg-streamer-master/mjpg-streamer-experimental $ make
pi@raspberrypi:~/mjpg-streamer-master/mjpg-streamer-experimentalsudo $ make install 
pi@raspberrypi:~/mjpg-streamer-master/mjpg-streamer-experimental $ cd $home
pi@raspberrypi:~ $ 

  回到根目录后,输入以下指令。

/usr/local/bin/mjpg_streamer -i "/usr/local/lib/mjpg-streamer/input_uvc.so -n -f 30 -r 1280x720" -o "/usr/local/lib/mjpg-streamer/output_http.so -p 8080 -w /usr/local/share/mjpg-streamer/www"

  如下图所示运行便是成功了。
在这里插入图片描述
  打开一个浏览器(电脑记得连到局域网),然后在网址栏输入以下来访问树莓派网络端口。

http://<树莓派IP>:8080/?action=stream
  我的树莓派ip是192.168.31.136,因此输入网址为:

http://192.168.31.136:8080/?action=stream

  这是个动态图像的地址,受到浏览器的影响,有时候会卡掉。我用的火狐浏览器,一会就卡住了。
  如果浏览器视频卡住了,可以输入以下地址,实测浏览器兼容效果最好:

http://<树莓派IP>:8080/javascript_simple.html

在这里插入图片描述
  在手机端效果也不错:
在这里插入图片描述
  raspbian系统下载软件需要访问raspbian.org官网,晚上经常域名解析失败,建议白天在raspbian系统下载软件。

发布了54 篇原创文章 · 获赞 18 · 访问量 9573

猜你喜欢

转载自blog.csdn.net/m0_37872216/article/details/101608209