Интересную я себе задачку подкинул, хочу по подробнее познакомиться с утилитой Motion Для организации мини сервиса видеонаблюдения, где в качестве видеокамер выступят:

  • Одна видеокамера встроенная в мой ноутбук Lenovo E555
  • Вторая будет подключена к USB порту.

Все дальнейшие действия будут проводиться на системе ноутбука Lenovo E555 -> Ubuntu 12.04.5 Desktop amd64

Система обновлена до самого последнего состояния текущего релиза:

ekzorchik@navy:~$ sudo apt-get update && sudo apt-get upgrade -y

Устанавливаю на ноутбук LAMP (Linux Apache MySQL PHP):

ekzorchik@navy:~$ sudo tasksel install lamp-server

Затем устанавливаю в систему пакет motion которому собственно и посвящена данная заметка:

ekzorchik@navy:~$ sudo apt-get install motion -y

Теперь посмотрим какая информация по встроенной камере присутствует:

ekzorchik@navy:~$ dmesg | grep Camera

[ 1.583920] usb 2-1: Product: Integrated Camera

[ 4.602319] uvcvideo: Found UVC 1.00 device Integrated Camera (04f2:b444)

[ 4.623693] input: Integrated Camera as /devices/pci0000:00/0000:00:13.2/usb2/2-1/2-1:1.0/input/input12

ekzorchik@navy:~$ sudo apt-get install uvccapture uvcdynctrl uvcdynctrl-data -y

Далее перед редактированием конфигурационного файла Motion под себя создаю резервную копию исходного файла:

ekzorchik@navy:~$ sudo cp /etc/motion/motion.conf /etc/motion/motion.conf.backup

Теперь приступаю к редактированию конфигурационного файла motion.conf под свои нужды:

ekzorchik@navy:~$ sudo nano /etc/motion/motion.con

# запускать motion в режиме демона

#daemon on

setup_mode off

# Устройство с которого будет захватываться изображение

videodevice /dev/video0

# v4l2_palette позволяет выбрать палитру, которая будет использоваться в motion

# эту палитру должно поддерживать ваше видеоустройство videodevice. (по умолчанию: 8)

# Возможные значения:

# V4L2_PIX_FMT_SN9C10X : 0 'S910'

# V4L2_PIX_FMT_SBGGR8 : 1 'BA81'

# V4L2_PIX_FMT_MJPEG : 2 'MJPEG'

# V4L2_PIX_FMT_JPEG : 3 'JPEG'

# V4L2_PIX_FMT_RGB24 : 4 'RGB3'

# V4L2_PIX_FMT_UYVY : 5 'UYVY'

# V4L2_PIX_FMT_YUYV : 6 'YUYV'

# V4L2_PIX_FMT_YUV422P : 7 '422P'

# V4L2_PIX_FMT_YUV420 : 8 'YU12'

# Моя камера поддерживает только палитру UYVY, поэтому я выбрал ее, разницы не заметил

# Изображение также прекрасно захватывалось и с параметром по умолчанию, т.е. 8

#v4l2_palette 5

# Значение видео входа input – очень важное (по умолчанию: 8)

# В руководстве предлагают использовать значения 0 или 1 для video/TV карт, и 8 для USB камер,

# Но в моем случае значения 0 и 1 не подошли, а заработало только со значением 2.

# Если у вас отсутствует картинка – попробуйте поменять это значение

input 8

# Видеорежим (используется только при видеозахвате и карт с TV тюнером)

# Возможные значения: 0 (PAL), 1 (NTSC), 2 (SECAM), 3 (PAL NC - без цвета). По умолчанию: 0 (PAL)

# Если у вас TV камера, то режим указан в паспорте устройства,

# для USB устройств – игнорируем этот параметр (можно оставить 0)

norm 0

# Частота на которую установлен тюнер (kHz) (только для карт с TV тюнером) (по умолчанию: 0)

# В нашем случае нет тюнера, оставляем 0

frequency 0

# Угол поворота изображения. Если у вас получается перевернутое изображение, то

# укажите тут нужный угол поворота. Корректные Значения: 0 (без поворота), 90, 180 и 270.

rotate 0

# Ширина изображения (пиксель). Значение зависит от камеры, по умолчанию: 352

# моя дешевая камера не заработала со значениями по умолчанию, максимальное разрешение

# камеры указано в паспорте, исходя из этого я подобрал для себя наиболее оптимальные значения.

# Подходят значения со стандартными соотношениями сторон, иначе демон не запустится

# Например можно поставить width 640, height 480

width 640

# Высота изображения (пиксель). Значение зависит от камеры, по умолчанию: 288

height 480

# Максимальное количество кадров в секунду.

# Возможны значения: 2-100. По умолчанию: 100 (без ограничений).

framerate 25

# Минимальное время в секундах между кадрами

# По умолчанию: 0 = отключено – число кадров регулируется камерой.

# Эта опция используется, если вы хотите, чтобы камера снимала меньше 2 кадров в секунду

minimum_frame_time 0

# Позволить motion регулировать яркость изображения (по умолчанию отключено: off).

# Для камер без авто-яркости, рекомендую включить эту опцию

auto_brightness on

# Начальная яркость для видеоустройства

# Если включена опция auto_brightness, это значение определяет средний уровень яркости

# Возможны значения 0-255, по умолчанию 0 = отключено. Хоть у меня на камере нет авто-яркости,

# со значением 0, картинка вполне приемлемая. Стоит поэкспериментировать с этим значением при

# плохом освещении

brightness 0

# Контрастность

# Возможны значения 0-255, по умолчанию 0 = отключено.

contrast 0

# Насыщенность

# Возможны значения 0-255, по умолчанию 0 = отключено.

saturation 0

# Тон для режима NTSC.

# Возможны значения 0-255, по умолчанию 0 = отключено.

hue 0

# Переключение между камерами на одном видеоустройстве

# У меня на устройстве 4 входа, чтобы motion переключался между камерами, нужно использовать roundrobin

# Количество кадров захватываемое при каждом шаге roundrobin (по умолчанию: 1)

roundrobin_frames 1

# Количество кадров пропускаемых перед roundrobin шагом (по умолчанию: 1)

roundrobin_skip 1

# Пытаться отфильтровать шум из-за roundrobin (по умолчанию: off)

switchfilter off

############################################################

# Настройки детектора движений

############################################################

# Количество пикселей, которое должно измениться в кадре, чтобы

# активировать запись (по умолчанию: 1500)

# У меня маленькое разрешение экрана и я хочу ловить любое движение, поэтому поставим 10

# При значении 10 камера на шумы у меня не срабатывает

threshold 10

# Автоматически настраивать нижний порог чувствительности (по умолчанию: off)

threshold_tune off

# Порог шума для опредения движения (по умолчанию: 32)

noise_level 32

# Автоматический настраивать порог шума (по умолчанию: on)

noise_tune on

# Кадры должны содержать движение как минимум в указанном количестве подряд идущих кадров

# для того, чтобы активировалась запись. По умолчанию 1.

# Допустимые значения: от 1 до тысяч кадров, рекомендуется 1-5

minimum_motion_frames 1

# Количество кадров, которое забирается из буфера, когда обнаружено движение

# значение больше 0 позволяет записать кадры до обнаружения движения

# Рекомендуемый диапазон: 0 to 5 (по умолчанию: 0)

# Не используйте большие значения!

pre_capture 10

# Количество записываемых кадров после того, как движение пропало (по умолчанию: 0)

post_capture 20

# Интервал в секундах без обнаружения движения, который сигнализирует о прекращении записи

# Рекомендуемое значение 60 секунд (по умолчанию). Значение 0 разрешено и приводит к тому

# что все движения будут записываться в один файл

gap 60

# Максимальная длительность mpeg видео

# Когда время истекает – создается новый файл. (По умолчанию: 0 = неограничено)

max_mpeg_time 3600

# Всегда сохранять изображения, даже если нет движения (по умолчанию: off)

output_all off

# Записывать изображения, когда обнаружено движение (по умолчанию: on)

# Возможны значения: on, off, first, best, center

# Когда установлено 'first', сохраняется только первое изображение.

# Изображение с наибольшим движением записывается при 'best'.

# Изображение с движением из середины записывается при 'center'.

# Может использоваться как изображение предварительного просмотра для видео.

output_normal best

# Записывать только изменившиеся пиксели (ghost images) (по умолчанию: off)

output_motion off

# Качество (в процентах) используемое при сжатии jpeg изображений (по умолчанию: 75)

quality 75

# Выводить ppm изображения вместо jpeg (по умолчанию: off)

ppm off

# использовать ffmpeg чтобы кодировать mpeg видео в реальном времени (по умолчанию: off)

ffmpeg_cap_new on

# Использовать ffmpeg чтобы делать видео только с изменившимися точками

# (ghost images) (по умолчанию: off)

ffmpeg_cap_motion off

# Использовать ffmpeg, чтобы кодировать, a прерывистое видео

# по умолчанию 0 = off – иначе сохранять каждые N секунд

ffmpeg_timelapse 0

# Изменять файл при прерывестом видео раз в день: daily (по умолчанию)

# Возможные значения: hourly, daily (по умолчанию), weekly-sunday, weekly-monday, monthly

ffmpeg_timelapse_mode weekly-sunday

# Битрейт используемый при кодировании ffmpeg (по умолчанию: 400000)

# Эта опция игнорируется, если значение ffmpeg_variable_bitrate не равно 0 (отключено)

ffmpeg_bps 500000

# Включает и задает битрейт ffmpeg кодировщика.

# ffmpeg_bps игнорируется, когда bitrate включен.

# Возможны значения: 0 (по умолчанию) = фиксированный битрейт определенный в ffmpeg_bps,

# или диапазон значений 2 – 31, где 2 означает лучшее качество и 31 худшее.

ffmpeg_variable_bitrate 2

# Кодек используемый для сжатия ffmpeg видео.

# Прерывистые mpeg видео всегда кодируются в mpeg1 формате не зависимо от этой опции.

#Поддерживаются форматы:

# mpeg1 – создаются файлы с расширением .mpg

# mpeg4 or msmpeg4 – создаются файлы с расширением .avi

# msmpeg4 рекомендуется при просмотре видео с помощью Windows Media Player, потому что

# не требует установки дополнительных кодеков на компьютер с Windows.

# swf - создает flash фильм с расширением .swf

# flv – создает flash видео с расширением .flv

# ffv1 - FF video codec 1 для кодирования без потерь (экспериментальный)

# mov - QuickTime ( тестируется )

ffmpeg_video_codec msmpeg4

# Использовать ffmpeg для видео с чередованием. Имеет смысл для аналоговых камер,

# когда видны горизонтальные линии появляющиеся при движении объектов.

# (по умолчанию: off)

ffmpeg_deinterlace on

############################################################

# Снапшоты (Периодическое сохранение изображений)

############################################################

# Делать автоматические снапшоты каждые N секунд (по умолчанию: 0 = disabled)

snapshot_interval 0

############################################################

# Показывать текст на видео и снапшотах

# %Y = год, %m = месяц, %d = дата,

# %H = час, %M = минуты, %S = секунды, %T = HH:MM:SS,

# %v = событие, %q = номер кадра, %t = номер камеры,

# %D = изменившиеся пиксели, %N = уровень шума, \n = переход на новую строку,

# %i and %J = ширина и высота зоны движения,

# %K and %L = X и Y координаты центра движения

# %C = значение определенные событием text_event – не использовать с text_event!

############################################################

# Рисовать прямоугольник вокруг движущегося объекта.

# Возможны значения: on, off and preview (по умолчанию: off)

# Если выбрано значение 'preview', то прямоугольники будут рисоваться в файлах с изображениями.

locate off

# Рисовать штамп времени, использует те же параметры, что и функция на языке C: strftime(3)

# По умолчанию: %Y-%m-%d\n%T = дата в формате ISO и время в 24-х часовом формате

# Текст помещается в правый нижний угол

text_right %d-%m-%Y\n%T-%q

# Рисовать заданный пользователем текст на изображениях, использует те же параметры,

# что и функция на языке C: strftime(3)

# По умолчанию: не задан = нет текста

# Текст помещается в левый нижний угол

; text_left CAMERA %t

# Рисовать количество изменившихся пикселей (по умолчанию: off)

# Помещается в верхний правый угол

text_changes off

# Эта опция задает значение специального параметра %C

# Вы можете использовать в нем любые параметры начинающиеся с символа %, кроме %C

# Gо умолчанию: %Y%m%d%H%M%S

# Идея состоит в том, что %C может быть использован для уникального именования файлов, событий

text_event %Y%m%d%H%M%S

# Рисовать символы текста вдвое большего размера. (default: off)

text_double off

############################################################

# Папки и имена файлов для сохранения видео и изображений

# Задать имя файла можно параметрами snapshot_, jpeg_, mpeg_ + timelapse_filename

# Вы можете использовать параметры начинающиеся с символа %

# %Y = год, %m = месяц, %d = день,

# %H = час, %M = минута, %S = секунда,

# %v = событие, %q = номер кадра, %t = номер камеры (потока),

# %D = кол-во изменившихся пикселей, %N = уровень шума,

# %i and %J = ширина и высота зоны движения,

# %K and %L = X и Y координаты центра движения

# %C = значение определенное параметром text_event

# Кавычки допустимы

############################################################

# Папка для видео и изображений

# Рекомендуется использовать абсолютный путь. (по умолчанию: текущая рабочая директория)

target_dir /opt/motion

# Путь к папке и имя файла для изображений (jpeg or ppm) относительно target_dir

# По умолчанию: %v-%Y%m%d%H%M%S-snapshot

# Расширение .jpg или .ppm будет добавлено автоматически, не пишите его.

# Для заметок: Символическая ссылка lastsnap.jpg созданная в target_dir всегда указывает на последний снапшот,

# если кончено snapshot_filename не равно 'lastsnap'

#snapshot_filename %v-%Y%m%d%H%M%S-snapshot

# Путь к папке и имя файла для изображений (jpeg or ppm), сохраняемых при появлении движения,

# относительно target_dir

# По умолчанию: %v-%Y%m%d%H%M%S-%q

# Расширение .jpg или .ppm будет добавлено автоматически, не пишите его.

#jpeg_filename %v-%Y%m%d%H%M%S-%q

# Путь к папке и имя файла для ffmpeg видео (mpeg) относительно target_dir

# По умолчанию: %v-%Y%m%d%H%M%S

# Расширения .mpg или .avi добавляются автоматически, нет необходимости их писать

# Эта опция ранее называлась ffmpeg_filename

movie_filename %v-%Y%m%d%H%M%S

# Путь к папке и имя файла для прерывистых mpegs относительно target_dir

# По умолчанию: %Y%m%d-timelapse

# Расширение .mpg добавляется автоматически, нет необходимости его писать

#timelapse_filename %Y%m%d-timelapse

############################################################

# Live Webcam Server

############################################################

# mini-http server слушает этот порт и выводит изображение с камер (по умолчанию: 0 = отключено)

webcam_port 8081

# Качество jpeg изображений (по умолчанию: 50)

webcam_quality 50

# Отображается 1 кадр в секунду, когда нет движения, но количество кадров возрастает до webcam_maxrate, когда

# обнаружено движение (по умолчанию: off)

webcam_motion off

# Максимальный framerate для веб потока (по умолчанию: 1)

webcam_maxrate 25

# Ограничить воспроизведение только для локального компьютера (по умолчанию: on)

# Бывает полезно посмотреть изображение с камеры, так как у нас нет GUI на сервере, то разрешим просмотр с других

# компьютеров и ограничим их с помощью файрвола

webcam_localhost off

# Ограничить количество изображений на соединение (по умолчанию: 0 = неограниченно)

# Число можно определить умножив webcam rate на нужное число секунд

# webcam rate это меньшее из значений framerate и webcam_maxrate

webcam_limit 0

############################################################

# HTTP консоль управления

############################################################

# Консоль управления довольно не удобна по сравнению с конфигурационным файлом, поэтому

# я предпочитаю отключать ее

# TCP/IP порт для http консоли управления (по умолчанию: 0 = отключена)

control_port 0

# Ограничить подключения только для локального компьютера (по умолчанию: on)

control_localhost on

# Вывод для http сервера, выберите off, чтобы использовать обычный текст (по умолчанию: on)

control_html_output off

# Аутентификация. Синтакс username:password

# по умолчанию: не задан (отключена)

#control_authentication admin:password

##############################################################

# Конфигурационные файлы потоков (Thread config files) – Один на каждую камеру.

# Если у вас одна камера, то конфигурационный файл не нужен

# Если у вас более чем одна камера вы должны сделать по 1 thread файлу на каждую камеру

# в дополнение к этому файлу

##############################################################

# Например 2 камеры требуют 3 файла:

# Этот motion.conf , thread1.conf и thread2.conf.

# Помещайте в thread файлы только уникальные для каждой из камер опции

# thread /etc/motion/thread1.conf

По окончании подготовки конфигурационного файла не забываем сохранить внесенные изменения.

Далее создаю каталог где будет сохраняться видеоизображение захватываемое камерой(камерами):

ekzorchik@navy:~$ sudo mkdir /opt/motion

Далее попробую запустить программу motion с подгрузкой выше настроенного конфигурационного файла дабы оценить, а есть ли у меня ошибки:

ekzorchik@navy:~$ sudo motion -c /etc/motion/motion.conf

[0] Processing thread 0 – config file /etc/motion/motion.conf

[0] Unknown config option “#”

[0] Motion 3.2.12 Started

[0] ffmpeg LIBAVCODEC_BUILD 3482112 LIBAVFORMAT_BUILD 3478528

[0] Thread 1 is from /etc/motion/motion.conf

[1] Thread 1 started

[1] cap.driver: “uvcvideo”

[1] cap.card: “Integrated Camera”

[1] cap.bus_info: “usb-0000:00:13.2-1”

[1] cap.capabilities=0x84000001

[1] – VIDEO_CAPTURE

[1] – STREAMING

[1] Config palette index 8 (YU12) doesn’t work.

[1] Supported palettes:

[1] 0: YUYV (YUV 4:2:2 (YUYV))

[1] 1: MJPG (MJPEG)

[1] Selected palette YUYV

[1] Test palette YUYV (640×480)

[1] Using palette YUYV (640×480) bytesperlines 1280 sizeimage 614400 colorspace 00000008

[1] found control 0x00980900, “Brightness”, range 0,255

[1] “Brightness”, default 128, current 128

[1] found control 0x00980901, “Contrast”, range 0,255

[1] “Contrast”, default 32, current 32

[1] found control 0x00980902, “Saturation”, range 0,100

[1] “Saturation”, default 64, current 64

[1] found control 0x00980903, “Hue”, range -180,180

[1] “Hue”, default 0, current 0

[1] found control 0x00980910, “Gamma”, range 90,150

[1] “Gamma”, default 120, current 120

[1] mmap information:

[1] frames=4

[1] 0 length=614400

[1] 1 length=614400

[1] 2 length=614400

[1] 3 length=614400

[1] Using V4L2

[1] Resizing pre_capture buffer to 1 items

[1] Started stream webcam server in port 8081

[1] Resizing pre_capture buffer to 11 items

в этот момент у меня на ноутбуке загорелся индикатор активации Web-самеры, а через некоторое время и первая видеозапись сохранилась в каталог /opt/motion

[1] File of type 8 saved to: /opt/motion/01-20160102205954.avi

^C[1] — Прерываю текстовый запуск т. к. все идет хорошо, запись со встроенной камеры идет.

File of type 1 saved to: /opt/motion/01-20160102210001-13.jpg

[1] Thread exiting

[1] Calling vid_close() from motion_cleanup

[1] Closing video device /dev/video0

[0] Motion terminating

Теперь когда видеозапись сформирована, попробую ее открыть к примеру через утилиту totem (Видеопроигрыватель):

ekzorchik@navy:~$ ls -l /opt/motion/01-20160102205954.avi

-rw-r–r– 1 root root 2761152 Jan 2 21:00 /opt/motion/01-20160102205954.avi

ekzorchik@navy:~$ file /opt/motion/01-20160102205954.avi

/opt/motion/01-20160102205954.avi: RIFF (little-endian) data, AVI, 640 x 480, ~15 fps, video: Microsoft MPEG-4 v2

ПриложенияАудио и ВидеоВидеопроигрывательФильмОткрыть и переходим в каталог /opt/motion и запускаем данный avi файл: – и вижу себя, качество не сильно уж и плохое, так вполне просматриваемое.

Отлично запись идет, но у нас открыта консоль командной строки, где видно технические данные выполнения работы утилиты, как представлено выше. Чтобы скрыть исполнение команды и её последующую работу можно воспользоваться пакетом screen:

Далее устанавливаю утилиту screen посредством которой будет возможность запуска нескольких сеансов командной строки в скрытом режиме:

ekzorchik@navy:~$ sudo apt-get install screen -y

Для первоначального запуска, просто в окне терминала (на клавиатуре нажимаю сочетание клавиш «Ctrl + Alt + T» ) набираю команду screen с указанием скрина отражающего имя выполняемой задачи:

ekzorchik@navy:~$ screen -S vmotion

далее нажимаем на клавиатуре «Ctrl + a» и активируем многопользовательский режим вводом символа «:» который появится в левом нижним углу консоли, затем набираем следующую команду

multiuser on

после данной команды нажимаем клавишу «Enter» на консоль будет выведено сообщение:

Multiuser mode enabled — что многопользовательский режим успешно активирован. Теперь в данной консоли screen с именем vmotion набираем команду активации процесса видеонаблюдения за действиями производимыми над ноутбуком (снимаем свое лицо и некое окружения вокруг него):

, далее в консоли screen с именем motion набираем команду которая активирует процесс видеонаблюдения за нашими действиями зайдействов камеру на ноутбуке:

ekzorchik@navy:~$ sudo motion -c /etc/motion/motion.conf

При таком запуске, программа создаст новую оболочку в которой откроет сессию командной строки.

Чтобы свернуть запущенную сессию и всё то что в ней работает, нажимаем на клавиатуре «Ctrl + a», а затем клавишу «d».

ekzorchik@navy:~$ screen -S vmotion

[detached from 5496.vmotion]

Чтобы посмотреть свернутые запущенные сессии:

ekzorchik@navy:~$ screen -list

There is a screen on:

5496.vmotion (01/02/2016 09:22:05 PM) (Multi, detached)

1 Socket in /var/run/screen/S-ekzorchik.

, как видим такая сессия есть подключимся к ней, для этого нам понадобится идентификатор:

ekzorchik@navy:~$ screen -r <идентификатор_сессии>

, где

<идентификатор_сессии> – это числовое значение выведенное при просмотре запущенных скринов. В моем случае — это 5496.

Также можно создать новый скрин, но уже в свернутом состоянии:

(удобно для консольных утилит которые сами не умеют работать в фоне)

ekzorchik@navy:~$ screen -dmS motion motion -c /opt/video/motion.conf

, где

  • -d — укажет, что скрин нужно свернуть.
  • -m — создать скрин
  • -S – указываем имя создаваемого скрина

слева направо:

  • motion (1) — название скрина
  • motion -c /opt/video/motion.conf (2) — команда выполняемая внутри

Проверим, а как выглядит все же Web-подключение:

ekzorchik@navy:~$ sudo netstat -tulpn | grep :8081

tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 4380/motion

Открыв браузер изображение свое вижу и запись идет.

Для того, что заставить приложение motion осуществлять запись с двух и более USB-камер нужно в файле /etc/motion/motion.conf добавить в конец файла следующие строки:

thread /etc/motion/thread1.conf

thread /etc/motion/thread2.conf

ekzorchik@navy:~$ sudo nano /etc/motion/thread1.conf

videodevice /dev/video0

input 8

target_dir /opt/motion/cam1

webcam_port 8081

on_movie_end /usr/local/motion-extras/mpegparse1.pl

ekzorchik@navy:~$ sudo nano /etc/motion/thread2.conf

videodevice /dev/video1

input 8

target_dir /opt/motion/cam2

webcam_port 8082

on_movie_end /usr/local/motion-extras/mpegparse1.pl

Когда я подключил к своему ноутбуку вторую USB камеру, она успешно опозналась системой и создало еще одно устройство видео:

ekzorchik@navy:~$ ls -l /dev/video*

crw-rw—-+ 1 root video 81, 0 Jan 3 13:37 /dev/video0

crw-rw—-+ 1 root video 81, 1 Jan 3 15:53 /dev/video1

Теперь когда запускаю приложение Motion, то уже на обоих камерах загорается индикатор и если смотреть в режиме реального времени то идет видеозапись с двух камер:

ekzorchik@navy:~$ sudo motion

[2] Resizing pre_capture buffer to 1 items

[2] Started stream webcam server in port 8082

[2] Resizing pre_capture buffer to 11 items

[1] Started stream webcam server in port 8081

[1] Resizing pre_capture buffer to 11 items

[2] File of type 8 saved to: /opt/motion/cam2/01-20160103162543.avi

[1] File of type 8 saved to: /opt/motion/cam1/01-20160103162548.avi

По сочетанию Ctrl+C прерываю действие программы. Также если обратиться через браузер на Localhost:8081& localhost:8082 то можно будет наблюдать видеоизображение транслируемое с камер (камера 1 и камера 2) через браузер.

Чтобы выйти из запущенного скрина:

т. е. мы работаем к примеру со скрином в котором запущена утилита motion, нажимаем

«Ctrl + A», «\» и окно screen нас спрашивает, сообщение вида, вы действительно хотите выйти и завершить ваше задание, (Really quit and kill all your windows [y/n]) отвечаем «Y»

ekzorchik@navy:~$ screen -r 5496

[screen is terminating]

Теперь задача следующая:

Разобрать установку и настройка Web-интерфейса для единого места просмотра камер, а не как сейчас для каждой камеры нужно открыть свою вкладку в браузере (Mozilla Firefox на системе Ubuntu 12.04.5 Desktop amd64)

Нет к сожалению человеческой сборки Web-интерфейса для Motion, а потому только ZoneMinder и все. Хватит тратить время на поиск и эксперименты костылей

ekzorchik@navy:~$ sudo apt-get remove motion -y

ekzorchik@navy:~$ sudo rm -Rf /opt/motion/

ekzorchik@navy:~$ sudo rm -Rf /etc/motion /etc/init.d/motion /etc/default/motion

ekzorchik@navy:~$ sudo rm /var/lib/update-rc.d/motion

Как я на собственном опыте убедился ничего интересного с использованием пакета motion я не добьюсь, да можно вести видеофиксацию происходящего но вот управлять через Web-интерфейс уже нет. Но списывать данный пакет я не буду со счетов, то что можно просто настроить видеонаблюдение и просто записывать видео или покадрово сохранять. А пока, как я и сказал выше буду лучше мучить и использовать пакет ZoneMinder. На этом всё, и до новых встреч на моем блоге, с уважением автор блога — ekzorchik.

От ekzorchik

Всем хорошего дня, меня зовут Александр. Я под ником - ekzorchik, являюсь автором всех написанных, разобранных заметок. Большинство вещей с которыми мне приходиться разбираться, как на работе, так и дома выложены на моем блоге в виде пошаговых инструкции. По сути блог - это шпаргалка онлайн. Каждая новая работа где мне случалось работать вносила новые знания и нюансы работы и соответственно я расписываю как сделать/решить ту или иную задачу. Это очень помогает. Когда сам разбираешь задачу, стараешься ее приподнести в виде структурированной заметки чтобы было все наглядно и просто, то процесс усвоения идет в гору. Также прошу на https://win.ekzorchik.ru https://lin.ekzorchik.ru https://net.ekzorchik.ru https://voip.ekzorchik.ru https;//home.ekzorchik.ru