树莓派摄像头实时监控motion

nhtang111 贡献于2016-05-25

作者 User  创建于2016-05-05 03:16:00   修改者User  修改于2016-05-05 03:17:00字数6494

文档摘要:HYPERLINK"http://item.congci.com/item/shumeipai-shexiangtou-shishi-jiankong"树莓派摄像头实时监控motion首先安装usb摄像头,连接后使用lsusb命令查看pi@raspberrypi4~$lsusbBus001Device002:ID0424:9512StandardMicrosystemsCorp.Bus001Device001:ID1d6b:0002LinuxFoundation2.0roothubBus001Device003:ID0424:ec00StandardMicrosystemsCorp.Bus001Device006:ID0c45:62f0MicrodiaBus001Device005:ID0bda:8179RealtekSemiconductorCorp. 已经看到摄像头了,代号为0c45:62f0Microdia的设备就是摄像头,然后用命令pi@raspberrypi4~$ls/dev惊喜的看到设备里有video0,这说明系统自带我摄像头的驱动,已经驱动好了,省的折腾驱动了。然后,更新下系统pi@raspberrypi4~$sudoapt-getupdate最后,安装软件motionpi@raspberrypi4~$sudoapt-getinstallmotion配置motion,具体方法为修改/etc/motion/motion.conf文件,将Daemon=off改为on,webcam_localhost=on改为off,默认的监控端口为8081,改不改都可。为了方便,设置开机自动运行,方法为更改/etc/default/motion文件,把start_motion_daemon=no改为yes。重启树莓派pi@raspberrypi4~$sudoreboot重启后就可以看看效果了,在浏览器输入树莓派IP:端口就可以了。摄像头正对我楼下自行车棚的门口,有人走动的话,会实时拍照的,哈哈。暂时就搞到这里,下一步考虑将拍摄的照片同步到网络存储,比如dropbox,Dbank等等。监控网址就不公布了,貌似私自架设是违法的,O(∩_∩)O--------------------------------------------------------------------记得在Raspibian中的系统配置UI里,enablecamera:1sudo raspi-config然后就可以测试下摄像头了。一切木有问题后即可准备通过网络远程监控,其他参数直接看命令自带的帮助即可。1#这个是测试静态图片2raspistill-oimage.jpg3#这个是测试10秒短片4raspivid-ovideo.h264简单说一下原理,你的windows电脑作为接收器,通过nc和mplayer软件持续监听接收缓存来自网络上的视频信号(流);而树莓派作为发送者,只要持续的将视频信号发送到某个ip上即可。这个方案也有不好的地方,就是必须在树莓派上通过命令行来指定接受者。首先windows上下载这两个东西,建议把两个软件的内容都解压缩到一个文件夹下面。HYPERLINK"http://liyao.me/raspberry-pi-wifi-camera/mplayer-svn-36251/"前往下载页面:mplayer-svn-36251.7zHYPERLINK"http://liyao.me/wp-content/uploads/2013/12/nc111nt.zip"前往下载页面:nc111nt.zip然后在这个文件夹里整一个.bat文件,随便叫啥好了,内容如下,啥都不用改:1nc.exe-L-p5001|mplayer.exe-fps31-cache2048-双击执行这个文件,然后在树莓派上执行:1raspivid-t999999-o-|nc[你的IP]5001搞定!就是这么简单。这样你就能在windows上局域网里看到监控画面了。对于linux或者osx上的监视方法,参考-------------------------------------------------------------------------------------------------------------------------------树莓pi(或者说linux)的兼容性不错,插上摄像头之后,使用lsusb查看usb设备Bus001Device004:IDeb1a:2571eMpIATechnology,Inc.M035CompactWebCam接下来安装软件motion(可以获取摄像头的数据,生成图片或发
关键词:

树莓派摄像头实时监控motion 首先安装usb摄像头,连接后使用lsusb命令查看 pi@raspberrypi4 ~ $ lsusb Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 006: ID 0c45:62f0 Microdia Bus 001 Device 005: ID 0bda:8179 Realtek Semiconductor Corp.   已经看到摄像头了,代号为0c45:62f0 Microdia的设备就是摄像头,然后用命令 pi@raspberrypi4 ~ $ ls /dev 惊喜的看到设备里有video0,这说明系统自带我摄像头的驱动,已经驱动好了,省的折腾驱动了。 然后,更新下系统 pi@raspberrypi4 ~ $ sudo apt-get update 最后,安装软件motion pi@raspberrypi4 ~ $sudo apt-get install motion 配置motion,具体方法为修改/etc/motion/motion.conf 文件,将Daemon = off 改为on,webcam_localhost = on改为off,默认的监控端口为8081,改不改都可。为了方便,设置开机自动运行,方法为更改/etc/default/motion文件,把 start_motion_daemon=no改为yes。 重启树莓派 pi@raspberrypi4 ~ $ sudo reboot 重启后就可以看看效果了,在浏览器输入 树莓派IP:端口就可以了。 摄像头正对我楼下自行车棚的门口,有人走动的话,会实时拍照的,哈哈。 暂时就搞到这里,下一步考虑将拍摄的照片同步到网络存储,比如dropbox,Dbank等等。 监控网址就不公布了,貌似私自架设是违法的,O(∩_∩)O -------------------------------------------------------------------- 记得在Raspibian中的系统配置UI里,enable camera: 1 sudo raspi-config 然后就可以测试下摄像头了。一切木有问题后即可准备通过网络远程监控,其他参数直接看命令自带的帮助即可。 1 # 这个是测试静态图片 2 raspistill -o image.jpg 3 # 这个是测试10秒短片 4 raspivid -o video.h264 简单说一下原理,你的windows电脑作为接收器,通过nc和mplayer软件持续监听接收缓存来自网络上的视频信号(流);而树莓派作为发送者,只要持续的将视频信号发送到某个ip上即可。这个方案也有不好的地方,就是必须在树莓派上通过命令行来指定接受者。 首先windows上下载这两个东西,建议把两个软件的内容都解压缩到一个文件夹下面。 前往下载页面: mplayer-svn-36251.7z 前往下载页面: nc111nt.zip 然后在这个文件夹里整一个.bat文件,随便叫啥好了,内容如下,啥都不用改: 1 nc.exe -L -p 5001 | mplayer.exe -fps 31 -cache 2048 - 双击执行这个文件,然后在树莓派上执行: 1 raspivid -t 999999 -o - | nc [你的IP] 5001 搞定!就是这么简单。这样你就能在windows上局域网里看到监控画面了。对于linux或者osx上的监视方法,参考 ------------------------------------------------------------------------------------------------------------------------------- 树莓pi(或者说linux)的兼容性不错,插上摄像头之后,使用lsusb查看usb设备 Bus 001 Device 004: ID eb1a:2571 eMpIA Technology, Inc. M035 Compact Web Cam 接下来安装软件motion(可以获取摄像头的数据,生成图片或发送数据流到http) sudo apt-get udpate sudo apt-get upgrade sudo apt-get install motion 修改motion的配置文件 /etc/motion/motion.conf daemon off 变为 daemon on,以daemon方式运行 webcam_localhost on 变为 webcam_localhost off,意为不只是对本地采集,这样才可以使用http查看 其他参数如分辨率,截图间隔时间等可根据自己的情况调整。 启动软件前将/etc/default/motion的start_motion_daemon项变为yes 然后启动motion /etc/init.d/motion start 之后打开http://ip:8081即可。不想使用8081的可以去将/etc/motion/motion.conf中的端口改为需要的端口。 ---------------------------------------------------------------------------------------------------------------------------- Motion 是一个相当轻量级,但却能够在 Linux 上运行监控摄像头的应用。它可以和任何支持 Linux 的摄像头一起工作,包括所有 V4L(译者注:Video4Linux,Linux内核中关于视频设备的API接口)网络摄像头,许多IP网络摄像头和 Axis 摄像头(译者注:一个日本精工品牌)。Motion 还能够控制云台功能。Motion 以 JPEG、PPM 和 MPEG 格式存储影像和快照。由于 Motion 内置了 Http 服务器,你可以在网络浏览器中进行远程观看。虽然 Motion 支持 MySQL 和 PostgreSQL 数据库,但是它仍然可以在不需要数据库的情况下,将图片文件存储在你选择的目录。   首先让我们看看如何让一台我信赖的 Foscam FI8905W 网络摄像头(图1)与 Motion 一起工作,接着我们会增加一台 USB 网络摄像头。 在 Debian 及其衍生版本上安装 Motion 非常容易,因为它本身已经包含了所有必需的软件库。因此你所需要的仅仅是运行apt-get install motion。你还需要 libav-tools,它是一个 ffmpeg 分支。数月之前,Debian用libav-tools取代了了ffmpeg(如果你想了解具体细节,可以看看Is FFmpeg missing from the official repositories in 14.04? )。在其他Linux发行版上,查看下载页面和安装向导,能够找到相关的指导。许多其他发行版上依旧使用ffmpeg。 安装程序会创建一个motion用户,并将motion用户添加到video组。如果程序没有创建motion用户,你需要自己创建一个。为避免权限问题,还要把你自己加到video组中。 现在运行motion看看它是否工作:   $ sudo motion [0] Processing thread 0 - config file /etc/motion/motion.conf [0] Motion 3.2.12 Started [0] ffmpeg LIBAVCODEC_BUILD 3547904 LIBAVFORMAT_BUILD 3544067 [0] Thread 1 is from /etc/motion/motion.conf [1] Thread 1 started [0] motion-httpd/3.2.12 running, accepting connections [1] Failed to open video device /dev/video0: No such file or directory [0] motion-httpd: waiting for data on port TCP 8080 [1] Could not fetch initial image from camera [1] Motion continues using width and height from config file(s) [1] Resizing pre_capture buffer to 1 items [1] Started stream webcam server in port 8081 [...]   这期间会有很多行文字出现,直到你看到下面的内容:   [1] Failed to open video device /dev/video0: No such file or directory [1] Video signal lost - Adding grey image 将你的网络浏览器转到localhost:8081,你将会看到一幅灰色的图像:   很好,这意味着Motion安装正确,你接下来要做的所有事情就是配置它。按Ctrl+C停止Motion,然后在你的主目录下创建一个.motion目录,将默认的配置文件复制到这个目录中,并将所有权改为你。   ~$ mkdir .motion ~$ sudo cp /etc/motion/motion.conf .motion/ ~$ sudo chown carla:carla .motion/motion.conf 你还需要一个目录来存储Motion拍下的照片:     ~$ mkdir motion-images 当你启动Motion,它会首先在当前目录下寻找配置文件,其次是~/.motion目录, 最后是/etc/motion目录。现在编辑你的~/.motion/motion.conf文件——这个例子包含了基本的配置,其中几行是关于我的Foscam网络摄像头的。     # Start in daemon (background) mode and release terminal (default: off) daemon on # Output 'normal' pictures when motion is detected (default: on) [...] output_normal off # File to store the process ID, also called pid file. (default: not defined) process_id_file /var/run/motion/motion.pid # Image width (pixels). Valid range: Camera dependent, default: 352 width 640 # Image height (pixels). Valid range: Camera dependent, default: 288 height 480 # Maximum number of frames to be captured per second. # Valid range: 2-100. Default: 100 (almost no limit). framerate 7 # URL to use if you are using a network camera, size will be autodetected (incl http:// ftp:// or file:///) # Must be a URL that returns single jpeg pictures or a raw mjpeg stream. Default: Not defined netcam_url value http://http://192.168.10.250:8080/videostream.cgi # Username and password for network camera (only if required). Default: not defined # Syntax is user:password netcam_userpass admin:mypassword # Target base directory for pictures and films # Recommended to use absolute path. (Default: current working directory) target_dir /home/carla/motion-images # Codec to used by ffmpeg for the video compression. [...] ffmpeg_video_codec mpeg4 正如motion.conf中所述,你需要创建一个目录来存储PID文件:     $ sudo mkdir /var/run/motion 现在试着再一次启动Motion:     $ sudo motion [0] Processing thread 0 - config file /home/carla/.motion/motion.conf [0] Motion 3.2.12 Started [0] Motion going to daemon mode 到目前为止还不错,现在再试试localhost:8081:   看起来很棒,浏览器中出现的是我外面的马路。现在如果有访客登门,我会得到足够的警告,所以我能够将不速之客拒之门外了。让你的摄像头动起来,这将会触发移动监测。当你再次回来的时候,就会在你的图片目录中得到一些.avi视频了。你还可以在localhost:8080找到一个简单地Motion控制面板。 网络摄像头设置 在文章《How to Operate Your Spycams with ZoneMinder on Linux (part 1)》里面详细的介绍了摄像头的设置。你必须按照厂商的说明进行一些初始的设定,比如帧尺寸、移动敏感度,以及颜色深度或黑白设定。 得到正确的 netcam_url 有时会是个问题。对于我的 Foscam,我在火狐浏览器中打开它的控制面板,右击图片(图4),然后点击显示图像信息。这将会打开一个(图5)那样的窗口,其中显示了视频流的完整URL。在 Chrome 浏览器中,应该使用 "审查元素"。 调整配置值 你可以任意修改配置文件,比如图片尺寸、图片质量、帧速度、移动敏感度、在选定帧使用更大的敏感度、文件路径、HTTP服务器设定,以及时间戳格式。Motion Guide - Alphabetical Option Reference Manual 给出了相关选项的详细信息。记住如果你的摄像头有设置面板的话,要保持其中的设置于Motion中的一致。 USB摄像头 任何支持V4L的USB网络摄像头可以轻松的和Motion一起工作。这个视频设备将是/dev/video0。当摄像头与计算机直接相连后,/dev/video0将会出现。这个基本的例子配置了我的罗技摄像头:   videodevice /dev/video0 width 640 height 480 framerate 24 output_normal off ffmpeg_video_codec mpeg4 target_dir /home/carla/motion 再一次记住帧速度和尺寸等设定依赖于你的摄像头的支持程度。   一旦你做好了所有工作,编辑/etc/default/motion,将start_motion_daemon=no改为start_motion_daemon=yes可以让你的Motion作为后台程序运行。现在Motion将会在每次开机后自动启动,你可以像任何后台进程一样开始和结束Motion。 控制多个摄像头 Motion可以轻松地控制多个摄像头——你所要做的仅仅是给每个摄像头一个配置文件,thread1.conf,thread1.conf等等。你还需要主配置文件motion.conf来进行一些公共配置,比如后台进程开启和文件路径。接下来每一个“线程”文件将会对所指定的摄像头进行配置。

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享文档获得金币 ] 9 人已下载

下载文档