分析:

树莓派上有几种视频监控软件 :

  • motion
  • mjpg-streamer

相同点:都是linux系统上监控用的程序。

不同点:

  1. motion 通过 motion.conf配置文件,可以设定动态感知的动作。比如有宠物进入摄像头范围内,motion自动捕获截图或者视频,然后触发既定的脚本(sh,python等等)。MJPG-streamer好像不能
  2. motion比较吃资源,且刷新率设定的不能太高,导致视频不连续。MJPG-streamer就比较流畅。motion比较吃资源,且刷新率设定的不能太高,导致视频不连续。MJPG-streamer就比较流畅。
  3. motion安装比较简单,通过apt-get就可以。MJPG-streamer需要下载代码,自己 make。当然也得安装必要的依赖包。还好不算很多 motion安装比较简单,通过apt-get就可以。MJPG-streamer需要下载代码,自己 make。当然也得安装必要的依赖包。还好不算很多

motion安装方法:





一、工具

  • 1、树莓派3B
  • 2、USB摄像头

二、操作步骤

  • 1、安装motion
sudo apt-get install motion
  • 2、配置motion

(1)

sudo nano /etc/default/motion

将里面的no修改成yes,让motion可以一直在后台运行:start_motion_daemon=yes

Spy自动监控执行脚本教程 自动抓拍视频监控_配置文件

(2)

sudo nano /etc/motion/motion.conf

修改配置文件,这个文件比较长,请确保一下参数的配置。在nano编辑器下,可以使用^w快速查找到如下配置内容。也可以使用^v向下翻页。

Spy自动监控执行脚本教程 自动抓拍视频监控_配置文件_02

Spy自动监控执行脚本教程 自动抓拍视频监控_Spy自动监控执行脚本教程_03

Spy自动监控执行脚本教程 自动抓拍视频监控_git_04

Spy自动监控执行脚本教程 自动抓拍视频监控_github_05

Spy自动监控执行脚本教程 自动抓拍视频监控_github_06

  • 3、启动motion
sudo motion
  • 4、查看视频数据
    在局域网内的设备,不管是手机还是电脑,均可打开浏览器访问树莓派IP:8081
  • 5、退出motion
killall -TERM motion

或者

service motion stop

三、可能出现的问题

  • 1、配置错误
    出现Unknown config option "sdl_threadnr"
  • Spy自动监控执行脚本教程 自动抓拍视频监控_github_07

  • 解决方法:
    在配置文件中,直接将这一行内容进行注释。不是下图光标所在处,是光标下面sdl_threadnr 0这一行,注释成# sdl_threadnr 0即可。
  • Spy自动监控执行脚本教程 自动抓拍视频监控_Spy自动监控执行脚本教程_08

  • 2、8081页面无法显示
    在8081端口,无法显示数据,但是在8080端口可以看到motion的信息。
  • Spy自动监控执行脚本教程 自动抓拍视频监控_git_09

  • 解决方法:
    这可能是摄像头没有被识别,可以将摄像头拔下重新插入。

方法二:

分析:

方法一实现的话会发现延时很大,表现出来就是很卡
其实不是很推荐方法一。

实现:

在 GitHub 上有一个开源项目叫 MJPG-streamer
https://github.com/jacksonliam/mjpg-streamer 推荐这个方法的原因是这个开源项目实现的视频监控很流畅,延时很小,所以总的比第一个强一些(安装稍麻烦)

1、 安装必要的库:

命令行直接敲以下指令:

sudo apt-get update
sudo apt-get install subversion
sudo apt-get install libjpeg8-dev
sudo apt-get install imagemagick
sudo apt-get install libv4l-dev
sudo apt-get install cmake
sudo apt-get install git
2、git 开源的 project到本地
sudo git clone https://github.com/jacksonliam/mjpg-streamer.git
3、编译
cd mjpg-streamer/mjpg-streamer-experimental
make all
sudo make install

如果是普通的USB摄像头,这个时候应该可以使用了,在命令行输入:

./start.sh

然后打开浏览器输入:
http://raspberry-ip-address:8080/ 应该就可以看到Raspberry Pi Camera采集的动态视频了

保险起见,还是设定一下登陆帐号和密码,basic认证一下。

关掉服务后

跟之前命令比较,多了一个 -c userid:password。

可以在 start.sh 中修改 :(用户名和密码自己设置)

Spy自动监控执行脚本教程 自动抓拍视频监控_git_10