Установка Motion на Linux Ubuntu

Обновлено Обновлено: Опубликовано Опубликовано:

Тематические термины: LinuxUbuntu, RTSP.

В двух словах, сервер Motion позволяет записывать видео с IP-камер и предоставить доступ его просмотру посредством веб-интерфейса.

Установка и запуск

Motion в Ubuntu устанавливается из репозитория:

apt-get install motion

Создаем каталог и файл для логов motion:

mkdir /var/log/motion

touch /var/log/motion/motion.log

Редактируем владельца для лог-файла:

chown motion:motion /var/log/motion/motion.log

Открываем файл:

vi /etc/default/motion

В нем либо не должно быть параметра start_motion_daemon, либо он должен иметь значение:

start_motion_daemon=yes

Разрешаем автоматический запуск демона и перезапускаем сервис:

systemctl enable motion

systemctl restart motion

Можно проверить, что сервис работает корректно:

systemctl status motion

Настройка веб-интерфейса

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

Открываем конфигурационный файл:

vi /etc/motion/motion.conf

Редактируем следующие строки:

webcontrol_localhost off
...
stream_localhost off

Перезапускаем демона:

systemctl restart motion

Зайти на веб-интерфейс можно по адресу http://192.168.0.15:8080 для управления конфигурацией сервера, и http://192.168.0.15:8081 для подключения к трансляции в реальном времени (где 192.168.0.15 — адрес сервера с установленным motion).

Добавление камер

Добавим несколько камер. Для этого сначала открываем конфигурационный файл:

vi /etc/motion/motion.conf

Добавляем строки с описаниями камер (для каждой камеры свой файл с настройками):

camera /etc/motion/camera1.conf
camera /etc/motion/camera2.conf

* до версии 3.4.1 вместо camera используется thread.

Теперь создаем данные файлы:

vi /etc/motion/camera1.conf

Задаем настройки:

width 1920
height 1080
framerate 20
netcam_url http://192.168.0.15/video
netcam_userpass login:password
text_left CAMERA 1\nStreet 1
target_dir /video/motion/cam1
threshold 2000
lightswitch_percent 60
minimum_motion_frames 5
event_gap 10
locate_motion_mode on
locate_motion_style redbox
text_changes on

* до версии 4.1.1 вместо lightswitch_percent используется lightswitch.

... и для второй камеры: 

vi /etc/motion/camera2.conf

width 1280
height 768
framerate 20
netcam_url rtsp://192.168.0.16:554/user=admin&password=&channel=1&stream=1.sdp
text_left CAMERA 2\nStreet 2
target_dir /video/motion/cam2
threshold 2000
lightswitch_percent 60
minimum_motion_frames 5
event_gap 10
locate_motion_mode on
locate_motion_style redbox
text_changes on
ffmpeg_timelapse 1

* где:

  • width — разрешение видео по горизонтали.
  • height — разрешение видео по вертикали.
  • framerate — число кадров в секунду.
  • netcam_url — ссылка на поток камеры.
  • netcam_userpass — логин и пароль для доступа к видеопотоку.
  • text_left — текст, который будет наложен слева снизу экрана.
  • target_dir — каталог для хранения записи с камеры.
  • threshold — число пикселей, которые должны измениться для срабатывания детектора движения.
  • lightswitch_percent — игнорировать резкие изменения интенсивности света.
  • minimum_motion_frames — количества кадров, в которых должно быть замечено движение, чтобы сработал детектор.
  • event_gap — количество секунд, по прошествии которых без движения отключать действие детектора.
  • locate_motion_mode — отрисовка рамки вокруг движущегося объекта.
  • locate_motion_style — стиль окна. Возможны значения box, redbox, cross, redcross.
  • text_changes — текст, отображающий измененные пиксели при движении.
  • ffmpeg_timelapse — как часто делать запись фрагмента в файл, если нет движения.

* первая камера настроена на запись при движении, видеопоток берем посредством http-запроса. Вторая — на запись при движении + посекундная постоянная запись, видеопоток забираем с использованием RTSP.

Создаем каталоги для видео файлов:

mkdir -p /video/motion/cam{1,2}

Задаем владельца для созданных каталогов:

chown motion:motion /video/motion/cam{1,2}

Перезапускаем motion:

systemctl restart motion

# Linux # Ubuntu # Мультимедиа # Серверы
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет