Установка, настройка системы и управления для камер

в 7:54, , рубрики: Ubuntu, zoneminder, аналоговые и ip-камеры, Настройка Linux, системное администрирование

Итак, приступим, будем использовать:

  • Систему: Ubuntu Server 12.04;
  • Видеорегистратор: Zoneminder;
  • Камеры: аналоговые и айпишные dlink;
  • Плата видеозахвата: PCI bridge: Hint Corp HiNT HB4 PCI-PCI Bridge (PCI6150)
  • Основное требование: поднять сервер видеонаблюдения для производства

Айпишники, которые будут использоваться в нашем how-to:
192.168.110.151 – адрес нашего самого видеорегистратора;
192.168.107.103 – адрес айпишной камеры.

1) Подробнейшая инструкция по установке Ubuntu 12.04 сервера. Пошаговые скриншоты прилагаются.

Для установки Ubuntu 12.04 Server качаем iso образ на странице, записываем на CD и загружаемся с него. Первое окно, выбираем язык установки, в нашем случае я выбираю Русский:

image

Запускаем установку Ubuntu 12.04:

image

Выбираем страну:

image

Не соглашаемся с автоматическим определением клавиатуры:

image

Выбираем язык раскладки:

Установка, настройка системы и управления для камер - 5

Выбираем способ переключения клавиатуры, я предпочитаю Ctrl + Shift, в Вашем случае может быть иначе:

image

Будет происходить настройка сети по dhcp:

Установка, настройка системы и управления для камер - 7

Нас это не устраивает, поэтому, нажимаем кнопочку «Вернуться»

Установка, настройка системы и управления для камер - 8

Выбираем «Настройка сети вручную»

Установка, настройка системы и управления для камер - 9

Далее в предложенных, окнах, пишем настройки нашей сети, шлюз и днс. Следующее окно предложит написать имя компьютера в моем случае, это tester. Пишем имя пользователя:

Установка, настройка системы и управления для камер - 10

Вводим пароль, предварительно записав его в блокнот:

Установка, настройка системы и управления для камер - 11

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

Установка, настройка системы и управления для камер - 12

Сегодня я выберу автоматическую разметку диска:

Установка, настройка системы и управления для камер - 13

Выбираем диск:

Установка, настройка системы и управления для камер - 14

и записываем изменения:

Установка, настройка системы и управления для камер - 15

Далее последует сам процесс установки Ubuntu 12.04 Server:

В процессе установки, если вы используете прокси, необходимо указать адрес прокси-сервера:

Установка, настройка системы и управления для камер - 16

Отключаем обновления, т.к. они могу вызвать нестабильность системы:

Установка, настройка системы и управления для камер - 17

Что же, мы уже почти завершили установку Ubuntu 12.04 Server и дошли до этапа выбора предназначения нашей системы. От выбора пунктов этого шага зависит то, какую роль будет выполнять ваш новый Ubuntu-сервер — это может быть и сервер баз данных и почтовый сервер и т.д. В нашем случае надо обязательно выбрать lamp и openssh server.

Установка, настройка системы и управления для камер - 18

Вводим пароля root для mysql:

Установка, настройка системы и управления для камер - 19

На последнем этапе установщик предложит установить системный загрузчик в главную загрузочную запись:

Установка, настройка системы и управления для камер - 20

Несколько секунд и вы можете изъять диск с Ubuntu 12.04 Server из дисковода и нажать на «Продолжить»:

Установка, настройка системы и управления для камер - 21

Когда сервер будет успешно перегружен, вы сможете войти в систему, используя свои логин и пароль.

2) Установка, настройка видеорегистратора Zoneminder

Zoneminder 1.25.0 на Ubuntu 12.04
Для успешной работы нам необходимо установит OpenSSH Server, и LAMP Server, что мы сделали в предыдущем пункте.

1. Логинимся под root:

#sudo su

2. Устанавливаем обновления и перезагружаемся:

$apt-get update
$apt-get upgrade
$apt-get dist-upgrade
$reboot

3. Нам необходим: Статический айпишник

$nano /etc/network/interfaces

4. Туда пишем:

auto eth0
iface eth0 inet static
	address 192.168.110.151
 	netmask 255.255.255.0
 	gateway 192.168.110.220
 	dns-nameservers 192.168.110.5 192.168.110.6

5. Сохраняем документ.

6. Перезагружаемся:

$reboot

7. Переходим непосредственно к установке zoneminder:

#sudo su
$apt-get install zoneminder

8. Редактируем сам скрипт Zoneminder, т.к. он не запускается автоматом при загрузке:

$nano /etc/init.d/zoneminder

Вставляем в документе перед строкой «zmfix -a», вот такую — sleep 15.

9. Сохраняем документ.

10. Делаем символьную ссылочку:

$ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf

11. Перезагружаем веб-сервер:

$/etc/init.d/apache2 force-reload

12. Добавляем пользователя от которого будут происходить манипуляции с видео:

$adduser www-data video

13. Устанавливаем cambozola для поддержки воспроизведения видеопотока:

$cd /usr/src && wget http://www.charliemouse.com:8080/code/cambozola/cambozola-latest.tar.gz

$tar -xzvf cambozola-latest.tar.gz

$cp cambozola-0.92/dist/cambozola.jar /usr/share/zoneminder

14. Добавляем сертификаты для веб-сервера:

$make-ssl-cert generate-default-snakeoil --force-overwrite

15. Активируем их:

$a2enmod ssl

16. Активируем дефолтный ssl-виртуальный хост:

$a2ensite default-ssl

17. Перезапускаем веб-сервер:

$service apache2 restart

18. Доя успешного использования https проделываем следующее:

$nano /etc/cron.daily/ntpdate

19. Вставляем эти две строчки:

#!/bin/sh
ntpdate ntp.ubuntu.com

20. Сохраняем документ.

21. Даем на него права:

$chmod 755 /etc/cron.daily/ntpdate

22. Редактируем файл sysctl.conf для того, что бы дать понять ядру сколько памяти будем использовать под zoneminder (в противном случаем будет черный экран):

$nano /etc/sysctl.conf 

23. Вставляем в самый низ документа следующие две строки:

kernel.shmall = 134217728

kernel.shmmax = 134217728

24. Передаем эти значения в ядро:

$echo 134217728 >/proc/sys/kernel/shmall
$echo 134217728 >/proc/sys/kernel/shmmax

25. Перезагружаемся:

$reboot

26. Заходим в Zoneminder:

http://192.168.110.151/zm

27. В консоли жмем кнопку “Options”
LANG_DEFAULT Default language used by web interface, выставляем значение “ru_ru”
Возможность видеть русский интерфейс.

Установка, настройка системы и управления для камер - 22

28. Жмем добавить монитор.

29. И заполняем две графы опциями.

Установка, настройка системы и управления для камер - 23

Установка, настройка системы и управления для камер - 24

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

31. Как решить данную проблему я расскажу в следующем пункте настройке камер.

32. С айпишними камерами все немного проще, заходим в консоль управления нашей айпи камерой, нам нужно, три параметра: 1) имя пользователя и пароль на доступ к камере через http, 2) путь к камере, 3) ее разрешение.

33. Заходим в консоль управления камерой через браузер:

192.168.107.103

34. Добавляем нового пользователя (например test с паролем test):

Установка, настройка системы и управления для камер - 25

35. Смотрим разрешение:

Установка, настройка системы и управления для камер - 26

Ага, у нас оно 320x240.

36. Смотрим теперь путь к камере>

Установка, настройка системы и управления для камер - 27

37. Жмём в Zoneminder, “Добавить монитор”. Вписываем следующие опции на вкладках “Общие” и “Источник”:

Установка, настройка системы и управления для камер - 28

Установка, настройка системы и управления для камер - 29

3) Настройка аналоговых камер на плате видеозахвата PCI bridge: Hint Corp HiNT HB4 PCI-PCI Bridge (PCI6150).

1. Устанавливаем следующие пакеты:

$apt-get install v4l-conf libv4l-0 v4l2ucp v4l-conf v4l-utils

2. Смотрим, определились ли вообще наши видеоустройства:

$ls -l /dev/video* 

Должны получить вывод

crw-rw---- 1 root video 81, 0 Мар 19 17:28 /dev/video0
crw-rw---- 1 root video 81, 1 Мар 19 17:28 /dev/video1
crw-rw---- 1 root video 81, 2 Мар 19 17:28 /dev/video2
crw-rw---- 1 root video 81, 3 Мар 19 17:28 /dev/video3
crw-rw---- 1 root video 81, 4 Мар 19 17:28 /dev/video4
crw-rw---- 1 root video 81, 5 Мар 19 17:28 /dev/video5
crw-rw---- 1 root video 81, 6 Мар 20 08:18 /dev/video6
crw-rw---- 1 root video 81, 7 Мар 19 17:28 /dev/video7

Значит наши аналоговые устройства вывода видео определены в системе.

3. Смотрим, информацию о нашем устройстве (все аналоговые видеоустройства хранятся в виде /dev/video):

$v4l-info /dev/video0 | head -n 9 | grep "^card"

Получаем такой вывод:

card : "BT878 video ( *** UNKNOWN/GENER"

Вот, что было причиной того, почему наше устройство не корректно отображалось в Zoneminder. Это не есть хорошо, т.к. ядру не переданы параметры драйвера нашего устройства, смотрим дальше.

4. Нам необходимо выгрузить модуль:

$rmmod bttv

5. На что получаем неутвердительный ответ:

Error: Module bttv is in use

Я просидел над пересборками ядра и прочей ерундной очень много времени, ответ оказался простым. Наше аналоговое устройство использовалось, а использовалось оно видеорегистратором, так, что делаем так.

6. Останавливаем zoneminder:

$/etc/init.d/zoneminder /stop

7. Пробуем выгрузить модуль:

$rmmod bttv

8. Как видим команду он проглотил нормально, поэтому пробуем передать параметры ядру вручную:

modprobe -v bttv card=0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69 tuner=-1,-1,-1,-1,-1,-1,-1,-1,-1 autoload=0

9. Смотрим, информацию о нашем устройстве (все аналоговые видеоустройства хранятся в виде /dev/video):

$v4l-info /dev/video0 | head -n 9 | grep "^card"

А теперь уже получаем такой вывод:

card:  “BT878 video (ProVideo PV143)”

Что означает, что все вышло отлично и драйвера, применились.

10. Даем на всякий случай права на камеры:

$chmod a+rwx /dev/video*

11. Запускаем Zoneminder:

$/etc/init.dzoneminder start

12. Заходим в Zoneminder:

192.168.110.151/zm

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

13. Создаем файл bttv.conf:

$nano /et	c/modprobe.d/bttv.conf

14. Вставляем в него следующее содержимое:

alias char-major-81-0 bttv
alias char-major-81-1 bttv
alias char-major-81-2 bttv
alias char-major-81-3 bttv
alias char-major-81-4 bttv
alias char-major-81-5 bttv
alias char-major-81-6 bttv
alias char-major-81-7 bttv
alias char-major-81-8 bttv

options bttv card=0x69 tuner=-1 autoload=0 i2c_scan=0 i2c_hw=-1
options bttv card=0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69 tuner=-1,-1,-1,-1,-1,-1,-1,-1 autoload=0

15. Перезагружаемся:

$reboot

16. Любуемся полученным результатом:

Установка, настройка системы и управления для камер - 30

4) Возможные проблемы, с которыми прийдется столкнуться при выполнении моего HOW-TO.

1. Русский шрифт в консоли:

• в любом текстовом редакторе с правами рута нужно в файл /etc/initramfs-tools/initramfs.conf добавить строчку FRAMEBUFFER=Y. Это также можно сделать выполнив следующие команды:

$sudo -i
$echo 'FRAMEBUFFER=Y' >> /etc/initramfs-tools/initramfs.conf
$exit

• Обновить образ рамдиска периода инициализации ядра (initrd):

$update-initramfs –u

• Поле этих манипуляций настройки сделанные командой:

sudo dpkg-reconfigure console-setup

• наконец начнут работать: Русским фонтами будет показываться все с самого начала — т.е. даже запрос на проверку дисков (возникающий в процессе инициализации ядра) будет выводится кириллицей, а не квадратами.

2. Ubuntu не видит монитор.

Не все виды мониторов видят Ubuntu после установки, чаще всего вы увидите «Неоптимальный режим 1024x768. Оптимальный режим 1240 x 860»:

• Заходим /etc/default/grub
• Снимаем комментарий с строчки

GRUB_GFXMODE=640x480

• Обновляем загрузчик

$update-grub

• перезагружаем систему

$reboot

Автор: Duke_Nukem147

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js