otion - программа, которая контролирует видеосигнал от одной или более камер и в состоянии обнаружить изменение части картинки, то есть может обнаружить движение. Программа написана на C и предназначена для операционной системы Linux (используя video4linux). Motion может быть хорошим инструментом для контролирования вашей собственности, записывая только те фрагменты, которые вам могут быть интересны. Официальный сайт программы: www.lavrsen.dk

Настройка

Файл конфигурации, работающий на ubuntu

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
 daemon off #можно включить его просто как сервис
 process_id_file /var/run/motion/motion.pid 
 setup_mode off
 videodevice /dev/video1 #ваша камера
 v4l2_palette 3
 input 8
 norm 0
 frequency 0
 rotate 0 #не вращать
 width 640 #размер изображения по ширине
 height 480 #размер изображения по высоте
 framerate 25
 minimum_frame_time 0
 netcam_tolerant_check off
 auto_brightness on
 brightness 0
 contrast 0
 saturation 0
 hue 0
 roundrobin_frames 1
 roundrobin_skip 1
 switchfilter off
 threshold 500
 threshold_tune on
 noise_level 16
 noise_tune on
 despeckle EedDl
 smart_mask_speed 0
 lightswitch 0
 minimum_motion_frames 1
 pre_capture 0
 post_capture 0
 gap 60
 max_mpeg_time 0
 output_all off
 output_normal off
 output_motion off
 quality 100
 ppm off
 ffmpeg_cap_new on
 ffmpeg_cap_motion off
 ffmpeg_timelapse 0
 ffmpeg_timelapse_mode daily
 ffmpeg_bps 800000
 ffmpeg_variable_bitrate 2
 ffmpeg_video_codec swf
 ffmpeg_deinterlace off
 snapshot_interval 0
 locate off
 text_right %Y-%m-%d\n%T-%q
 text_changes off
 text_event %Y%m%d%H%M%S
 text_double off
 target_dir /opt/video #директория для записи
 snapshot_filename %v-%Y%m%d%H%M%S-snapshot
 jpeg_filename %v-%Y%m%d%H%M%S-%q
 movie_filename %v-%Y%m%d%H%M%S
 timelapse_filename %Y%m%d-timelapse
 webcam_port 8081
 webcam_quality 90
 webcam_motion off
 webcam_maxrate 1
 webcam_localhost off
 webcam_limit 0
 control_port 8080
 control_localhost on
 control_html_output on
 track_type 0
 track_auto off
 track_motorx 0
 track_motory 0
 track_maxx 0
 track_maxy 0
 track_iomojo_id 0
 track_step_angle_x 10
 track_step_angle_y 10
 track_move_wait 10
 track_speed 255
 track_stepsize 40
 quiet on #тихий режим. Если отключить, спикер будет сигналить при появлении движения

Далее можно запустить программу командой

motion -n

Чтобы можно было оставить процесс, запустите его в screen.

Удаление старых файлов

Видеоматериалов может накопиться просто громадное количество. Для этого настроим ротацию видеоматериалов с интервалом в сутки. Для начала создадим в /opt/video директорию old

mkdir /opt/video/old

Далее сохраните такой простой скрипт rotate_video в /opt, который будет файлы за сутки складывать в папку old, удаляя предыдущие:

1
2
3
4
 #!/bin/bash
 rm -rf /opt/video/old/*
 mv /opt/video/*.swf /opt/video/old
 exit 0

и задайте выполнение его в cron, например, в полночь

0 0 * * * /opt/rotate_video

То есть интервал ротации файлов будет зависеть только от этой строки.