需求?当然不是为了艳照!你们这些猥琐的人类!

毕竟家里总会有没人的时候,出门走到半路忘记煤气灶是不是关了,还得回去看看。在这个科技以人为本的时代,当然应该是拿出智能手机联网看看啦。还有万一有人闯空门什么的,也能有个及时报警什么的。

motion是什么?motion是一个提供视频监控解决方案的开源软件,支持Linux/FreeBSD/MacOS等多个平台,本文以Linux为例,测试平台是LinuxMint17。motion的功能主要有以下几个:

支持USB摄像头和webcam(可通过HTTP查看实时视频直播的摄像头)
支持多摄像头
提供web访问实时视频功能(可以把USB摄像头变成webcam)
重点是运动检测,可以在画面中出现活动物体时才开始拍摄并记录,以节约存储空间
可以配置在运动事件发生时拍照(连续拍照,可选保存全部照片或只保存一张,保存一张可选保存第一张,最好的一张,或是运动在画面中央的一张)
可以配置各种事件触发(比如在运动检测发生时或者视频照片保存后发个邮件什么的)
可以配置web远程管理(用处不大,建议关闭)
可以配置使用数据库(支持MySQL和PostgreSQL)
……

当然,其中的web实时视频和web管理默认都只能本机访问,不建议配置为直接允许远程访问,不安全。更安全的做法是:通过一个加密的web代理提供远程访问,或者干脆就只能通过ssh tunnel连到本地访问。为了手机访问方便的话,还是前者吧。

开工。

LinuxMint上安装很简单,apt-get即可,不过它还依赖了ffmpeg,会自动装上。

然后是配置,有好几种配置方式,比如常见的配置到~/.motion下什么的,不过我还是建议直接修改/etc/motion/motion.conf比较好,否则搞出太多配置文件,会搞不清最终生效的是哪个。

配置文件里每个选项都有备注说明,就不一一介绍了。通常需要改的几个参数有:

daemon off - 一般就off好了,需要后台运行可以用 service motion start 来启动

videodevice /dev/video0 - 一般USB摄像头默认就是这个,如果有多个的话就以此类推

v4l2_palette 8 - 一般就用8好了,虽然并不是所有的摄像头都是这个模式(至少我手里两个分别是3和6),但其实motion会自动检测选择合适的。关于这个参数有一点需要说明的是,在motion的早期版本中支持了18种,现在只有9种,其中有一些老式摄像头使用的SGBRG8模式(GBRG)在新版本的motion中已经不再被支持,请更换新的摄像头,不建议使用motion文档评论区有人提供的补丁。目前市场上常见的RGB24或YUY2之类的都没问题

width/height - 建议根据摄像头修改,默认的320x240太低了,现在最低端的摄像头也至少是640x480的,连352x288的都已经没有了

framerate 2 - 默认的2有点低,但是太高的话占用的存储空间也会大,自己考虑决定吧

output_normal on - 检测到运动时拍照,on为保存所有拍的照片(会很多),可选关闭,第一张,最佳,中央

ffmpeg_cap_new on - 检测到运动时录像

ffmpeg_video_codec swf - 支持多种视频文件格式,不过要通过网页看的话,推荐还是swf格式

target_dir - 照片和视频的默认存放路径。注意:motion 默认以motion用户运行,所以这个路径的权限要注意一下

webcam_port 8081 - 实时查看视频的HTTP端口

control_port 8080 - 管理motion的WEB页面端口

以上两个设置为0即可关闭相应功能

配置文件最后的 thread 参数用于指定多个摄像头时其它摄像头使用的配置文件

按自己的需要修改好配置文件以后就可以启动motion了:

sudo service motion start

命令行上会有一些提示信息,但是不太全,不过没关系,还有日志嘛:

tail -f /var/log/syslog

如果有错误,请根据错误信息检查修改配置文件,直到服务正常启动。

现在就可以用浏览器打开: http://localhost:8080 查看实时视频,如果是一块灰图,说明摄像头配置不对,请查看日志。

事件触发的配置也在配置文件里,常用的有:

on_event_start - 运动事件开始
on_event_end - 运动事件结束
on_picture_save - 图片保存后(可选参数 %f 为相应的图片文件名)
on_movie_end - 视频保存后(可选参数 %f 为相应的视频文件名)

这几个选项的参数都是可执行文件名,可以自己写一些脚本触发执行,比如发个邮件以便及时收到通知(或利用手机运营商提供的邮箱转成短信提醒),或上传到云端(防止丢失证据)。

至此大功告成。

补充说明:

目前我只在Linux下测试成功,FreeBSD下有困难,原因在于摄像头驱动不好搞。虽然我一向喜欢FreeBSD多些,但是碰到硬件驱动问题还真是没办法。

FreeBSD版的motion本身应该是没有多大问题,问题在于它使用一个叫PWCBSD的东西来做摄像头兼容处理,因为大部分摄像头都可以被V4L(Video for Linux)所驱动,这个PWCBSD则是实现了部分摄像头的V4L驱动在BSD上的兼容,问题在于它实现的型号太少,反正我手头上的几个都不行,所以完全没法用。

更坑的是PWCView倒是支持的摄像头比较多一些——注意,是ports里另外一个单独的PWCView,不是PWCBSD自带的那个PWCView。

所以我目前的办法是用一个python程序去调用PWCView来实现部分motion功能,因为功能很简陋,就不献丑了。

推荐还是用Linux吧,省事很多。

用motion实现家庭视频监控相关推荐

  1. 华为云家庭视频监控帮你一起守护家

    设想一下? 离开家了突然想起家里空调没关怎么办? 家里没人有陌生人入侵了怎么办? 不在家家里老人出事了怎么办? 不用愁,总有办法解决的,这些日常生活中极容易遇到的事情,没有分身术的时候,华为云家庭视频 ...

  2. Python免费的家庭视频监控系统(1)

    Python免费家庭视频监控系统(1) 文章目录 基本原理: 环境搭建 FFmpeg 安装及使用 如何安装? ffmpeg 推rtmp视频流: nginx网络服务器 如何获取安装包 如何安装 如何开启 ...

  3. Android视频监控!!!随时随地监控你的家庭

    Android视频监控!!!随时随地监控你的家庭 欢迎交流QQ:1210530255

  4. EasyCVR家庭远程视频监控解决方案

    一.方案背景 现代科技的高速发展已经让远程照顾小孩.老人.家庭成员.宠物等成为一种可能.人们可以在繁忙工作的同时,通过远程视频监控了解自己的家庭概况,对突发事件及时作出分析与判断. 通过家庭安防监控, ...

  5. 2021综述:视频监控中的多目标跟踪

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源丨CV技术指南 作者丨仿佛若有光 前言 本文来自一篇2021的论文,论文简要回顾了现有的SOTA模 ...

  6. C# 视频监控系列 序 [完]

    一.截图 二.关于视频监控系统的一些摘录 中国视频监控市场现状与发展趋势     近年来,中国视频监控市场受到"平安城市"项目.奥运安防项目以及各地.各行业安防项目需求加速增长等因 ...

  7. 中国安防视频监控行业发展前景分析

    [导读]视频监控系统作为安防必不可少的技术手段,正在全球安防领域扮演越来越重要的角色,其已逐渐发展为世界各国政府.企业乃至个人家庭安防系统建设领域的刚性需求. 一.全球安防视频监控市场容量巨大,未来仍 ...

  8. 基于3G网络的汽车防盗报警系统视频监控设计

    引言随着第三代移动通信网络的成熟发展,基于移动通信网络的视频监控技术的应用越来越广泛.本文基于3G网络覆盖率高.可靠性强.传输速率快的优势,设计实现汽车防盗报警系统的可视监控.本设计在现有的电子式汽车 ...

  9. 视频监控中的光端机是干什么用的?

    现如今,随着社会的进步和经济的发展,人民生活开始富裕,经济宽裕的家庭用户已开始考虑使用监控产品来保护自己,监控已经呈现融入家庭生活的趋势.就数字监控而言,虽然是后起之秀,但依然是现阶段发展趋势.光端机 ...

最新文章

  1. java 获取utc,如何在Java 8中获取UTC + 0日期?
  2. Maven和Spring mvc下的页面的跳转与取值
  3. 互联网的尽头是乡村振兴
  4. mysql中事件失效如何解决
  5. Arrays 工具类
  6. 制作MACOSX10.10.3/10.9安装启动盘U盘的教程
  7. 表单提交防止恶意修改
  8. Android 功耗(24)---不待机分析
  9. 这下终于可以方便地发表测试型网页代码了(附源码下载)
  10. Windows 7下ghost Windows XP不能启动的解决方法
  11. 使用Enide Studio 2014 IDE来表达JS WebApplication
  12. 个人游戏程序开发总结
  13. 计算机技术应用于测量,在测量绘图中计算机技术的应用分析
  14. GPU VS FPGA对比
  15. 验证码爬取并识别-云大urp教务系统大作战(1)
  16. 如何用Python抓网页,案例教程都总结到位了
  17. 创建达梦到Oracle的DBLINK(OCI方式)
  18. WCF学习之:利用Throttling提高服务器性能
  19. 施工现场工地监管如何能够接入4G摄像头实现流媒体服务器视频监控?
  20. 【渝粤题库】陕西师范大学201771 中国古代文学(一) 作业

热门文章

  1. 戒烟20分钟-15年
  2. 开发实战:如何利用实时语音转写技术搞定会议纪要
  3. 清理完计算机开机屏红,解决办法:计算机启动时如何解决红屏问题
  4. torch.split()
  5. 【Docker】Docker中启动redis
  6. 最全解析:部署跨境电商erp系统前需要做哪些准备?
  7. 深入解读 | 高清人像美肤GAN模型,达摩院一键去瑕疵、褶皱
  8. BTA | 康烁:基于linux的挖矿操作系统
  9. window管理工具Dism++
  10. 外贸开发信里面怎么放置退订链接?