磁盘管理、进程管理及软件包管理课程代码:1、查看硬盘及分区信息使用命令fdisk-l,我们能找出机器中所有硬盘个数及设备名称。显示信息为:分区序列引导开始终止容量ID分区类型2、挂载分区在Linux系统中所有需要使用的分区都需要挂载。被挂载的分区就像与根分区建立一个链接,然后可以通过根来访问挂载后的分区内容。进入其他分区的入口通常叫做“挂载点”。挂载点是一个普通的目录。挂载命令查看当前系统挂载状况的命令是不加选项mount的,同样这个命令也是用于挂载。mount命令挂载常用的选项;-t指定挂载的文件系统类型;-o挂载选项。挂载命令以只读方式挂载一个fat32分区到/mnt/hd目录上。mount-tvfat-oro/dev/sda4/mnt/hd挂载光驱。mount/dev/hdc/mnt/cdrom挂载U盘或移动硬盘。mount/dev/sda3/mnt/sd卸载命令卸载一个文件系统使用umount命令umount挂载设备或umount挂载路径注意:假如要卸载一个文件系统,这个文件系统不能处于正在使用状态,比如运行了目标文件系统的程序,或打开了某个文件,包括使用的某个终端是否正处在目标文件系统中。如果无法卸载文件系统,就需要检查一下上面的几种可能性。3、ps监视进程工具ps为我们提供了进程的一次性的查看psaux获得的结果是所有在系统中运行的进程的全貌4、终止进程终止进程通过kill、killall、pkill、xkill等命令来完成。Kill命令最常见的用法是终止一个进程,Kill能够发送任何信号。kill[-SIGNAL]PID如:kill-9PID5、软件包管理Ubuntu有两种类型的软件包:二进制软件包(BinaryPackages):包含可执行文件、库文件、配置文件、man/info页面、版权声明和其他文档。源码包(SourcePackages):包含软件源代码、版本修改说明、构建指令以及编译工具等。先由tar工具归档为.tar.gz文件,然后再打包成.dsc文件。不确定一个软件包具体类型时,可以使用file命令查看文件类型。软件包的命名规则Ubuntu软件包命名遵循下列约定:foo_ver-rev_arch.debfoo是软件包的名称ver是软件本身的版本号rev是Ubuntu修订版本号arch是目标架构名称使用apt管理软件包软件源配置文件/etc/apt/sources.list。每个配置项都遵循以下格式:DebtypeAddresstype://hostaddress/ubuntuDistributioncomponent例如:常用的apt-get命令:apt-getinstallpackagename--安装apt-getautoremovepackagename--卸载apt-cachesearchpackagename--查询使用dpkg管理软件包可以使用dpkg–i命令安装软件包。但是dpkg不能自动解决软件包的依赖性问题。6、日志管理Linux的软件包大多将它们的日志信息记录到/var/log目录下的文件里。常用日志命令tail命令是对文本进行查看的命令who命令查询wtmp文件并报告当前登录的每个用户常用日志命令w命令查询wtmp文件并显示当前系统中每个用户和它所运行的进程信息。last命令用于搜索wtmp来显示自从文件第一次创建以来登录过的用户。如果指明了用户,那么last只报告该用户的近期活动。常用日志命令使用lastlog命令检查某特定用户上次登录的时间
启动指令最简单启动,这样似乎最不容易被误认为是yuvmjpg_streamer-i“input_uvc.so“-o“output_http.so”最小分辨率mjpg_streamer-i“input_uvc.so-r352x288-f15-n”-o“output_http.so“640的分辨率,不知道叫啥子mjpg_streamer-i“input_uvc.so-r640x480-f15-n”-o“output_http.so“720pmjpg_streamer-i“input_uvc.so-r1280x720-f15-n”-o“output_http.so“网址HYPERLINK"http://192.168.1.90:8080/?action=stream"http://192.168.1.90:8080/?action=stream服务操作/etc/init.d/mjpg-streamerenable是设置开机自动启动/etc/init.d/mjpg-streamerdisable是禁止开机自动启动/etc/init.d/mjpg-streamerstart是现在启动/etc/init.d/mjpg-streamerrestart重启/etc/init.d/mjpg-streamerstop停止servicemjpg-streamerstart,在通常*nuix是这样的,但是openwrt的busybox是精简版的,所以变成了直接调用服务启动服务的好处就是托管在后面运行如果直接运行的话关闭shell就断了被默认为yuv的处理开启-q质量控制会被强制为yuv如果加了-y,那也会的,去掉作为服务启动配置文件位于/etc/config/mjpg-streamer一个有效的配置像是这样configmjpg-streamercoreoptionenabled“1”optiondevice“/dev/video0”optionresolution“640x480”optionwww“/www”optionfps“15”optionport“8080”其中有趣的是www目录设置/www/代表着是当前目录,而后面那玩意似乎只是一个demo程序的目录,这里很怪异或许根本和www无关访问的时候就是:HYPERLINK"http://192.168.1.90:8080/?action=stream"http://192.168.1.90:8080/?action=stream设置开机自动启动服务/etc/init.d/mjpg-streamerenable立即启动服务/etc/init.d/mjpg-streamerstart HYPERLINK"http://see.sl088.com/wiki/Mjpg-streamer"\l"cite_note-1"[1]很像ser2net,即便拔掉摄像头再插上也会识别。困扰看起来无法直接做安全性的设置,真是奇怪-加个密码啥的使用UVC插件可用参数输入一个错误的指令就会激活这个,比如mjpg_streamer-i“input_uvc.so-r640x480-f15-q90-n—rgb”-o“output_http.so“Helpforinputplugin..:UVCwebcamgrabberThefollowingparameterscanbepassedtothisplugin:[-d|--device].......:videodevicetoopen(yourcamera)[-r|--resolution]...:theresolutionofthevideodevice,canbeoneofthefollowingstrings:QSIFQCIFCGAQVGACIFVGASVGAXGASXGAoracustomvaluelikethefollowingexample:640x480[-f|--fps]..........:framespersecond[-y|--yuv]..........:enableYUYVformatanddisableMJPEGmode[-q|--quality]......:JPEGcompressionqualityinpercent(activatesYUYVformat,disablesMJPEG)[-m|--minimum_size].:dropframessmallerthenthislimit,usefulifthewebcamproducessmall-sizedgarbageframesmayhappenunderlowlightconditions[-n|--no_dynctrl]...:donotinitalizedynctrl
HYPERLINK"http://blog.csdn.net/kowity/article/details/19158395"py+opencv打造树莓派监控,场景有变化自动拍照上传到百度云2014-02-1314:10 3940人阅读 HYPERLINK"http://blog.csdn.net/kowity/article/details/19158395"\l"comments"评论(1) HYPERLINK"javascript:void(0);"\o"收藏"\t"_blank"收藏 HYPERLINK"http://blog.csdn.net/kowity/article/details/19158395"\l"report"\o"举报"举报INCLUDEPICTURE"http://static.blog.csdn.net/images/category_icon.jpg"\*MERGEFORMATINET 分类: C/C++和Python(40) INCLUDEPICTURE"http://static.blog.csdn.net/images/arrow_triangle%20_down.jpg"\*MERGEFORMATINET版权声明:本文为博主原创文章,未经博主允许不得转载。大家用树莓派来做监控,文章里面一般都是使用fswebcam或motion。motion非常强大,可以监测画面变化后保存成mpeg或jpeg,还可以运行成http服务器模式。但是树莓派放在家里,从外面访问有时也会访问不了(比如IP变了等原因)。其实使用Python+OpenCV打造一个对运动画面能够进行简单判断的程序并不困难。下面的程序每个0.5秒做一下检测,如果画面有变化就保存下来,并且将其上传到百度的云存储中。为了保证隐私,上传之前还可以给照片做AES加密,只有知道密码才能查看照片的内容。不过,OpenCV在树莓派上跑还是挺吃力的,CPU基本保持在6-70%左右。注册为百度开发者(HYPERLINK"http://developer.baidu.com/"\t"_blank"http://developer.baidu.com/)就可以创建自己的百度云存储空间了。然后在云存储中新建一个bucket,把代码中所有的'homepics'替换成你的bucket名称。要运行这个程序,在树莓派上需要安装有python2.7和PyCrypto、OpenCV、numpy、requests模块。在命令行运行:cv.py-d0-i/home/img-pqwerty123456qwerty123456-ubcs:[app_key]:[sk]如果没有-p参数照片就不加密,没有-u参数就不会存到百度云上。另外,还做了一个web站点,把bucket中图片都列出来,用浏览器就可以直接查看:HYPERLINK"http://eaho.sinaapp.com/"\t"_blank"http://eaho.sinaapp.com/[python] HYPERLINK"http://blog.csdn.net/kowity/article/details/19158395"\o"viewplain"viewplain HYPERLINK"http://blog.csdn.net/kowity/article/details/19158395"\o"copy"copy HYPERLINK"https://code.csdn.net/snippets/186515"\o"在CODE上查看代码片"\t"_blank"INCLUDEPICTURE"https://code.csdn.net/assets/CODE_ico.png"\*MERGEFORMATINETHYPERLINK"https://code.csdn.net/snippets/186515/fork"\o"派生到我的代码片"\t"_blank"INCLUDEPICTURE"https://code.csdn.net/assets/ico_fork.svg"\*MERGEFORMATINET#coding: cp936 import os, time, datetime, multiprocessing, urllib, base64, hashlib, hmac, argparse, tempfile import cv2, numpy, requests from Crypto.Cipher import AES from Crypto.Util import Counter class Bcs:
HYPERLINK"https://segmentfault.com/a/1190000002583340"树莓派的终极玩法2:motion+摄像头HYPERLINK"https://segmentfault.com/t/raspberry-pi/blogs"raspberry-pi HYPERLINK"https://segmentfault.com/t/%E5%BC%80%E6%BA%90%E7%A1%AC%E4%BB%B6/blogs"开源硬件 HYPERLINK"https://segmentfault.com/t/%E9%A6%99%E8%95%89%E6%B4%BE/blogs"香蕉派 HYPERLINK"https://segmentfault.com/u/integ"Integ 2015年03月06日发布推荐 2 推荐收藏 8 收藏,6k 浏览上一篇文章写了如何把树莓派打造成可以远程访问的服务器,有了这台服务器,我们的树莓派终极玩法可以正式开始了。这次,我们来给树莓派装个USB摄像头,然后远程访问摄像头拍摄的即时画面。非常简单只需要一个软件:motion。假设你的树莓派已经装好了Raspbian的系统,你只需要:$sudoapt-getinstallmotion然后打开motiondaemon守护进程,让他可以一直在后台运行:sudonano/etc/default/motion#no修改成yes:start_motion_daemon=yes修改motion的配置文件:sudovim/etc/motion/motion.conf#deamonoff改成ondeamonon#设置分辨率width800height600#关闭localhost的限制webcam_localhostoff然后运行motion:$sudomotion现在我们的摄像头已经变成了一台网络摄像头。在非chrome浏览器(chrome不支持 HYPERLINK"http://zh.wikipedia.org/wiki/Motion_JPEG"\t"_blank"mjpgstreaming)下访问HYPERLINK"http://[your.domain]:8081/"\t"_blank"http://[your.domain]:8081 即可看到摄像头当前拍摄的画面。HYPERLINK"https://segmentfault.com/a/1190000002583340"2015年03月06日发布2推荐 收藏你可能感兴趣的文章HYPERLINK"https://segmentfault.com/a/1190000002517977"\o"香蕉派bananaPiBPI-D1开源硬件IP摄像头开发板介绍"香蕉派bananaPiBPI-D1开源硬件IP摄像头开发板介绍 1收藏,1k浏览HYPERLINK"https://segmentfault.com/a/1190000002990825"\o"香蕉派bananapiBPI-M38核开发板面世"香蕉派bananapiBPI-M38核开发板面世 880浏览HYPERLINK"https://segmentfault.com/a/1190000000459989"\o"BananaPI香蕉派 A20开发板介绍"BananaPI香蕉派 A20开发板介绍 2.7k浏览讨论区 我的没有试验成功,也找不到问题。大神有什么办法能解决另外的电脑无法连接树莓派。HYPERLINK"https://segmentfault.com/c/1050000003066877" HYPERLINK"https://segmentfault.com/u/dantian"丹天极客 · 2015年08月08日HYPERLINK"https://segmentfault.com/a/1190000002583340"HYPERLINK"https://segmentfault.com/a/1190000002583340"\l"911"\o"举报" 回复 HYPERLINK"https://segmentfault.com/u/dantian"丹天极客:无法访问motion的页面?motion的配置文件里需要添加下面一句:#关闭localhost的限制webcam_localhostoffHYPERLINK"https://segmentfault.com/c/1050000003067621" HYPERLINK"https://segmentfault.com/u/integ"Integ · 2015年08月08日H
使用固定设备节点名操作设备eric.siroh(AT)gmail.comFreeBSD-6之后,采用devfs管理设备节点,设备名称在设备联机时动态创建,增加了灵活性。但也带来另一些问题:一些外部设备,如USB、PCCard等设备并不总是在开机之前就连接到计算机,如果存在相同类型的设备,这些设备的在/dev的节点名称会因为设备连接到计算机的先后顺序而发生变化,这会给一些应用程序的设置造成一些不便。然而,正是因为devfs的灵活性,也带来很好的方法来支持这些外部设备使用固定设备节点名称。这里通过两台USB接口打印机EPSONStylusCX3700、BrotherFAX-2820的设置来说明这一方法。查看devfs基本配置首先,查看/etc/devd.conf文件,确定有关的基本配置情况#more/etc/devd.conf...options{#Eachdirectorydirectiveaddsadirectorythelistofdirectories#thatwescanforfiles.Filesareread-inintheorderthatthey#arereturnedfromreaddir(3).Therule-setsarecombinedto#createaDFAthat'susedtomatcheventstoactions.directory"/etc/devd";directory"/usr/local/etc/devd";pid-file"/var/run/devd.pid";#Setupsomeshorthandforregexthatweuselaterinthefile.#XXXYes,thesearegross--impsetscsi-controller-regex"(aac|adv|adw|aha|ahb|ahc|ahd|aic|amd|amr|asr|bt|ciss|ct|dpt|\esp|ida|iir|ips|isp|mlx|mly|mpt|ncr|ncv|nsp|stg|sym|trm|wds)\[0-9]+";};...通过这两行:directory"/etc/devd";directory"/usr/local/etc/devd";得知用户定制配置文件目录为/etc/devd,/usr/local/etc/devd。如果没有相应的目录,自行建立就可以了。当然也可以自行修改,不过不建议修改。获得设备信息在编写配置文件之前,需要得到设备的必要参数。可以通过在前台运行调试模式的devd来查看。现在不要连接设备,运行#/etc/rc.d/devdstop#/sbin/devd-Dd屏幕上会出现一些信息,表明devd已经运行了。这时把设备连接到计算机,然后再拔掉设备。这个过程中屏幕会有很多输出,只需要查看以Processingevent开头信息。以下两行示例是U盘的插拔发生的信息。Processingevent'+umass0vendor=0x1043product=0x8012devclass=0x00devsubclass=0x00release=0x0100sernum=""intclass=0x08intsubclass=0x06atport=1interface=0vendor=0x1043product=0x8012devclass=0x00devsubclass=0x00release=0x0100sernum=""intclass=0x08intsubclass=0x06onuhub1'Processingevent'-umass0vendor=0x1043product=0x8012devclass=0x00devsubclass=0x00release=0x0100sernum=""intclass=0x08intsubclass=0x06atport=1interface=0vendor=0x1043product=0x8012devclass=0x00devsubclass=0x00release=0x0100sernum=""intclass=0x08intsubclass=0x06onuhub1'umass0是devfs为U盘在/dev下自动生成的设备节点,+umass0表示umass0连接上计算机了,-umass0表示umass0设备被拔出。我们需要得到设备信息主要是vendor,product,sernum三个参数。vendor是制造商的代码,product是设备型号代码,sernum是设备的序列好,这三个参数基本上应该可以确定唯一一台设备。如果没有多于一台同一厂家同一型号(或同一系列,有点厂家设备虽然标识的型号不同,但是product值却是一样的)的设
基于OpenCV的实时图像采集与远程监控系统班级:0805姓名:杨学齐学号:200892128一、系统介绍1.1系统功能介绍本系统是基于OpenCV的实时图像采集、远程监控系统,主要分为两个功能模块实时图像采集:实时图像采集利用了OpenCV来实现,利用OpenCV库在定时器的调节下,可以从摄像头直接获取监控对象的图像。为了达到实时效果,必须保证帧频不能太低。实时采集另外一个重点是实时发送,采集到的图像必须实时发送到网络进行传输,因此采集线程和传输线程必须分为不同线程。远程监控:摄像头采集得到的图像是存储在本地的,必须通过网络的传输才可以实现远程监控,由于视频数据量比较大,必须经过压缩后才能传输,本系统采用了Jpeg图像压缩,再通过高性能网卡将压缩后的图像传输出去。监控端接受到数据后,进行Jpeg解压缩后显示。1.2系统架构介绍图像采集端程序架构:由于需要实时进行图像采集和传输,因此必须将图像采集和图像传输分为不同的线程。远程监控端程序架构:监控端一方面进行网络数据接收,另外一方面必须将接收到的数据实时显示出来,也必须采用多个线程。1.3系统关键技术介绍1.3.1OpenCVOpenCV是一个基于BSD许可证授权(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了HYPERLINK"http://baike.baidu.com/view/14662.htm"\t"_blank"图像处理和计算机视觉方面的很多通用算法1.3.2QTQt是诺基亚开发的一个跨平台的C++图形用户界面HYPERLINK"http://baike.baidu.com/view/330120.htm"\t"_blank"应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全HYPERLINK"http://baike.baidu.com/view/125370.htm"\t"_blank"面向对象的,很容易扩展,并且允许真正地组件编程。基本上,Qt同XWindow上的Motif,Openwin,GTK等图形界面库和Windows平台上的MFC,OWL,VCL,ATL是同类型的东西,但Qt具有优良的跨平台特性、面向对象、丰富的API、大量的开发文档等优点。1.3.3OpenCV帧与QT图像QImage之间的转化QImage是Qt中的图像对象而IplImage是OpenCV中的对象,使用Qt和OpenCV必须进行两者之间的转化,主要是表示方法不同,位深及RGB之间的转换,这个部分是很重要的,详细代码在下面已经列出。1.3.4Jpeg图像压缩与图像序列化HYPERLINK"http://doc.trolltech.com/4.3/qbytearray.html"\l"QByteArray"QByteArray直接把位图数据传输到网络会给整个网络带来很大的压力,有时网速不高,图像采集的速率虽然很高,但是远程监控端会因为网络原因收不到图像,因此对图像的数据量压缩是很有必要的。这里采用的是QT中Jpeg压缩,需要Jpeg库的支持。压缩之后的数据量大大减少了。Socket发送的数据是没有对象的信息的QImage也不能直接被发送到远程监控端,必须序列化到QByteArray,这是一个字符流,将压缩后的图像对象序列化到QByteArray再进行传输。1.3.5Socket网络传输发送和接受采用Socket直接进行网络传输,能够最大限度的压缩数据包的大小,控制校验图像的格式,图像采集端必须一边采集一边发送,这个同步进行的工作是通过线程来完成的,提供程序的效率。另一方面远程监控端同样需要一边接收数据一边显示,也是通过多线程技术实现的,接收到的数据传递给显示线程,这需要将字符流QByteArray重新组装成一个QImage对象,然后显示出来。这个过程必须有准确的校验否则数据会显示不完整。二、系统关键代码2.1使用OpenCV库定时采集图像intmain(intargc,char*argv[]){CvCapture*camera=cvCreateCameraCapture(0);//建立OpenCV图像捕获对象assert(camera);IplImage*image=cvQueryFrame(camera);assert(image);qDebug()<<"Imagedepth="<<image->depth<<"n";qDebug()<<"ImagenChannels="<<image->nChannels<<"\n";QApplicationa(argc,ar
HYPERLINK"http://blog.csdn.net/huhumama0/article/details/9164873"树莓派+pythonopencv实现远程监控近来风闻住宿地不太安全,正好手边有个树莓派,花了些时间用树莓派实现了远程监控,下面和大家分享一下,希望有所帮助。因为非计算机视觉专业人士,所以使用了python版的opencv,方便快捷。如何在pc上安装pythonopencv见HYPERLINK"http://luugiathuy.com/2011/02/setup-opencv-for-python/"http://luugiathuy.com/2011/02/setup-opencv-for-python/,曾经见着有中文的桥段找不着在哪里了,对不住了各位不喜英文的童鞋。最后再装上pythonimaginglibrary。安装完成后,在opencv/sample/python目录下有一个camera.py文件,先看此源代码:[python] HYPERLINK"http://blog.csdn.net/huhumama0/article/details/9164873"\o"viewplain"viewplain HYPERLINK"http://blog.csdn.net/huhumama0/article/details/9164873"\o"copy"copy<span style="font-size:18px;">import cv2.cv as cv import time cv.NamedWindow("camera", 1) capture = cv.CaptureFromCAM(0) while True: img = cv.QueryFrame(capture) cv.ShowImage("camera", img) if cv.WaitKey(10) == 27: break cv.DestroyAllWindows() </span> 基本上意思就是说,创建一个源于默认摄像设备的捕捉器,然后不停地一帧一帧地获取图像并显示。按照上述代码,要实现远程监控,一种很简单直接的方法就是在数据源端获取图像之后通过网络传出去,然后在远程端读取出图像并显示。这样可以将整个程序分为三部分:数据源(也就是要监控的地方),服务器(用于中转网络数据),客户端(显示监控图像的地方)。下面逐项讲解。一、数据源端也就是放摄像头的地方。其实,完全可以把电脑开着放在那里然后开着QQ,远端视频聊天即可实现监控。不过这样做略显低端,说出去都有失码农身份。正好手边有一树莓派,正是派上用场的地方。恩,嵌入式开发,听着高端多了。闲话少说,先讲树莓派的配置。首先,用的是Raspbian系统,最好能够先执行sudoapt-getupdate和sudoapt-getupgrade,保证系统是最新的。系统自带python,不需要再安装;安装pythonopencv:sudoapt-getinstalllibopencv-devpython-opencv;安装pythonimaginglibrary:sudoapt-getinstallpython-imaging。大功告成。传输网络数据就用最基本的socket,那么,树莓派上的代码就如下所示:[python] HYPERLINK"http://blog.csdn.net/huhumama0/article/details/9164873"\o"viewplain"viewplain HYPERLINK"http://blog.csdn.net/huhumama0/article/details/9164873"\o"copy"copy<span style="font-size:18px;">import cv import time, socket, Image, StringIO capture = cv.CaptureFromCAM(0) cv.SetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_WIDTH, 640) cv.SetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_HEIGHT, 480) HOST, PORT = "192.168.0.102", 9999 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((HOST, PORT)) while
树莓派安装mjpg-streamer视频监控时间 2013-07-1614:53:09 HYPERLINK"http://www.tuicool.com/sites/eUNbQz"\t"_blank"PHP圈原文 HYPERLINK"http://phpquan.com/lamp/linux/mjpg-streamer-raspberry-pi/?utm_source=tuicool&utm_medium=referral"http://phpquan.com/lamp/linux/mjpg-streamer-raspberry-pi/主题 HYPERLINK"http://www.tuicool.com/topics/10300145"\t"_blank"RaspberryPi HYPERLINK"http://www.tuicool.com/topics/11200019"\t"_blank"Linux命令在树莓派上有几种视频监控软件 fswebcam motion mjpg-streamer上面两种都相对简单,唯独mjpg-streamer整了半天。所以记录下安装过程首先安装所需软件 sudoapt-getinstallsubversion sudoapt-getinstalllibv4l-dev sudoapt-getinstalllibjpeg8-devsvn下载软件到本地 svncottps://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamermjpg-streamer 打开mjpg-streamer目录 cdmjpg-streamer/mjpg-streamer 编译安装 makeUSE_LIBV4L2=truecleanall makeDESTDIR=/usrinstall编译时可能会报i:init_VideoInfailed错误 错误原因:市面上大部分摄像头都是支持YUV的,而不是JPEG的。mjpg-stream支持JPEG和YUV两种格式。 1、打开以下文件: sudovimjpg-streamer/plugins/input_uvc/input_uvc.c 2、查找V4L2_PIX_FMT_MJPEG大概第三页 将一行中的:intwidth=640,height=480,fps=-1,format= V4L2_PIX_FMT_MJPEG,i; 把 V4L2_PIX_FMT_MJPEG 改成 V4L2_PIX_FMT_YUYV 需要重新编译才会有效。运行 mjpg_streamer-i"/usr/lib/input_uvc.so-d/dev/video0-y-r320×240-f15″-o"/usr/lib/output_http.so-p8090-w./www"这里很关键,好像视频大小不能大于320×240,前几次设置了640*480,能运行,但打开web无图像。经过测试只要设置到320×240就可以
树莓派使用MJPG-Streamer实现网络监控 (2015-04-2817:04:52)HYPERLINK"javascript:;"INCLUDEPICTURE"http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif"\*MERGEFORMATINET转载▼标签: HYPERLINK"http://search.sina.com.cn/?c=blog&q=%CA%F7%DD%AE%C5%C9&by=tag"\t"_blank"树莓派 HYPERLINK"http://search.sina.com.cn/?c=blog&q=%CD%F8%C2%E7%BC%E0%BF%D8&by=tag"\t"_blank"网络监控 HYPERLINK"http://search.sina.com.cn/?c=blog&q=mjpg-streamer&by=tag"\t"_blank"mjpg-streamer分类: HYPERLINK"http://blog.sina.com.cn/s/articlelist_2882772167_4_1.html"\t"_blank"linux 1. 先更新apt的列表:sudoapt-getupdate sudoapt-getupgrade重启系统后,sudoraspi-config移动到第五项“EnableCamera”,回车进入,按tab键切换到“Enable”回车确认。回到主菜单,tab键切换到“Finish”回车确认。树莓派会自动重启。2. 安装依赖库安装libjpeg的dev版本(注:下面所有安装过程中出现是否继续时,统一选择继续:Yes)sudoapt-getinstalllibjpeg62-devsudoapt-getinstalllibjpeg8-dev3. 下载mjpg-streamerwget HYPERLINK"https://github.com/jacksonliam/mjpg-streamer"https://github.com/jacksonliam/mjpg-streamer或者直接到网站下载zip安装包mjpg-streamer-master.zip使用unzipmjpg-streamer-master.zip解压4. 编译mjpg-streamer安装cmakesudoapt-getinstallcmake切换到mjpg的路径下:cd ~/mjpg-streamer-master/mjpg-streamer-experimental sudomake clean all5. 安装mjpg-streamersudo cp mjpg_streamer /usr/local/binsudo cp output_http.so input_uvc.so /usr/local/lib/sudo cp -R www /usr/local/www6. 开启mjpg-streamerLD_LIBRARY_PATH=/usr/local/lib mjpg_streamer-i"input_uvc.so"-o"output_http.so-w/usr/local/www"或者LD_LIBRARY_PATH=/usr/local/libmjpg_streamer-i"./input_uvc.so-d/dev/video0-r320*240-f12"-o"./output_http.so –p 8090 –w /usr/local/www"或者添加到path路径exportLD_LIBRARY_PATH=/opt/mjpg-streamer/(-r后是分辨率参数,-f后面是帧率,请根据您的摄像头参数进行调整)8090可以自己定义在浏览器http://:8080 打开监控界面
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(可以获取摄像头的数据,生成图片或发