移动图像监控系统

去找一些相关开源程序进行移植:百度搜索-linux 移动监控

motion是一套免费开源的移动图像监测程序

前面我们已经使用了很多开源软件,他们的使用方法都是大同小异的

1)、先在当前目录下新建一个子目录

mkdir __install

2)配置

./configure --prefix=/${PWD}/__install --host=arm-linux

出现错误

也就是说我们系统当中没有安装mysql数据库的库文件,所以没有办法使mysql得到支持,处理方法两种:

a、在linux系统中,找到mysql的库,把它安装起来;

b、因为我的这个项目用不上数据库,那么能不能把这个mysql这个支持给去掉呢

vi ./configure ,然后搜索/without,往下找到下面

可以看出该选项是屏蔽掉mysql的支持

出现如下错误

然后还是按照上面去找without的PostgreSQL

3)编译

make

4)安装

make install

结果

这里要强调一点,编译好的motion还需要一个配置文件,这个配置文件位置

先把motion放到根文件系统里面的sbin目录下,然后再复制__install/etc/motion-dist.conf到根文件系统的根目录下面。

下面要对motion-dist.conf文件进行配置

我们的motion的运行会根据这个配置文件进行相应的工作,

运行motion这个程序,

motion -c  /motion-dist.conf 注意-c是指明motion的配置文件在哪儿

使用ps 查看motion进程启动起来了没有

初步能运行motion这个程序,但是还不是很完善!!!!!!!!!!!

当我们监测到移动物体的时候,声音报警子系统得报警,所以需要把motion与声音报警子系统关联起来

关键点就在配置文件里面

当motion监测到有移动物体的时候,它可以去调用相应的程序

当监测到有移动图像的时候就让它去执行madplay这个播放程序

重新启动motion,把原来的motion给kill掉

当有移动物体移动的时候,就会执行刚才那个alarm.mp3文件。

还有一个事情没有做,就是motion不仅不可以抓取到图片,还可以抓取到视频

让motion支持抓取到视频

我们再把motion的配置重新做一次,

下面去配置ffmpeg

创建目录

配置

编译

make

安装

make install

结果

把这些库拷贝到开发板的lib目录下去 cp * .../rootfs/lib/

重新配置编译motion

再对之前的进行make distclean

需要加上ffmpeg的选项,需要把ffmpeg的库路径也带上

然后再编译,编译之前最好把__install里面的东西删除,

然后make

接着安装

make install

最后把__install/bin下的motion复制到开发板sbin里面去

,然后启动开发板执行。

上面的图是把ffmpeg里面的库(包括目录)拷贝到开发板里面去

阶段2-新手上路\项目-移动物体监控系统\Sprint3-移动监控主系统设计与开发的更多相关文章

  1. 移动物体监控系统-sprint3移动监控主系统设计与开发

    一.移动监控的原理 通过获取摄像头图像,比较前后每一帧的图像数据,从而实现移动物体监控.所有移动监控原理都是这样,只是图像帧的对比的算法不一样. 二.移动物体监控系统的实现 选择开源的移动监控软件mo ...

  2. 第5季-小试牛刀-项目开发\阶段2-新手上路\项目-移动物体监控系统\Sprint0-产品设计与规划

    lesson1---产品功能展示 先完成准备阶段,准备阶段要做的事情: a.项目经理选择团队, b.根据项目用户需求以及同类型的实物,制定产品功能列表 c.根据功能的难易程度,制定迭代周期以及在每周期 ...

  3. 阶段2-新手上路\项目-移动物体监控系统\Sprint1-声音报警子系统开发\第1节-Sprint Backlog规划

    根据之前的sprint1-声音报警子系统是相对比较大的一个需求,需要把它进一步细化,然后指定sprint Backlog product Backlog是整个产品的功能列表! sprint Backl ...

  4. 阶段2-新手上路\项目-移动物体监控系统\Sprint4-嵌入式web服务器开发\第3课-CGI程序开发

    实现CGI程序显示一幅图片最核心的功能 把上一节课编写好的led.c程序拷贝过来,并重新命名为image.c 把led的某些部分删除,后如下 那么如何显示一幅图片呢,百度(搜索在html里面去插入图片 ...

  5. 阶段2-新手上路\项目-移动物体监控系统\Sprint2-摄像头子系统开发\第2节-V4L2图像编程接口深度学习

    参考资料: http://www.cnblogs.com/emouse/archive/2013/03/04/2943243.htmlhttp://blog.csdn.net/eastmoon5021 ...

  6. 分布式监控系统Zabbix3.2监控数据库的连接数

    在 分布式监控系统Zabbix3.2跳坑指南 和 分布式监控系统Zabbix3.2给异常添加邮件报警 已经介绍了如何安装以及报警.此篇通过介绍监控数据库的3306端口连接数来了解如何监控其它端口和配置 ...

  7. 初试 Prometheus + Grafana 监控系统搭建并监控 Mysql

    转载自:https://cloud.tencent.com/developer/article/1433280 文章目录1.Prometheus & Grafana 介绍1.1.Prometh ...

  8. 基于视频压缩的实时监控系统-sprint3采集端传输子系统设计

    由于jpg本来就是编码压缩后的格式,所有无需重复编码 传输子系统步骤:(1)初始化:a.socket(初始化tcp连接):b.将事件添加到epoll中 (2)事件处理:接收到网络包.发送完网络包 st ...

  9. day26 分布式监控系统开发

    本节内容 为什么要做监控? 常用监控系统设计讨论 监控系统架构设计 监控表结构设计 为什么要做监控? –熟悉IT监控系统的设计原理 –开发一个简版的类Zabbix监控系统 –掌握自动化开发项目的程序设 ...

随机推荐

  1. MySQL的进程状态

    通过show processlist查看MySQL的进程状态,在State列上面的状态有如下这些: Analyzing线程对MyISAM 表的统计信息做分析(例如, ANALYZE TABLE ).c ...

  2. crond

    Crond介绍 Crond是linux系统用来定期执行命令或程序的工具. 服务 /etc/init.d/crond 命令 crontab [root@rhel6 script]# crontab -h ...

  3. China sets economic reform priorities for 2015

    BEIJING -- China's State Council, the cabinet, on Monday unveiled this year's priorities for economi ...

  4. [算法]在数组中找到出现次数大于N/K的数

    题目: 1.给定一个整型数组,打印其中出现次数大于一半的数.如果没有出现这样的数,打印提示信息. 如:1,2,1输出1.    1,2,3输出no such number. 2.给定一个整型数组,再给 ...

  5. Linux离线同步时间

    Linux离线同步时间 思路:以其中一台时间为准 脚本 #!/bin/shcurrent=`date '+%H:%M:%S'` for i in bigdata1 bigdata2 bigdata3 ...

  6. MacacaUIFinder元素查找器

    MacacaUIFinder元素查找器 1. 这是什么? 这是一个用JavaSwing写的Macaca元素查找器,方便测试的小伙伴们定位元素,如果觉得不错,还请点个Star鼓励下,嘿嘿. 地址:htt ...

  7. Java -- AWT , GUI图形界面

    1. AWT 容器继承关系 示例1: public class Main { public static void main(String[] args) throws Exception { Fra ...

  8. hadoop_学习_01_入门准备

    一.入门准备 1.零基础学习Hadoop 2.大数据初学者应该知道的知识

  9. Java微信开发_Exception_03_errcode:48001 errmsg:api unauthorized hint

    创建菜单时出现这个异常, 异常信息:errcode:48001 errmsg:api unauthorized hint 解读:调用的接口没有权限. 回去公众号后台一看,发现真的没有自定义菜单的权限, ...

  10. python 标准库 —— 线程与同步(threading、multiprocessing)

    1. 创建线程 使用 os 下的 fork() 函数调用(仅限 Unix 系统) import os print('current process (%s) starts ...' % (os.get ...