Итак, приступим, будем использовать:
Айпишники, которые будут использоваться в нашем how-to:
192.168.110.151 – адрес нашего самого видеорегистратора;
192.168.107.103 – адрес айпишной камеры.
1) Подробнейшая инструкция по установке Ubuntu 12.04 сервера. Пошаговые скриншоты прилагаются.
Для установки Ubuntu 12.04 Server качаем iso образ на странице, записываем на CD и загружаемся с него. Первое окно, выбираем язык установки, в нашем случае я выбираю Русский:
Запускаем установку Ubuntu 12.04:
Выбираем страну:
Не соглашаемся с автоматическим определением клавиатуры:
Выбираем язык раскладки:
Выбираем способ переключения клавиатуры, я предпочитаю Ctrl + Shift, в Вашем случае может быть иначе:
Будет происходить настройка сети по dhcp:
Нас это не устраивает, поэтому, нажимаем кнопочку «Вернуться»
Выбираем «Настройка сети вручную»
Далее в предложенных, окнах, пишем настройки нашей сети, шлюз и днс. Следующее окно предложит написать имя компьютера в моем случае, это tester. Пишем имя пользователя:
Вводим пароль, предварительно записав его в блокнот:
Далее идет автоматическая настройка часового пояса и спросит, является ли это правильным часовым поясом:
Сегодня я выберу автоматическую разметку диска:
Выбираем диск:
и записываем изменения:
Далее последует сам процесс установки Ubuntu 12.04 Server:
В процессе установки, если вы используете прокси, необходимо указать адрес прокси-сервера:
Отключаем обновления, т.к. они могу вызвать нестабильность системы:
Что же, мы уже почти завершили установку Ubuntu 12.04 Server и дошли до этапа выбора предназначения нашей системы. От выбора пунктов этого шага зависит то, какую роль будет выполнять ваш новый Ubuntu-сервер — это может быть и сервер баз данных и почтовый сервер и т.д. В нашем случае надо обязательно выбрать lamp и openssh server.
Вводим пароля root для mysql:
На последнем этапе установщик предложит установить системный загрузчик в главную загрузочную запись:
Несколько секунд и вы можете изъять диск с Ubuntu 12.04 Server из дисковода и нажать на «Продолжить»:
Когда сервер будет успешно перегружен, вы сможете войти в систему, используя свои логин и пароль.
?
2) Установка, настройка видеорегистратора Zoneminder
Zoneminder 1.25.0 на Ubuntu 12.04
Для успешной работы нам необходимо установит OpenSSH Server, и LAMP Server, что мы сделали в предыдущем пункте.
1. Логинимся под root:
2. Устанавливаем обновления и перезагружаемся:
3. Нам необходим: Статический айпишник
4. Туда пишем:
5. Сохраняем документ.
6. Перезагружаемся:
7. Переходим непосредственно к установке zoneminder:
8. Редактируем сам скрипт Zoneminder, т.к. он не запускается автоматом при загрузке:
Вставляем в документе перед строкой «zmfix -a», вот такую — sleep 15.
9. Сохраняем документ.
10. Делаем символьную ссылочку:
11. Перезагружаем веб-сервер:
12. Добавляем пользователя от которого будут происходить манипуляции с видео:
13. Устанавливаем cambozola для поддержки воспроизведения видеопотока:
14. Добавляем сертификаты для веб-сервера:
15. Активируем их:
16. Активируем дефолтный ssl-виртуальный хост:
17. Перезапускаем веб-сервер:
18. Доя успешного использования https проделываем следующее:
19. Вставляем эти две строчки:
20. Сохраняем документ.
21. Даем на него права:
22. Редактируем файл sysctl.conf для того, что бы дать понять ядру сколько памяти будем использовать под zoneminder (в противном случаем будет черный экран):
23. Вставляем в самый низ документа следующие две строки:
24. Передаем эти значения в ядро:
25. Перезагружаемся:
26. Заходим в Zoneminder:
27. В консоли жмем кнопку “Options”
LANG_DEFAULT Default language used by web interface, выставляем значение “ru_ru”
Возможность видеть русский интерфейс.
28. Жмем добавить монитор.
29. И заполняем две графы опциями.
30. При просмотре монитора мы скорее всего увидим черный экран, поигравшись с опциями, возможно увидеть изображение, но с большими помехами.
31. Как решить данную проблему я расскажу в следующем пункте настройке камер.
32. С айпишними камерами все немного проще, заходим в консоль управления нашей айпи камерой, нам нужно, три параметра: 1) имя пользователя и пароль на доступ к камере через http, 2) путь к камере, 3) ее разрешение.
33. Заходим в консоль управления камерой через браузер:
192.168.107.103
34. Добавляем нового пользователя (например test с паролем test):
35. Смотрим разрешение:
Ага, у нас оно 320x240.
36. Смотрим теперь путь к камере>
37. Жмём в Zoneminder, “Добавить монитор”. Вписываем следующие опции на вкладках “Общие” и “Источник”:
3) Настройка аналоговых камер на плате видеозахвата PCI bridge: Hint Corp HiNT HB4 PCI-PCI Bridge (PCI6150).
1. Устанавливаем следующие пакеты:
2. Смотрим, определились ли вообще наши видеоустройства:
Должны получить вывод
Значит наши аналоговые устройства вывода видео определены в системе.
3. Смотрим, информацию о нашем устройстве (все аналоговые видеоустройства хранятся в виде /dev/video):
Получаем такой вывод:
Вот, что было причиной того, почему наше устройство не корректно отображалось в Zoneminder. Это не есть хорошо, т.к. ядру не переданы параметры драйвера нашего устройства, смотрим дальше.
4. Нам необходимо выгрузить модуль:
5. На что получаем неутвердительный ответ:
Я просидел над пересборками ядра и прочей ерундной очень много времени, ответ оказался простым. Наше аналоговое устройство использовалось, а использовалось оно видеорегистратором, так, что делаем так.
6. Останавливаем zoneminder:
7. Пробуем выгрузить модуль:
8. Как видим команду он проглотил нормально, поэтому пробуем передать параметры ядру вручную:
9. Смотрим, информацию о нашем устройстве (все аналоговые видеоустройства хранятся в виде /dev/video):
А теперь уже получаем такой вывод:
Что означает, что все вышло отлично и драйвера, применились.
10. Даем на всякий случай права на камеры:
11. Запускаем Zoneminder:
12. Заходим в Zoneminder:
192.168.110.151/zm
Проверяем нашу аналоговую камеру и можем убедиться, что с изображением все хорошо и мы можем спокойно наблюдать его в нашем видеорегистраторе. Далее нам это все дело необходимо автоматически, что бы подымалось в ядре, без ручного запуска.
13. Создаем файл bttv.conf:
14. Вставляем в него следующее содержимое:
?
15. Перезагружаемся:
16. Любуемся полученным результатом:
4) Возможные проблемы, с которыми прийдется столкнуться при выполнении моего HOW-TO.
1. Русский шрифт в консоли:
• в любом текстовом редакторе с правами рута нужно в файл /etc/initramfs-tools/initramfs.conf добавить строчку FRAMEBUFFER=Y. Это также можно сделать выполнив следующие команды:
• Обновить образ рамдиска периода инициализации ядра (initrd):
• Поле этих манипуляций настройки сделанные командой:
• наконец начнут работать: Русским фонтами будет показываться все с самого начала — т.е. даже запрос на проверку дисков (возникающий в процессе инициализации ядра) будет выводится кириллицей, а не квадратами.
2. Ubuntu не видит монитор.
Не все виды мониторов видят Ubuntu после установки, чаще всего вы увидите «Неоптимальный режим 1024x768. Оптимальный режим 1240 x 860»:
• Заходим /etc/default/grub
• Снимаем комментарий с строчки
• Обновляем загрузчик
• перезагружаем систему
- Систему: 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 и загружаемся с него. Первое окно, выбираем язык установки, в нашем случае я выбираю Русский:
Запускаем установку Ubuntu 12.04:
Выбираем страну:
Не соглашаемся с автоматическим определением клавиатуры:
Выбираем язык раскладки:
Выбираем способ переключения клавиатуры, я предпочитаю Ctrl + Shift, в Вашем случае может быть иначе:
Будет происходить настройка сети по dhcp:
Нас это не устраивает, поэтому, нажимаем кнопочку «Вернуться»
Выбираем «Настройка сети вручную»
Далее в предложенных, окнах, пишем настройки нашей сети, шлюз и днс. Следующее окно предложит написать имя компьютера в моем случае, это tester. Пишем имя пользователя:
Вводим пароль, предварительно записав его в блокнот:
Далее идет автоматическая настройка часового пояса и спросит, является ли это правильным часовым поясом:
Сегодня я выберу автоматическую разметку диска:
Выбираем диск:
и записываем изменения:
Далее последует сам процесс установки Ubuntu 12.04 Server:
В процессе установки, если вы используете прокси, необходимо указать адрес прокси-сервера:
Отключаем обновления, т.к. они могу вызвать нестабильность системы:
Что же, мы уже почти завершили установку Ubuntu 12.04 Server и дошли до этапа выбора предназначения нашей системы. От выбора пунктов этого шага зависит то, какую роль будет выполнять ваш новый Ubuntu-сервер — это может быть и сервер баз данных и почтовый сервер и т.д. В нашем случае надо обязательно выбрать lamp и openssh server.
Вводим пароля root для mysql:
На последнем этапе установщик предложит установить системный загрузчик в главную загрузочную запись:
Несколько секунд и вы можете изъять диск с Ubuntu 12.04 Server из дисковода и нажать на «Продолжить»:
Когда сервер будет успешно перегружен, вы сможете войти в систему, используя свои логин и пароль.
?
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”
Возможность видеть русский интерфейс.
28. Жмем добавить монитор.
29. И заполняем две графы опциями.
30. При просмотре монитора мы скорее всего увидим черный экран, поигравшись с опциями, возможно увидеть изображение, но с большими помехами.
31. Как решить данную проблему я расскажу в следующем пункте настройке камер.
32. С айпишними камерами все немного проще, заходим в консоль управления нашей айпи камерой, нам нужно, три параметра: 1) имя пользователя и пароль на доступ к камере через http, 2) путь к камере, 3) ее разрешение.
33. Заходим в консоль управления камерой через браузер:
192.168.107.103
34. Добавляем нового пользователя (например test с паролем test):
35. Смотрим разрешение:
Ага, у нас оно 320x240.
36. Смотрим теперь путь к камере>
37. Жмём в Zoneminder, “Добавить монитор”. Вписываем следующие опции на вкладках “Общие” и “Источник”:
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. Любуемся полученным результатом:
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
3) Источники, которые использовались для реализации данного проекта
Ubuntu
1. www.ithowto.ru/666-ustanovka-ubuntu-12-04-server.html
2. softnastroy.com/content/instrukciya-po-ustanovke-ubuntu-1204-lts-server-c-podrobnymi-skrinshotami.html
3. help.ubuntu.ru/wiki/russian_font_in_console
Проблемы с камерами
4. avreg.net/howto_linux-capture-cards.html
5. www.lecam.ru/articles/avreg
6. devhead.ru/read/organizaciya-videonablyudeniya-zoneminder-ubuntu
7. www.linuxtv.org/wiki/index.php/Bttv_devices_%28bt848,_bt878%29#Driver
8. www.zoneminder.com/wiki/index.php/Ubuntu_9.04_%28Jaunty%29_desktop_with_graphical_interface
9. forum.ubuntu.ru/index.php?topic=30146.0
10. unixforum.org/index.php?showtopic=117969
Zoneminder
11. www.zoneminder.com/wiki/index.php/Ubuntu_Server_12.04_64-bit_with_Zoneminder_1.25.0_the_easy_way
12. blog.sighworld.com/page/3
1. www.ithowto.ru/666-ustanovka-ubuntu-12-04-server.html
2. softnastroy.com/content/instrukciya-po-ustanovke-ubuntu-1204-lts-server-c-podrobnymi-skrinshotami.html
3. help.ubuntu.ru/wiki/russian_font_in_console
Проблемы с камерами
4. avreg.net/howto_linux-capture-cards.html
5. www.lecam.ru/articles/avreg
6. devhead.ru/read/organizaciya-videonablyudeniya-zoneminder-ubuntu
7. www.linuxtv.org/wiki/index.php/Bttv_devices_%28bt848,_bt878%29#Driver
8. www.zoneminder.com/wiki/index.php/Ubuntu_9.04_%28Jaunty%29_desktop_with_graphical_interface
9. forum.ubuntu.ru/index.php?topic=30146.0
10. unixforum.org/index.php?showtopic=117969
Zoneminder
11. www.zoneminder.com/wiki/index.php/Ubuntu_Server_12.04_64-bit_with_Zoneminder_1.25.0_the_easy_way
12. blog.sighworld.com/page/3
Andrew_Pinkerton
16.04 вполне хорошо себя чувствует на железе 8 летней давности (или даже более старом)
Вы вправду считаете что на Хабре стоит это публиковать?
Кто ваша целевая аудитория?
Очень сомнительный совет
Ubuntu 12.04, аналоговые камеры — похоже на попытку жесткой экономии на всём что можно
Хотя в целом надо сказать что задача поднять сервер видеонаблюдения для производства выполнена
DaemonGloom
Вероятнее всего, господин ksenobayt просто пригласил человека, что привело к автоматической публикации поста из песочницы. Самой статье уже лет 5, наверное.
ksenobayt
Точно так.
Fandir
Похоже на чью то курсовую.
Duke_Nukem147 Автор
Писалась статья на время актуальности Ubuntu версии 12.04. Работа была проделана, не малая, так как до этого использовалось, что-то вроде крякнутого guardianpro, падающего через каждые 5 минут и работающего из под Windows XP. «Из коробки», что zoneminder, что «motion» не заводились для аналоговых камер. Почему так подробно, со всеми вытекающими? На тот момент я работал в команде с админом зрелого возраста, который банально не понимал wiki, тех же zoneminder или даже how-to, которые частенько выкладывают на Хабре. Мне на тот период работы пришлось писать просто, чуть ли не «Открываем правой кнопкой мыши на экране рабочего стола», попутно добавляю к этому скриншот. Ну а с Linux все еще подробней.