检查摄像头设备

ls -al /dev/ | grep video

1、安装motion

  1. sudo apt-get install motion

2、修改配置文件

配置文件路径:/etc/motion/motion.conf,执行命令:

  1. sudo vim /etc/motion/motion.conf

修改为:可复制直接替换后按照需求修改参数

  1. # Rename this distribution example file to motion.conf
  2. # 此配置文件是由Motion 4.1.1生成的
  3. # 文档: /usr/share/doc/motion/motion_guide.html
  4. # 该文件参见 https://gist.github.com/ianlini/404aadbd8f62bb5b497141f0f11666cb#file-motion-conf
  5. ############################################################
  6. # 守护进程
  7. ############################################################
  8. # 以守护程序(后台)模式启动并释放终端(默认值:关闭off)
  9. daemon on
  10. # 用于存储进程ID的文件,也称为pid文件。(默认值:未定义)
  11. process_id_file /var/run/motion/motion.pid
  12. ############################################################
  13. # 基本设置模式
  14. ############################################################
  15. # 以设置模式启动,禁用守护程序。(默认值:关闭off)
  16. setup_mode off
  17. # 如果未定义stderr和syslog,请使用文件保存日志消息。(默认值:未定义)
  18. logfile /var/log/motion/motion.log
  19. # 日志消息的级别[1..9](EMG,ALR,CRT,ERR,WRN,NTC,INF,DBG,ALL)。(预设值:6/NTC)
  20. log_level 6
  21. # 过滤以按类型(COR,STR,ENC,NET,DBL,EVT,TRK,VID,ALL)记录消息。(默认:全部)
  22. log_type all
  23. ###########################################################
  24. # 捕获设备选项
  25. ############################################################
  26. # 用于捕获的视频设备(default /dev/video0)
  27. # FreeBSD的默认值为 /dev/bktr0
  28. videodevice /dev/video0
  29. # v4l2_palette允许选择要通过运动使用的首选调色板
  30. # 有关有效的选项和值,请参见motion_guide.html。(默认值:17) (default: 17)
  31. v4l2_palette 17
  32. # 使用调谐器作为源进行捕获的调谐器设备(default /dev/tuner0)
  33. # 仅用于FreeBSD。保留对Linux的注释
  34. ; tunerdevice /dev/tuner0
  35. # 要使用的视频输入(默认值:-1)
  36. # 对于视频/电视卡,通常应设置为0或1,对于USB摄像机,通常应设置为-1
  37. # 在OpenBSD上将uvideo(4)设置为0
  38. input -1
  39. # 要使用的视频规范 (only for video capture and TV tuner cards)
  40. # Values: 0 (PAL), 1 (NTSC), 2 (SECAM), 3 (PAL NC no colour). Default: 0 (PAL)
  41. norm 0
  42. # 将调谐器设置为(kHz)的频率 (only for TV tuner cards) (default: 0)
  43. frequency 0
  44. # 覆盖网络摄像头的电源线频率。(通常没有必要)
  45. # Values:
  46. # -1 : 请勿修改设备设置
  47. # 0 : 电源线频率禁用
  48. # 1 : 50hz
  49. # 2 : 60hz
  50. # 3 : 自动
  51. power_line_frequency -1
  52. # 旋转图像此角度。旋转会影响所有保存的图像以及电影。有效值:0(默认=不旋转),90、180和270。
  53. rotate 0
  54. # 将图像翻转到给定的轴(垂直或水平)上,垂直表示从左到右,水平表示从上到下。有效值:none,v和h。
  55. flip_axis none
  56. # 图像宽度(像素)。有效范围:取决于摄像机,默认值:320
  57. width 640
  58. # 图像高度(像素)。有效范围:取决于相机,默认值:240
  59. height 480
  60. # 每秒要捕获的最大帧数,有效范围:2-100。默认值:100(几乎没有限制)
  61. framerate 30
  62. # 从相机捕获相框之间的最短时间(以秒为单位)。默认值:0=禁用-捕获速率由相机帧速率给出。当您要以低于每秒2的速率捕获图像时,使用此选项。
  63. minimum_frame_time 0
  64. # 完整的网络摄像机URL。有效服务:http:// ftp:// mjpg:// rtsp:// mjpeg://文件:// rtmp://
  65. ; netcam_url value
  66. # 如果需要,网络摄像机的用户名和密码。语法为user:password
  67. ; netcam_userpass value
  68. # 网络套接字保持活动的设置应提高兼容网络摄像机的性能。
  69. # off: 使用HTTP/1.0的历史实现,在每个http请求之后关闭套接字。
  70. # force: 将HTTP/1.0请求与keep alive标头一起使用,以重用同一连接。
  71. # on: 默认情况下,使用支持保持活动状态的HTTP/1.1请求。
  72. # Default: off
  73. netcam_keepalive off
  74. # 必要时用于网络摄像头代理服务器的URL,例如“ http//myproxy”。
  75. # 如果需要80以外的端口号,请使用“ http://yproxy1234”。
  76. # 默认:未定义
  77. ; netcam_proxy value
  78. # 对固件较差/较脏的网络摄像机设置不太严格的jpeg检查。
  79. # 默认:关闭off
  80. netcam_tolerant_check off
  81. # RTSP连接使用TCP与摄像机通信。可以防止图像损坏。
  82. # 默认:开 on
  83. rtsp_uses_tcp on
  84. # 如果使用通过OpenMax/MMAL访问的摄像机,则使用的摄像机名称
  85. # 默认:未定义
  86. ; mmalcam_name vc.ril.camera
  87. # 相机控制参数(请参阅raspivid/raspistill工具文档)
  88. # 默认:未定义
  89. ; mmalcam_control_params -hf
  90. # 让运动调节视频设备的亮度(默认值:关闭)。
  91. # auto_brightness功能使用亮度选项作为其目标值。
  92. # 如果亮度为零,则auto_brightness将调整为平均亮度值128。
  93. # 仅推荐用于没有自动亮度的相机
  94. auto_brightness off
  95. # 设置视频设备的初始亮度。
  96. # 如果启用了auto_brightness,则此值定义平均亮度级别
  97. # Motion会尝试调整的# 号。
  98. # 有效范围0-255,默认0=禁用
  99. brightness 0
  100. # 设置视频设备的对比度。
  101. # 有效范围0-255,默认0=禁用
  102. contrast 0
  103. # 设置视频设备的饱和度。
  104. # 有效范围0-255,默认0=禁用
  105. saturation 0
  106. # 设置视频设备的色调(NTSC功能)。
  107. # 有效范围0-255,默认0=禁用
  108. hue 0
  109. ############################################################
  110. # 循环(同一视频设备名称上有多个输入)
  111. ############################################################
  112. # 在每个循环步骤中要捕获的帧数(默认值:1)
  113. roundrobin_frames 1
  114. # 在每个循环步骤之前要跳过的帧数(默认值:1)
  115. roundrobin_skip 1
  116. # 尝试滤除轮询产生的噪声(默认值:关闭)
  117. switchfilter off
  118. ############################################################
  119. # 运动检测设置:
  120. ############################################################
  121. # 阈值表示图像中已更改像素的数量
  122. # 触发运动检测(默认值:1500)
  123. threshold 100
  124. # 尽可能自动调低阈值(默认值:关闭)
  125. threshold_tune off
  126. # 运动检测的噪声阈值(默认值:32)
  127. noise_level 32
  128. # 自动调整噪声阈值(默认值:开)
  129. noise_tune on
  130. # 使用(e)rode或(d)ilate或(l)abel使运动图像去斑点(默认值:未定义)
  131. # 推荐值为EedDl。E,e,d和D的任何组合(及其数量)均有效。
  132. # (l)abeling只能使用一次,并且'l'必须是最后一个字母。
  133. # 注释掉以禁用
  134. despeckle_filter EedDl
  135. # 在预定义区域(1-9)中检测运动。区域编号如下:1 2 3
  136. # 当运动为4 5 6时立即启动脚本(on_area_detected)
  137. # 在给定区域之一中检测到# ,但在一次事件中仅检测到一次。7 8 9
  138. # 使用此选项可以指定一个或多个区域。注意:此选项
  139. # 不会将检测限制在这些区域!(默认值:未定义)
  140. ; area_detect value
  141. # 用作灵敏度蒙版的PGM文件的完整路径名。(默认值:未定义)
  142. ; mask_file value
  143. # PGM文件可完全遮盖图像区域的完整路径名。(默认值:未定义)
  144. # mask_privacy value
  145. # 在操作过程中动态创建遮罩文件(默认值:0)
  146. # 调整遮罩的速度从0(关闭)更改为10(快速)
  147. smart_mask_speed 0
  148. # 忽略突然突然的大量光强变化,以图片的百分比表示
  149. # 改变强度的区域。有效范围:0-100,默认值:0=禁用
  150. lightswitch 0
  151. # 相框必须至少包含指定数量的动作
  152. # 在检测到它们是真实运动之前连续# 号。默认为1
  153. # 检测到运动。有效范围:1到数千,建议1-5
  154. minimum_motion_frames 1
  155. # 指定运动前预先捕获(缓冲)的图片数量检测到# ,将在运动检测时输出。
  156. # 推荐范围:0到5(默认值:0)
  157. # 不要使用大值!较大的值将导致Motion跳过视频帧,而
  158. # 导致电影不流畅。要使电影平滑,请改用较大的post_capture值。
  159. pre_capture 2
  160. # 不再检测到运动后要捕获的帧数(默认值:0)
  161. post_capture 900
  162. # Event Gap是没有运动检测到触发事件结束的秒数。
  163. # 事件定义为在短时间内拍摄的一系列运动图像。
  164. # 建议值为60秒(默认)。值-1被允许和禁用
  165. # 事件导致将所有Motion写入单个电影文件,并且没有pre_capture。
  166. # 如果设置为0,则运动将以无间隙模式运行。电影不再有空白。一个事件在没有检测到任何运动并且post_capture已经结束后立即结束。
  167. event_gap 0
  168. # 电影的最大长度(以秒为单位)
  169. # 超过该值时,将创建一个新的电影文件。(默认值:0=无限)
  170. max_movie_time 0
  171. # 即使没有运动也始终保存图像(默认值:关闭)
  172. emulate_motion off
  173. ############################################################
  174. # 图像文件输出
  175. ############################################################
  176. # 检测到运动时输出“正常”图片(默认值:关闭)
  177. # Valid values: on, off, first, best, center
  178. # 设置为“first”时,仅保存事件的第一张图片。
  179. # 设置为“best”时,将保存事件动作最多的图像。
  180. # 设置为“center”时,将保存具有最接近图像中心的动态图像。
  181. # 可以用作相应电影的预览镜头。
  182. output_pictures off
  183. # 输出仅具有像素移动对象的图像(重影)(默认值:关闭)
  184. output_debug_pictures off
  185. # jpeg和webp压缩使用的质量(百分比)(默认值:75)
  186. quality 75
  187. # 输出图像的类型
  188. # 有效值: jpeg, ppm or webp (default: jpeg)
  189. picture_type jpeg
  190. ############################################################
  191. # 使用ffmpeg对运动视频进行编码(默认值:关闭)
  192. ffmpeg_output_movies on
  193. # 使用ffmpeg制作显示运动像素(重影)的视频(默认值:关闭)
  194. ffmpeg_output_debug_movies off
  195. # ffmpeg编码器使用的比特率(默认值:400000)
  196. # 如果ffmpeg_variable_bitrate不为0(禁用),则忽略此选项
  197. ffmpeg_bps 400000
  198. # 启用并定义ffmpeg编码器的可变比特率。
  199. # 如果启用了可变比特率,则将忽略# ffmpeg_bps。
  200. # 有效值:0(默认值)=由ffmpeg_bps定义的固定比特率,
  201. # 或范围1-100,其中1表示最差的质量,100表示最佳。
  202. ffmpeg_variable_bitrate 0
  203. # 容器/编解码器输出视频
  204. # 有效值: mpeg4, msmpeg4, swf,flv, ffv1, mov, mp4, mkv, hevc
  205. ffmpeg_video_codec mkv
  206. # 创建视频时,应按顺序复制帧
  207. # 保持每秒请求的帧数
  208. ffmpeg_duplicate_frames true
  209. # 间隔拍摄之间的时间间隔(以秒为单位)。默认值:0=off
  210. timelapse_interval 0
  211. # 间隔文件翻转模式。有关选项和用途,请参见motion_guide.html。
  212. timelapse_mode daily
  213. # 缩时播放的帧频
  214. timelapse_fps 30
  215. # 定时拍摄视频的容器/编解码器。有效值:mpg或mpeg4
  216. timelapse_codec mpg
  217. ############################################################
  218. # 外部管道到视频编码器
  219. # 仅替换ffmpeg_output_movies的FFMPEG内置编码器。
  220. # 还使用了movie_filename和timelapse_filename选项
  221. # 通过ffmpeg功能
  222. #############################################################
  223. # Bool启用或禁用extpipe(默认值:关闭)
  224. use_extpipe off
  225. # 外部程序(完整路径和可选)将原始视频传输到 通常,对STDIN使用'-'。
  226. # Generally, use '-' for STDIN...
  227. ;extpipe mencoder -demuxer rawvideo -rawvideo w=%w:h=%h:i420 -ovc x264 -x264encopts bframes=4:frameref=1:subq=1:scenecut=-1:nob_adapt:threads=1:keyint=1000:8x8dct:vbv_bufsize=4000:crf=24:partitions=i8x8,i4x4:vbv_maxrate=800:no-chroma-me -vf denoise3d=16:12:48:4,pp=lb -of avi -o %f.avi - -fps %fps
  228. ;extpipe x264 - --input-res %wx%h --fps %fps --bitrate 2000 --preset ultrafast --quiet -o %f.mp4
  229. ;extpipe mencoder -demuxer rawvideo -rawvideo w=%w:h=%h:fps=%fps -ovc x264 -x264encopts preset=ultrafast -of lavf -o %f.mp4 - -fps %fps
  230. ;extpipe ffmpeg -y -f rawvideo -pix_fmt yuv420p -video_size %wx%h -framerate %fps -i pipe:0 -vcodec libx264 -preset ultrafast -f mp4 %f.mp4
  231. ############################################################
  232. # 快照(传统定期网络摄像头文件输出)
  233. ############################################################
  234. # 每N秒创建一次自动快照(默认值:0=禁用)
  235. snapshot_interval 0
  236. ############################################################
  237. # 文字显示
  238. # %Y=年,%m=月,%d=日期,
  239. # %H=小时,%M=分钟,%S=秒,%T= HH:MM:SS,
  240. # %v=事件,%q=帧号,%t=摄像机ID,
  241. # %D=更改的像素,%N=噪声水平,\n=换行,
  242. # %i和%J=运动区域的宽度和高度,
  243. # %K和%L=运动中心的X和Y坐标
  244. # %C= text_event定义的值-请勿与text_event一起使用!
  245. # 您可以在文本两边加上引号以允许
  246. # 前导空格
  247. ############################################################
  248. # 在移动物体周围找到并绘制一个方框。
  249. # 有效值:: on, off, preview (默认: off)
  250. # 设置为“预览”将仅在Preview_shot图片中绘制一个框。
  251. locate_motion_mode off
  252. # Set the look and style of the locate box if enabled.
  253. # Valid values: box, redbox, cross, redcross (default: box)
  254. # 设置定位框的外观和样式(如果启用)。
  255. # 有效值:box,redbox,cross,redcross(默认值:box)
  256. # 设置为'box'将绘制传统框。
  257. # 设置为“redbox”将绘制一个红色框。
  258. # 设置为'cross'将画一点十字以标记中心。
  259. # 设置为'redcross'将绘制一个小红叉以标记中心。
  260. locate_motion_style redbox
  261. # 使用与C函数strftime(3)相同的选项绘制时间戳
  262. # 默认值:%Y-%m-%d \n%T= ISO格式的日期和24小时制的时间
  263. # 文字位于右下角
  264. text_right %Y-%m-%d %T-%q
  265. # 使用与C函数strftime(3)相同的选项在图像上绘制用户定义的文本
  266. # 默认:未定义=无文本
  267. # 文字放在左下角
  268. text_left CAMERA %t
  269. # 在图像上绘制更改的像素数(默认值:关闭)
  270. # 通常会设置为关闭,除非您进行设置和调整动作设置
  271. # 文字位于右上角
  272. text_changes off
  273. # 此选项定义特殊事件转换说明符%C的值
  274. # 您可以在此选项中使用除%C之外的任何转换说明符。日期和时间
  275. # 值来自当前事件中第一张图像的时间戳。
  276. # 默认:%Y%m%d%H%M%S
  277. # 想法是%C可以使用文件名和text_left/right来创建
  278. # 每个事件的唯一标识符。
  279. text_event %Y%m%d%H%M%S
  280. # 在图像上以正常大小的两倍绘制字符。(默认值:关闭)
  281. text_double off
  282. # 包含在JPEG EXIF注释中的文本
  283. # 可以是任何文本,包括转换说明符。
  284. # 包含EXIF时间戳,与该文本无关。
  285. ;exif_text %i%J/%K%L
  286. ##########################################################
  287. # 图像和电影的目标目录和文件名
  288. # 对于选项snapshot_,picture_,movie_和timelapse_filename
  289. # 您可以使用转化说明符
  290. # %Y=年,%m=月,%d=日期,
  291. # %H=小时,%M=分钟,%S=秒,
  292. # %v=事件,%q=帧号,%t=摄像机ID,
  293. # %D=更改的像素,%N=噪声水平,
  294. # %i和%J=运动区域的宽度和高度,
  295. # %K和%L=运动中心的X和Y坐标
  296. # %C= text_event定义的值
  297. # 允许使用圆括号将引号引起来。
  298. ##########################################################
  299. # 图片和电影的目标基本目录
  300. # 建议使用绝对路径。(默认值:当前工作目录)
  301. target_dir /var/log/motion
  302. # 相对于target_dir的快照(jpeg,ppm或webp)快照的文件路径
  303. # 默认值:%v-%Y%m%d%H%M%S快照
  304. # 默认值等同于旧版oldlayout选项
  305. # 对于Motion 3.0兼容模式,选择:%Y /%m /%d /%H /%M /%S快照
  306. # 文件扩展名.jpg,.ppm或.webp会自动添加,因此请不要添加。
  307. # 注意:在target_dir中创建的名为lastsnap.jpg的符号链接将始终
  308. # 指向最新的快照,除非snapshot_filename恰好是'lastsnap'
  309. snapshot_filename %v-%Y%m%d%H%M%S-snapshot
  310. # 相对于target_dir的运动触发图像(jpeg,ppm或.webp)的文件路径
  311. # 默认值:%v-%Y%m%d%H%M%S-%q
  312. # 默认值等同于旧版oldlayout选项
  313. # 对于Motion 3.0兼容模式,选择:%Y /%m /%d /%H /%M /%S-%q
  314. # 文件扩展名为.jpg,.ppm或.webp,因此会自动添加
  315. # 设置为“预览”和最佳预览功能可启用特殊命名
  316. # 预览镜头的约定。详情请参阅运动指南
  317. picture_filename %v-%Y%m%d%H%M%S-%q
  318. # 运动触发的ffmpeg影片(电影)相对于target_dir的文件路径
  319. # 默认值:%v-%Y%m%d%H%M%S
  320. # 文件扩展名(.mpg .avi)是自动添加的,因此不要包括它们
  321. movie_filename %v-%Y%m%d%H%M%S
  322. # 相对于target_dir的间隔拍摄电影的文件路径
  323. # 默认:%Y%m%d-timelapse
  324. # 文件扩展名(.mpg .avi)是自动添加的,因此不要包括它们
  325. timelapse_filename %Y%m%d-timelapse
  326. ############################################################
  327. # 全局网络选项
  328. ############################################################
  329. # 启用IPv6(默认:关 off)
  330. ipv6_enabled off
  331. ############################################################
  332. # 直播服务器
  333. ############################################################
  334. # mini-http服务器侦听此端口的请求(默认值:0=禁用)
  335. stream_port 8081
  336. # 50%按比例缩小的子流(默认值:0=禁用)
  337. # substream_port 8082
  338. # 产生的JPEG图像的质量(百分比)(默认值:50)
  339. stream_quality 50
  340. # 未检测到运动时以1 fps的速度输出帧,并增加到
  341. # 检测到运动时stream_maxrate给定的速率(默认值:关闭)
  342. stream_motion off
  343. # 流的最大帧速率(默认值:1)
  344. stream_maxrate 100
  345. # 仅限制本地连接(默认值:on)
  346. stream_localhost off
  347. # 限制每个连接的图像数量(默认值:0=无限)
  348. # 可以通过将实际流率乘以所需的秒数来定义数量
  349. # 实际流速率是framerate和stream_maxrate中最小的数字
  350. stream_limit 0
  351. # 设置认证方式(默认:0)
  352. # 0= 禁用
  353. # 1= 基本身份验证
  354. # 2= MD5摘要(更安全的身份验证)
  355. stream_auth_method 0
  356. # 观看直播认证方式. 语法 username:password
  357. # 默认:未定义(已禁用)
  358. ; stream_authentication username:password
  359. # 缩放流图像以进行预览的百分比
  360. # 这是在浏览器端缩放的,运动将继续发送完整帧
  361. # Default: 25
  362. ; stream_preview_scale 25
  363. # 让流预览图像从新行开始
  364. # Default: no
  365. ; stream_preview_newline no
  366. ############################################################
  367. # 基于HTTP的控件
  368. ############################################################
  369. # HTTP服务器侦听的TCP/IP端口(默认值:0=禁用)
  370. webcontrol_port 8080
  371. # 控制台仅限本地
  372. webcontrol_localhost on
  373. # HTTP服务器的输出,选择关闭以选择纯文本(默认值:开启)
  374. webcontrol_html_output on
  375. # 基于http的控件的身份验证。语法 username:password
  376. # 默认:未定义(已禁用)
  377. ; webcontrol_authentication username:password
  378. # 要包含在webcontrol上的参数。0=无,1=受限,2=高级,3=受限
  379. # Default: 0 (none)
  380. webcontrol_parms 0
  381. ############################################################
  382. # 跟踪(平移/倾斜)
  383. #############################################################
  384. # 跟踪器的类型(0=无(默认),1=步进,2= iomojo,3= pwc,4=常规,5= uvcvideo,6=伺服)
  385. # 泛型类型可以定义运动中心和运动尺寸
  386. # 与转换说明符一起用于on_motion_detected之类的选项
  387. track_type 0
  388. # 启用自动跟踪(默认值:关闭)
  389. track_auto off
  390. # 电机的串行端口(默认:无)
  391. ;track_port /dev/ttyS0
  392. # x轴的电动机编号(默认值:0)
  393. ;track_motorx 0
  394. # 设置motorx反转(默认:0)
  395. ;track_motorx_reverse 0
  396. # y轴的电动机编号(默认值:0)
  397. ;track_motory 1
  398. # 设置电动倒车(默认值:0)
  399. ;track_motory_reverse 0
  400. # x轴上的最大值(默认值:0)
  401. ;track_maxx 200
  402. # x轴上的最小值(默认值:0)
  403. ;track_minx 50
  404. # y轴上的最大值(默认值:0)
  405. ;track_maxy 200
  406. # y轴上的最小值(默认值:0)
  407. ;track_miny 50
  408. # x轴上的中心值(默认值:0)
  409. ;track_homex 128
  410. # y轴上的中心值(默认值:0)
  411. ;track_homey 128
  412. # 如果使用iomojo相机的ID(默认值:0)
  413. track_iomojo_id 0
  414. # 相机在X轴上每步移动的角度,以度为单位
  415. # 自动跟踪(默认值:10)
  416. # 目前仅用于pwc型相机
  417. track_step_angle_x 10
  418. # 相机在Y轴上每步移动的角度,以度为单位
  419. # 自动跟踪(默认值:10)
  420. # 目前仅用于pwc型相机
  421. track_step_angle_y 10
  422. # 跟踪运动后延迟等待的次数 相框数量(默认值:10)
  423. track_move_wait 10
  424. # 将电动机设置为(步进电动机选项)的速度(默认值:255)
  425. track_speed 255
  426. # 进行的步数(步进电机选件)(默认值:40)
  427. track_stepsize 40
  428. ################################################ ##########
  429. # 外部命令,警告和日志记录:
  430. # 您可以为on_xxxx命令使用转换说明符
  431. # %Y=年,%m=月,%d=日期,
  432. # %H=小时,%M=分钟,%S=秒,
  433. # %v=事件,%q=帧号,%t=摄像机ID,
  434. # %D=更改的像素,%N=噪声水平,
  435. # %i和%J=运动区域的宽度和高度,
  436. # %K和%L=运动中心的X和Y坐标
  437. # %C= text_event定义的值
  438. # %f=完整路径的文件名
  439. # %n=表示文件类型的数字
  440. # %f和%n都只为on_picture_save定义,
  441. # on_movie_start和on_movie_end
  442. # 允许使用圆括号将引号引起来。
  443. ################################################ ##########
  444. # 检测到动作时不要发出哔声(默认值:开)
  445. # 注意:在守护程序模式下运行时,运动永远不会发出哔声。
  446. quiet on
  447. # 事件开始时要执行的命令。(默认值:无)
  448. # 事件在event_gap定义的无运动时间段后检测到的第一个运动开始
  449. ; on_event_start value
  450. # 在一段时间不运动后事件结束时要执行的命令
  451. # (默认值:无)。静止时间由选项event_gap定义。
  452. ; on_event_end value
  453. # 保存图片(.ppm | .jpg)时要执行的命令(默认值:无)
  454. # 要将文件名作为命令的参数,将其附加%f
  455. ; on_picture_save value
  456. # 检测到运动帧时要执行的命令(默认值:无)
  457. ; on_motion_detected value
  458. # 当检测到预定义区域中的运动时要执行的命令
  459. # 检查选项'area_detect'。(默认值:无)
  460. ; on_area_detected value
  461. # 创建视频文件(.mpg | .avi)时要执行的命令。(默认值:无)
  462. # 要将文件名作为命令的参数,将其附加%f
  463. ; on_movie_start value
  464. # 关闭视频文件(.mpg | .avi)时要执行的命令。(默认值:无)
  465. # 要将文件名作为命令的参数,将其附加%f
  466. ; on_movie_end value
  467. # 无法打开相机或相机丢失时要执行的命令
  468. # 注意:在某些情况下,动作无法检测到丢失的相机!
  469. # 取决于驱动程序,某些驱动程序根本无法检测到丢失的摄像头
  470. # 有些挂住了运动线。有些甚至挂在PC上!(默认值:无)
  471. ; on_camera_lost value
  472. # 找到丢失的摄像机后执行的命令(默认值:无)
  473. # 注意:如果运动无法正确检测到丢失的摄像机,它也不会知道找到了一个。
  474. ; on_camera_found value
  475. ################################################ ###################
  476. # 数据库功能的通用选项。
  477. # 选项要求数据库选项也必须处于活动状态。
  478. ################################################ ###################
  479. # 创建运动触发的图片文件时记录日志到数据库(默认值:开)
  480. ; sql_log_picture on
  481. # 创建快照图像文件时记录日志到数据库(默认值:开)
  482. ; sql_log_snapshot on
  483. # 创建运动触发的电影文件时记录日志到数据库(默认值:关闭)
  484. ; sql_log_movie off
  485. # 创建缩时电影文件时记录日志到数据库(默认值:关闭)
  486. ; sql_log_timelapse off
  487. # 发送到数据库的SQL查询字符串
  488. # 对文字功能使用相同的转换说明符
  489. # 其他特殊的转换说明符是
  490. # %n=代表file_type的数字
  491. # %f=完整路径的文件名
  492. # 默认值:
  493. # 创建表:
  494. ##
  495. # Mysql
  496. # CREATE TABLE security (camera int, filename char(80) not null, frame int, file_type int, time_stamp timestamp(14), event_time_stamp timestamp(14));
  497. #
  498. # Postgresql
  499. # CREATE TABLE security (camera int, filename char(80) not null, frame int, file_type int, time_stamp timestamp without time zone, event_time_stamp timestamp without time zone);
  500. #
  501. # insert into security(camera, filename, frame, file_type, time_stamp, text_event) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C')
  502. ; sql_query insert into security(camera, filename, frame, file_type, time_stamp, event_time_stamp) values('%t', '%f', '%q', '%n', '%Y-%m-%d %T', '%C')
  503. ############################################################
  504. # 数据库选项
  505. ############################################################
  506. # 数据库类型: mysql, postgresql, sqlite3 (default : not defined)
  507. ; database_type value
  508. # 日志数据库(default: not defined)
  509. # for sqlite3, 需要配置完整的数据库文件名称
  510. ; database_dbname value
  511. # 数据库主机(default: localhost)
  512. ; database_host value
  513. # 数据库的用户帐户名 (default: not defined)
  514. ; database_user value
  515. # 数据库的用户密码 (default: not defined)
  516. ; database_password value
  517. # 数据库连接端口
  518. # mysql 3306 , postgresql 5432 (default: not defined)
  519. ; database_port value
  520. # 数据库等待时间(以毫秒为单位)以锁定数据库
  521. # 在返回数据库锁定错误之前被解锁(默认为0)
  522. ; database_busy_timeout 0
  523. ############################################################
  524. # Video Loopback Device (vloopback project)
  525. ############################################################
  526. ## 输出图像到video4linux环回设备
  527. # 指定与环回设备关联的设备
  528. # 例如/ dev/video1(默认值:未定义)
  529. ; video_pipe value
  530. # 将运动图像输出到video4linux环回设备
  531. # 指定与环回设备关联的设备
  532. # 例如/ dev/video1(默认值:未定义)
  533. ; motion_video_pipe value
  534. ##############################################################
  535. # 相机配置文件-每个相机一个。
  536. # 除非只有一台摄像机-您只需要此配置文件。
  537. # 如果您拥有多台摄像机,则必须定义一台摄像机
  538. # 除了此配置文件外,每个摄像机的配置文件。
  539. ##############################################################
  540. # 记住:如果您拥有多台摄像机,那么您必须拥有一台摄像机
  541. # 每个摄像机对应一个摄像机文件。例如,两台摄像机需要3个文件:
  542. # 此motion.conf文件以及camera1.conf和camera2.conf。
  543. # 仅将每个摄像机唯一的选项放在
  544. # 相机配置文件。
  545. ; camera /etc/motion/camera1.conf
  546. ; camera /etc/motion/camera2.conf
  547. ; camera /etc/motion/camera3.conf
  548. ; camera /etc/motion/camera4.conf
  549. ##############################################################
  550. # 相机配置目录
  551. # 将读取此目录中所有以'.conf'结尾的文件
  552. # 作为相机配置文件。
  553. ##############################################################
  554. ; camera_dir /etc/motion/conf.d

3、运行motion

  1. sudo motion