Motion is a program that monitors the video signal from one or more cameras and is able to detect if a significant part of the picture has changed.

The program is written in C and is made for the Linux operating system, (using the video4linux interface). Motion is a command line based tool whose output can be either jpeg, ppm fies or mpeg video sequences. Motion is strictly command line driven and can run as a daemon with a rather small footprint and do.

Motion is the perfect tool for keeping an eye on your property, keeping only those images that are interesting.

installation on ubuntu

sudo apt-get install motion

使用Motion利用USB摄像头录制视频

1.在用户目录下(~)创建.motion文件夹,将/etc/motion下的motion.conf复制到~/.motion下,并获得其修改权限。Motion读取配置文件的优先级是~/.motion/motion.conf;/etc/motion/motion.conf。监视多个摄像头则读取thread1.conf;thread2.conf,以此类推。

2.修改~/.motion/motion.conf文件,近涉及视频录制部分

# Image width (pixels). Valid range: Camera dependent, default: 352 %画面宽度
width 1280

# Image height (pixels). Valid range: Camera dependent, default: 288 %画面高度
height 720

# Maximum number of frames to be captured per second. %帧率即FPS
# Valid range: 2-100. Default: 100 (almost no limit).
framerate 25

# Output 'normal' pictures when motion is detected (default: on) %关闭图片输出
# Valid values: on, off, first, best, center
# When set to 'first', only the first picture of an event is saved.
# Picture with most motion of an event is saved when set to 'best'.
# Picture with motion nearest center of picture is saved when set to 'center'.
# Can be used as preview shot for the corresponding movie.
output_normal off

# Codec to used by ffmpeg for the video compression. %视频编码
# Timelapse mpegs are always made in mpeg1 format independent from this option.
# Supported formats are: mpeg1 (ffmpeg-0.4.8 only), mpeg4 (default), and msmpeg4.
# mpeg1 - gives you files with extension .mpg
# mpeg4 or msmpeg4 - gives you files with extension .avi
# msmpeg4 is recommended for use with Windows Media Player because
# it requires no installation of codec on the Windows client.
# swf - gives you a flash film with extension .swf
# flv - gives you a flash video with extension .flv
# ffv1 - FF video codec 1 for Lossless Encoding ( experimental )
# mov - QuickTime ( testing )
ffmpeg_video_codec mpeg4

# Target base directory for pictures and films %输出文件夹
# Recommended to use absolute path. (Default: current working directory)
target_dir /tmp/motion

3.motion命令启动视频录制

4.Ctrl+c退出视频录制

website

http://sourceforge.net/projects/motion/http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHomehttp://www.lavrsen.dk/foswiki/bin/view/Motion/MotionGuide

ref

http://blog.csdn.net/shulianghe/article/details/8230352

ERROR: V4L2_CID_PRIVATE_BASE undeclared

gcc -g -O2 -D_REENTRANT -DMOTION_V4L2 -DMOTION_V4L2_OLD -DTYPE_32BIT="int" -DHAVE_BSWAP   -march=i686 -Wall -DVERSION=\"3.2.11\" -Dsysconfdir=\"/usr/local/etc\"    -c -o track.o track.c
track.c: In function ‘uvc_center’:
track.c::: error: storage size of ‘control_s’ isn’t known
track.c::: error: ‘V4L2_CID_PRIVATE_BASE’ undeclared (first use in this function)
track.c::: note: each undeclared identifier is reported only once for each function it appears in
track.c::: error: ‘VIDIOC_S_CTRL’ undeclared (first use in this function)
track.c::: error: storage size of ‘queryctrl’ isn’t known
track.c::: error: ‘VIDIOC_QUERYCTRL’ undeclared (first use in this function)
track.c::: warning: unused variable ‘queryctrl’ [-Wunused-variable]
track.c::: warning: unused variable ‘control_s’ [-Wunused-variable]
track.c::: error: storage size of ‘control_s’ isn’t known
track.c::: warning: unused variable ‘control_s’ [-Wunused-variable]
track.c: In function ‘uvc_move’:
track.c::: error: storage size of ‘control_s’ isn’t known
track.c::: error: ‘V4L2_CID_PRIVATE_BASE’ undeclared (first use in this function)
track.c::: error: ‘VIDIOC_S_CTRL’ undeclared (first use in this function)
track.c::: warning: unused variable ‘control_s’ [-Wunused-variable]
track.c::: error: storage size of ‘control_s’ isn’t known
track.c::: warning: unused variable ‘control_s’ [-Wunused-variable]

inserted "*#include <linux/videodev2.h>*" into track.h on line 13, just after the alg.h include

ref: http://sourceforge.net/mailarchive/forum.php?thread_name=50133364.7050501%40depowell.com&forum_name=motion-user

Motion on Ubuntu的更多相关文章

  1. ubuntu下编译ffmpeg+SDL+ffplay提取motion vector

    编译ffmpeg: 第一步: 从官网http://ffmpeg.org/下载最新版本. 解压tar -xjvf ffmpeg-3.3.1.tar.bz2 进入目录cd ffmpeg-3.3.1 第二步 ...

  2. Raspberry Pi + 3个USB摄像头 + Motion(简易监控设备配置记录1——介绍以及安装) 分类: Raspberry Pi 服务器搭建 2015-04-12 19:21 226人阅读 评论(0) 收藏

    参考: Debian官网链接 Motion官网链接 首先,参见Debian官网链接对Motion的介绍,网页中包含了所有相关依赖包,请首先确保这些依赖包的安装. Motion介绍 摘出对Motion的 ...

  3. Opencv on Ubuntu (from Ubuntu)

     OpenCV Introduction Contents Introduction Installation Step 1 Step 2 Running OpenCV Python in C I ...

  4. 在ubuntu 上创建 ssl 证书

    soap webservice 调试工具: soap UI, 可以下载下来玩一玩. Introduction TLS, or transport layer security, and its pre ...

  5. motion的移植和使用

    说明: motion主页:http://www.lavrsen.dk/foswiki/bin/view/Motion motion下载地址:http://sourceforge.net/project ...

  6. DIY远程移动图像监测(tiny6410+USB摄像头+motion+yeelink+curl)

    看到有博客上采用motion搭建移动图像监测系统,感觉很强大,但大多缺少远程监测能力,大多局限于局域网.OK,笔者手头刚好有一个30W像素的USB摄像头,那么借用yeelink服务,也来DIY一把,哈 ...

  7. Ubuntu与ROS的Docker桌面系统与ROS在线练习课程(在线Linux虚拟机)

    ROS在线练习课程正在逐步完善中,目前以ROS官网中文资料制作,可参考: https://www.shiyanlou.com/courses/854  邀请码 U23ERF8H 安装Ubuntu+RO ...

  8. 【OK210试用体验】进阶篇(1)视频图像采集之MJPG-streamer编译(Ubuntu系统下)

    转自: http://bbs.elecfans.com/jishu_510084_1_1.html 本篇主要内容分为: 嵌入式视频图像开源库     mjpg-streamer简介     mjpg- ...

  9. ubuntu系统---ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14

    ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14 @https://www.liaoxu ...

随机推荐

  1. ORCAL

    select name from v$database;--查询当前数据库名: select instance_name from v$instance;--查询当前数据库实例名 select def ...

  2. MySQL - 启停服务

    Windows 环境 命令行方式 启动 MySQL 服务: net start mysql停止 MySQL 服务: net stop mysql 注:需要以管理员身份启动 cmd 后再执行上述命令. ...

  3. .Net Core 学习 (1) - ASP.NET Core 总览

    什么是ASP.NET 1.0 开源 - GitHub 跨平台 - 支持Windows, Mac, Linux 从底层进行了优化 - 使用最小开销的模块化组件 - 给与了开发人员很大的灵活性 为什么要使 ...

  4. HashMap的一般用法以及遍历方法

    private Map<Integer,String> selected = new HashMap<Integer,String>(); selected.put(key,v ...

  5. procedure的over(partition by ) function

    转载自:http://www.2cto.com/database/201310/249722.html oracle的分析函数over(Partition by...)   Sql代码       o ...

  6. [转]如何学好windows c++编程 学习精髓(收集,整理)

    以下是很多VC爱好者的学习经历,希望对大家有所帮助: 我记得我在网上是这么说的:先学win32的SDK,也就是API, 再学MFC,这么一来呢,就先有个基础,MFC是API的封装, 如果API用的熟了 ...

  7. 如何一行jquery代码写出tab标签页(链式操作)

    啦啦!今天又学了一招,js写几十行的tab标签页jquery写一行就行啦,用到了链式操作!以下是代码: <!DOCTYPE html> <html lang="en&quo ...

  8. virtual析构函数的作用

    C++ Primter中讲“在 C++ 中,基类必须指出希望派生类重写哪些函数,定义为 virtual 的函数是基类期待派生类重新定义的,基类希望派生类继承的函数不能定义为虚函数”. 析构函数是为了在 ...

  9. 桶排序(BucketSort)

    1 桶排序核心思想是 根据数据规模n划分 m个相同大小的区间 (每个区间为一个桶,桶可理解为容器) 2 每个桶存储区间内的元素(区间为半开区间 例如[0,10) 或者 [200,300) ) 3 将n ...

  10. treeview OnSelectedNodeChanged js的方法

    可以在OnSelectedNodeChanged的cs中,对node赋值如此: nod.Text = "<span onclick=''>" + node名称 + &q ...