Клиент видеонаблюдения ip камер linux

Программы для видеонаблюдения на Linux: Список лучшего ПО

Неоспоримый факт, что сейчас Linux представляет собой единственную замену Windows. Эта операционная система доказала своё преимущество в организации видеонаблюдения за объектом. За счёт различного ПО можно осуществить контроль. Поскольку это несёт выгоду, и пользователю нет необходимости лицензировать каждый сервер и компьютер.

Linux собрал вокруг себя сформировавшуюся группу программистов, которая помогает улучшать систему. Поэтому данное ПО ждёт хорошее будущее. Также происходит непрекращающееся пополнение списка программ, относящихся к видеонаблюдению.

На данный момент список программ видеонаблюдения для Linux довольно большой. В него входят AVReg, Motion, ZoneMinder, MPV и многие другие.

Есть люди, которые не решаются отказаться от привычного ПО в пользу Linux. Это связано с тем, что они не знакомы с ним. Но не нужно долго раздумывать насчёт перехода, потому что Линукс считается понятной и несложной ОС. Легко устанавливается и настраивается. Также имеет меньше системных требований к программам, если сравнивать с иными ОС.

Производитель

Линукс не привязан к какому-то конкретному месту на земле. Отсутствует организация, имеющая абсолютное право на это ОС, и обобщённый центр, согласовывающий пользовательские действия. Его полученные программы – это результат кропотливой работы многих программистов. Каждый человек может подключиться к этому проекту. Первое появление Linux состоялось в 1991 году. Самая первый вариант этой операционной системы был создан юным программистом из Финляндии. Его имя – Линус Торвальдс. Проект сразу прославился после появление в сети. Это связано с:

  • бесплатностью;
  • безопасностью;
  • надёжностью
  • открытием исходного кода.

С помощью открытого кода есть возможность улучшить его и использовать в своих целях. Пользователь получает доступ к устранению дефектов, повышению функциональности за счёт ряда программ.

Пользователю Linux не нужна кнопка Reset, так как аппаратная часть выполняют свою работу без нареканий, зависаний и перегрузок. За счёт структуры, исключающей шанс попадания несущих вред программ, не существует вирусов для данной ОС. Установка программ против вирусов, замедляющих работу ОП и требующих обновлений, здесь не нужна.

Распространение и его условия

Разрешается заниматься распространением ОС Linux на бесплатной основе. Это является существенным преимуществом перед большой стоимостью лицензированных версий Windows. Установив Линукс, пользователь обзаведётся доступом к тысячам приложений. Для получения программы видеонаблюдения от Linux есть 3 варианта:

  1. Найти эту программу у ZoneMinder, LinuxDVR, Motion, которые занимаются её бесплатным распространением.
  2. Бесплатно загрузить версию с неполными функциями от Линия, Xeoma либо AVReg.
  3. Приобрести платную версию.

Для абсолютной уверенности пользователя в актуальности приобретаемого продукта стоит провести бесплатное испытание. В большинстве случаев даётся право тестировать продукт в течение 30 дней.

Возможности функционала. Популярное ПО на linux для организации видеонаблюдения.

Базирующиеся на ОС Линукс, программы, осуществляющие видеонаблюдение, обладают различными функциями и спецификой. Это обуславливает их использование на практике. Ниже представлен список лучшего ПО для видеонаблюдения на Linux.

AVReg представляет собой продукт, который способен создать видеорегистратор на основе ПК с ОС Linux. Его лицензирование несвободно. Но он может бесплатно устанавливаться и применяться для некоммерческих дел. Содержит не так много функций, но для большинства задач подойдет, как нельзя лучше. Он поможет устроить наблюдение в квартире либо в доме загородом. Плюсом этого приложения является использование русского языка в документации и меню.

LinuxDVR – программа, созданная отечественными специалистами от фирмы «Сетевые информационные системы». Справляется с формированием распределённых систем и отдельного видеорегистратора. Лёгкая адаптация к сети происходит за счёт гибких настроек. Обладает форматом MJPEG. Поддержание 32 аналоговых каналов возможно на одном ПК, которые передают чёрно-белые либо цветные видеосигналы. Присутствует функция обнаружения движения и реагирования на то, что происходит перед камерой. Нет ограничений по поводу устранения наблюдателей. События попадают под протокол. Осуществлять поиск в архиве не составляет труда.

Читайте также:  Самая лучшая операционная система windows для пк

ZoneMinder является наиболее профессиональной программой по сравнению с AVReg. Поскольку обладает большим функционалом, проводит серьёзный контроль. Однако есть и минус. Только пользователь с неплохим знанием английского языка способен работать в данной программе. Распространение программы проходит в наборе пакетов, относящихся к главным Linux дистрибутивам.

NetAvis Observer считается приложением, созданным для работы с видео, которое имеет интегрированную информационную аналитику. В целом программа представляет собой сильную профессиональную платформу, отвечающую за организацию видеонаблюдения над разными объектами. Программы адаптируются специально для пользователя благодаря огромному выбору настроек и высокой производительности. Основные видео форматы поддерживаются ПО. Данное приложение гарантирует полную безопасность, не допускает какой-либо утечки данных. Гибкая архитектура, в которую внедрена масштабируемость системы.

Motion eye является программой, пользующейся большой популярностью. Ноутбук либо персональный компьютер используются как сервер. Эта консольная программа не создаёт трудностей при работе с Линукс. Каждая версия обладает веб-сервисом. С помощью него проходит видеопоток с камеры наблюдения в формате MJPEG. Программа оснащена опцией, распознающей движение. Это даёт возможность проводить запись информации выборочно. Полное контролирование объекта гарантировано благодаря простоте в применении, понятному интерфейсу и настройкам.

Ivideon – это программа, сформировавшаяся из 2 разделов под названиями Client и Server. Посредством интернета на любой территории можно вести видеонаблюдение без привязанности к конкретному адресу. Установка Server проводится на ПК либо ноутбук, куда проходит видеопоток и где осуществляется запись на жёсткий диск. Для «слепого сервера» применяется нетбук. Устройство будет вести видеозапись, но это не будет видно на мониторе. Ещё смартфон либо планшет подойдёт для просмотра записанного материала.

Линия – российская разработка, сделанная краснодарской компанией «ДевЛайн». ПО получило высокие позиции на отечественном рынке, потому что имеет совместимость с программами иных разработчиков. Преимущества данного продукта обусловлены широкими возможностями, простой интеграцией, доступной стоимость и точностью настроек.

Место применения

Различные цели видеонаблюдения выполняются разным программным обеспечением для ОС Linux:

  • контролирование происходящего в квартире, доме загородом, гараже;
  • слежка за предприятиями и складскими терминалами;
  • наблюдение за торговыми пунктами и заведениями общественного питания;
  • контроль над парковочными местами, АЗС и автомобильными стоянками.

Выгода от использования Linux как ОС для ПО видеонаблюдения

На данный момент Линукс считается сильнейшей и вызывающей доверия операционной системой с обслуживанием сервиса. К выбору предоставляются разнообразные настройки и структура ядра для домашнего либо офисного ПК. Совершенная совместимость обеспечена невысокими требованиями к программам. Быстродействие и лёгкая работа гарантированы благодаря отсутствию поражений от вирусов. Установку данного ОС возможно провести, как на стационарные устройства, так и на мобильные.

На видео: Установка ПО «Линия» на ОС Linux

Источник

Большой брат в Linux или видеонаблюдение своими руками

Большой брат в Linux или видеонаблюдение своими руками.

После переезда в новый офис, дабы не расслаблять сотрудников, было решено
установить систему видеонаблюдения. Но, как обычно, основным условием было:
дешево и сердито 🙂 После обдумывания и подсчетов было решено остановиться на
следующем:
IP камеры и компьютер в качестве регистратора.
Для начала попробовали небезызвестный ZoneMinder. Но отчего-то с 9 камерами он
грузил систему нещадно. После некоторой борьбы с ним, было решено отказаться от
него. Поискав на просторах Internet была найдена программка под названием
motion (http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome). Почитав немного
про нее, было решено остановиться на ней.
Итак, у нас были IP камеры, компьютер в качестве регистратора, motion в
качестве софта и желание подружить весь этот колхоз 🙂
И что же умеет motion из того, что нам надо? 🙂
1. Работа с камерами, подключенными через карты захвата либо с IP камерами.
2. Выполнять скрипты при наступлении и окончании события.

Ну чтож, приступим. Для начала попробуем с одной камерой 🙂
Устанавливаем motion.
Далее, в папке /etc/motion/ копируем файл с конфигурацией (motion.conf) в файл
для нашей камеры, например motion1.conf. А теперь начинаем его править под
себя:
1. закомментируем строчку
videodevice /dev/video0
2. в строке netcam_url прописываем URL для доступа к нашей камере. Мы
использовали IP камеры Axis, модель 207 (со встроенным микрофоном).
Для нашего случая выглядело так:
netcam_url
http://camera_ip/axis-cgi/mjpg/video.cgi?resolution=640×480
где camera_ip — IP адрес камеры 🙂
3. далее находим строку target_dir — здесь указываем путь к папке, где будем
хранить данные с камеры.
4. а теперь начинается самое интересное. Находим строку on_event_start. Здесь
мы прописываем команду, которая будет выполняться при наступлении события, то
есть при движении. Что нам это дает? А дает нам это то, что мы не будем
постояно вести запись, а только по необходимости — есть движение, идет запись,
закончилось, остановились и мы. Таким образом получается экономия. Для
сравнения — у нас ведется запись с 10 камер — цветная картинка 640х480 со
звуком, записи хранятся 21 день и все это дело занимает на диске в среднем 135
GB, а всесте с фото, которые делает motion около 200 GB.
5. следующая строка: on_event_end — это для команды, отрабатывающей по
окончанию события.
6. И еще один нюанс, motion поднимает небольшой http сервер, а так как для
каждой камеры запускается своя инстанция программы с отдельным конфигом, то
важно, чтобы он слушал на разных портах. Для этого проверяем, чтобы следующие
строки отличались в каждом файле:
webcam_port и control_port
Для примера: для первой камеры ставим значения
webcam_port 8081
control_port 8080
для второй
webcam_port 8083
control_port 8082
и так далее.

Читайте также:  Linux iptables до перезагрузки

Это в принципе основные изменения. Думаю при внимательном прочтении конфига вы
сами найдете нужные вам параметры, так как там все довольно хорошо
задокументировано.

Теперь вернемся к скриптам, которые отрабатывают при начале и окончании
события.
Так как нам надо писать видео с камеры, то для этого я использовал mencoder.
В папке /root/bin/ создаем скрипты recordstart.sh и recordstop.sh, которые
будут запускаться при наступлеии и окончании события соответсвенно.
Давайте заглянем внутрь recordstart.sh:

[root@video bin]# cat /root/bin/recordstart.sh
#!/bin/bash

# We are using two variables
# 1 — camera name
# 2 — directory name (where file will be stored)

# Generate filename
start=«cam$<1>»
dt=`date +%Y%m%d%H%M%S`
FILENAME=»$-$

.avi»
echo $FILENAME

if [ «$1» -eq 218 ]
then
`/usr/bin/mencoder -ovc copy -oac pcm -delay 1.5 -mc 10 -o
/video/motion/$2/$FILENAME rtsp://192.168.95.218/mpeg4/media.amp > /dev/null`
elif [ «$1» -eq 219 ]
then
`/usr/bin/mencoder -ovc copy -oac pcm -delay 1.5 -mc 10 -o
/video/motion/$2/$FILENAME rtsp://192.168.95.219/mpeg4/media.amp > /dev/null`
else
`/usr/bin/mencoder -ovc copy -oac pcm -mc 10 -o /video/motion/$2/$FILENAME
rtsp://192.168.95.$1/mpeg4/media.amp > /dev/null`
fi

Скрипт принимает два параметра:
1 — имя камеры, хотя имя не совсем верно, так как это последний октет из IP
адреса камеры. То есть, как в нашем случае (мы используем 95 подсеть — 192.168.95.0/24). Таким образом, при передаче значения 211 — будет ясно, что
хотим обратиться к камере с IP 192.168.95.211
2 — директория, где будет храниться записанный файл. Сделано для того, чтобы
легче было искать. Опять же в нашем случае: имеется папка /video/motion в
которой хранятся записи, но для того, чтобы не мешать все в кучу, она содержит
поддиректории зон: kuhnya, balkon и т.д. Значит при передаче значения balcon — запись будеть производиться в директорию /video/motion/balkon.

Итак, при вызове скрипта в виде /root/bin/recordstart.sh 211 balkon — скрипт
будет писать с камеры с IP 192.168.95.211 в директорию /video/motion/balkon.
Надеюсь тут все более-неменее ясно 🙂

Как видно, вначале мы генерируем уникальное имя для файла, в который будем
писать, которое состоит из следующих частей:
start — номер камеры, вернее последний октет из ее IP с предшествующим ей cam.
dt — текущая дата в формате ГГГГММДДччммсс.
Пример имени файла: cam218-20090924131847.avi — то есть, пишется с камеры с IP
192.168.95.218, дата начала: 2009 год, 09 месяц, 24 число, 13 часов, 18 минут,
47 секунд.

Читайте также:  Кто платит за linux

Небольшое пояснение: так уж оказалось, что у нас разные модели камер, которые
предоставляют разные способы доступа к потоку видео данных, из-за этого
пришлось ввести в скрипте проверки.
Теперь пройдемся по mencoder-у:
-ovc copy — означает, что видеоряд копируем, так как с камеры сразу идет в
mpeg4
-oac pcm — какой кодек использовать для звуковой дорожки, если камера позволяет
писать звук.
-mc 10 — Максимальная величина корректировки A-V синхронизации на один кадр (в
секундах)
-delay 1.5 — Задержка в мс, которая должна вноситься в каждый канал

Если у вас проблемы с синхронизацией видео и звукового ряда, тогда надо менять
значения для последних двух параметров — mc и delay.
Для теста можно использовать mplayer.

Ну вот, теперь при наступлении события, мы можем запускать данный скрипт.
Таким образом в конфиге для motion для нашей камеры прописываем в строке
on_event_start что-то похожее:
on_event_start «/root/bin/recordstart.sh 210 koridor1»

И он начнет писать :)))
Но ведь это все еще надо остановить :)))
Для этого используем второй скрипт /root/bin/recordstop.sh.

[root@video bin]# cat /root/bin/recordstop.sh
#!/bin/bash

# We are using one variable
# 1 — camera name

# Get string with mencoder process PID
MPID=`ps ax | grep mencoder | grep cam$ <1>| awk ‘< print $1 >‘`

# Kill process
`kill -15 $MPID`

Скрипт принимает один параметр — все тот же последний октет из IP адреса
камеры.

Соответсвенно в строке on_event_end файла конфигурации прописываем что-то
вроде:
on_event_end «/root/bin/recordstop.sh 210»

Ну вот примерно и все, что касается конфигурации.
Теперь перейдем к рутинным операциям 🙂
У меня используются две, которые отрабатывают по крону.
1. Удаляет устаревшие файлы, которые страрше 21 дня.
2. Объединяет все файлы за день в один.

Рассмотрим скрипт для чистки. У меня он располагается в директории /root/sbin
и,
для того, чтобы враги не догадались, называется clean.sh

]# cat /root/sbin/clean.sh
#!/bin/sh

/bin/find /video/balkon -name «*.*» -mtime +21 -delete
/bin/find /video/motion/balkon -name «*.*» -mtime +21 -delete

В первой директории хранятся фотографии, сделанные motion — это параметр из
файла конфигурации в строке target_dir.
Вторая директория — куда пишется видео, запущенное из скрипта recordstart.sh

А вот второй скрипт посложнее.
[root@video

]# cat /root/sbin/concatfiles.py
import os, stat, types, commands

workDir = ‘/video/motion/’
dirs = os.listdir(workDir)
oldDate = summaryFile = summaryFileTmp = »
for dir in dirs:
filesList = os.listdir(workDir + dir)
filesList.sort()
for file in filesList:
tmpN = file.split(‘.’)
nm = tmpN[0]
tmpN = nm.split(‘-‘)
if tmpN[0] != ‘S’:
nm = tmpN[1]
year = nm[0:4]
month = nm[4:6]
day = nm[6:8]
date = year + month + day
if oldDate != date:
summaryFile = workDir + dir + ‘/S-‘ + tmpN[0] + ‘-‘ + year +
month + day + ‘.avi’
summaryFileTmp = workDir + dir + ‘/S-‘ + tmpN[0] + ‘-‘ + year +
month + day + ‘-tmp.avi’
#conactenate files
command = ‘/usr/bin/mencoder -oac copy -ovc copy ‘ + workDir +
dir + ‘/’ + tmpN[0] + ‘-‘ + date + ‘*.avi -o ‘ + summaryFileTmp
os.system(command)
#fix key frame
command = ‘ffmpeg -i ‘ + summaryFileTmp + ‘ -ss 0.04 -vcodec
copy -acodec copy -vcodec copy -acodec copy ‘ + summaryFile
os.system(command)
#remove tmp file
command = ‘/bin/rm -f ‘ + summaryFileTmp
os.system(command)
#remove old files
command = ‘/bin/rm -f ‘ + workDir + dir + ‘/’+ tmpN[0] + ‘-‘ +
date + ‘*.avi’
os.system(command)
oldDate = date

Это для объединения коротких роликов за день в один суммарный. (Для тех кто не
в курсе — он на питоне).
Единственное, что нужно менять — это переменная workDir — путь, куда mencoder
пишет свои файлы, все из того же recordstart.sh

Прописываем их в крон на выполнение раз в сутки, желательно ночью, пока карета
не превратится в тыкву 🙂

Запускаем motion следующим образом:
motion -c /path/to/config/file

где
/path/to/config/file — путь к нашему файлу с конфигом 🙂

А далее запускаем их при загрузке системы.

Ну вот наверное и все 🙂
Если будут вопросы — задавайте 🙂

UPD: будьте внимательны с скриптом на питоне, так как сбилась вся
табуляция, что для него очень критично.

Источник

Оцените статью