Интересную я себе задачку подкинул, хочу по подробнее познакомиться с утилитой 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.