Авылда #0. Как я видеонаблюдение в деревне делал
ДИСКЛЕЙМЕР: Это не инструкция как делать видеонаблюдение! Я просто описываю то, что я собрал для себя лично. В продакшен, а тем более за деньги, такое ставить нельзя!
Совсем не так я планировал начать рассказывать о том, как меня, посредственного айтишника, одолела мысль уехать с двумя котами жить в деревню. О том, как я купил землю, оказавшуюся впоследствии болотом, как хитростью одолевал многожопую гидру Татэнергосбыта, как строил сарай по цене трёх. Но внезапно один из моих комментариев вызвал живой интерес и было бы нечестно заставлять стольких подписчиков ждать.
Для начала немного лирики. Несколько раз мне справедливо указали, что купить в магазине видеорегистратор с камерами проще. И я совершенно с ними согласен. Если цель - один раз купить, поставить и забыть, то лучше купить готовое решение.
Я же собираю собственную систему на программном видеорегистраторе по многим причинам. Во-первых, я не знаю сколько у меня в итоге будет камер, что сразу исключает установку аналоговых камер с регистратором, где производителем заранее заложено определенное количество портов. Во-вторых, я хочу иметь возможность работать с полноценной операционной системой, а не куцыми заводскими прошивками ip-видеорегистраторов. В-третьих, я хочу, чтобы доступ к видео с моими телесами был у меня и только у меня, поэтому облачные сервисы тоже отбрасываем. Ну и главное - мне нравится возиться с умными железками и я умею это делать, а что может быть прекраснее желаний, совпадающих с возможностями!
Поскольку моя система очень специфична, историю разделю на две части, чтобы срубить больше плюсцов всем было удобнее. Сейчас расскажу как и почём я настраивал камеры с регистратором, что и заинтересовало большинство подписчиков. А о том, как я делал эту систему доступной через интернет, расскажу в следующем посте, который будет гораздо более техническим и менее интересным широкой публике.
Итак, приступим.
Камеры - 2500 рублей.
Сборка видеонаблюдения началась с двух уличных камер, заказанных на али. Ключевыми требованиями были разрешение fullhd, умение отдавать два потока по rtsp, желательно наличие onvif. Недорогое решение нашлось за 1250 рублей, заказал сразу две с объективами 2.8, чтобы получить максимальный угол обзора. Модель камер sae60-nx3cf2001s, легко гуглится под разными именами и довольно распространена.
Поскольку китайцы органически не способны сделать что-либо не через жопу, для настройки этих камер обязательно требуется Internet Explorer. По умолчанию всем камерам назначен адрес 192.168.1.10.
Назначил компьютеру ip в той же подсети, по очереди подключал камеры шнурком к компьютеру, сразу обновил их, указал правильный часовой пояс и назначил каждой собственный адрес. Как позже оказалось, время на этих камерах выставлять бесполезно, они сбиваются и ни в какую не хотят синхронизироваться по сети.
Компьютер - 1800 рублей
Сами по себе камеры радуют глаз, мигают светодиодами и даже отпугивают часть потенциальных нарушителей, но хотелось бы куда-то сохранять с камер видео и иметь возможность это видео посмотреть. Для этого нужен видеорегистратор. Чтобы установить программный регистратор на компьютер, нужен ВНЕЗАПНО компьютер.
Открыл Авито, набрал в поиске "системный блок", отсортировал по цене и вот он, старый, но работающий системник за 900 рублей. На борту pentium4 на 775 сокете, 2 порта SATA и 4 слота с поддержкой аж 4 гигабайт DDR SDRAM памяти. Тут же на Авито купил 4 плашки памяти по 1ГБ еще на 900 рублей и приступил к установке ПО.
Программное обеспечение - бесплатно
Если у вас нет желания связываться с установкой Linux, что совершенно нормально и естественно - выбор за вами. Можно установить "бесплатную" Windows и, например, бесплатную Polyvision и будет не хуже.
Я, в свою очередь, выбрал связку Ubuntu+Avreg, так как много лет её использую в продакшене, знаю как её настраивать, понимаю что она может и чего не может.
Выбранный мной видеорегистратор устанавливается на Debian-based операционные системы, причем установка на собственно Debian у меня при первом знакомстве провалилась из-за каких-то проблем с зависимостями. Было это лет 8 назад, наверняка эту проблему давным-давно поправили, но я уже привык устанавливать Avreg на Ubuntu, не стал экспериментировать и в этот раз.
Устанавливал операционку я с USB. Скачал iso-образ Ubuntu Server 20.04 и развернул его на флешку. В Linux это делается простым копированием образа на блочное устройство, а как это сделать в Windows я не знаю и знать не хочу. Загрузочную флешку воткнул в будущий видеосервер, выбрал в bios загрузку с USB и стандартное "Далее", "Далее", "Далее" примерно на полчаса.
Установка сервера Avreg тоже сложностей не представляет, всё делаем по мануалу. Открываем терминал, выполняем четыре команды:
1. добавляем репозиторий в систему
sudo bash -c 'echo "deb http://avreg.net/repos/6.3-html5/ubuntu/ focal main contrib non-free" >/etc/apt/sources.list.d/avreg.list '
2. добавляем публичный ключ репозитория в систему
wget -q -O - http://avreg.net/repos/avreg.public.key | sudo apt-key add -
3. обновляем список пакетов из репозиториев
sudo apt-get update
4. устанавливаем регистратор со всеми зависимостями
sudo apt-get install avreg-server-pgsql
После завершения установки можно открывать в браузере http://127.0.0.1/avreg
Логин: install, пароль оставляем пустым.
Теперь время собрать всё оборудование в одну кучу.
Сетевое оборудование - условно бесплатно
Если у вас нет дома свалки старого железа как у меня - можно купить на Авито б/у свитч портов на 8, встанет это ориентировочно в 500 рублей.
У меня с каких-то доисторических времен валялись несколько коммутаторов Dlink, один из которых даже оказался рабочим (по крайней мере с 1 по 4 и с 7 по 8 порты). Этих портов мне оказалось достаточно, чтобы соединить камеры, видеосервер и 4G роутер Йоты, который будет выпускать это всё в интернет.
Теперь, когда видеосервер и камеры находятся в одной сети, можно зайти на веб-интерфейс Avreg, добавить камеры и настроить их на просмотр и запись. Совершенно элементарно это делается с помощью onvif, нужно только указать адрес камеры, порт onvif (его можно посмотреть в веб-интерфейсе камеры), логин и пароль. Получаем список потоков, выбираем нужный, сохраняем камеру, переходим к следующей. После добавления всех камер перезапускаем сервер Avreg, настраиваем раскладку для просмотра и радуемся. Расписывать в картинках настройку не вижу смысла - кто захочет, тот сам потыкается и разберется.
Жесткий диск - условно бесплатно
Даже одна камера в FullHD может забить диск очень быстро, особенно учитывая, что купленный мной системник-доходяга имел на борту всего 80ГБ. У меня уже лет 10 валялся без дела Seagate на 500 ГБ, вот и нашлось ему применение.
Установил его в сервер. Создал раздел с помощью fdisk. С помощью mkfs.xfs отформатировал в xfs, смонтировал в /var/spool/avreg, где сервер будет складывать видеозаписи. Убедился, что всё работает и создал запись в /etc/fstab чтобы диск монтировался при загрузке систему.
Теперь система работает, но неплохо бы защитить её на случай, если электричество вдруг пропадет.
ИБП - 1500 рублей
Лично у меня установлен дорогой, но купленный за бесценок, бесперебойник Eaton с двумя аккумуляторами, просто потому, что он был. Вполне можно обойтись и б/у офисным ИБП за 500 рублей.
Вот, собственно, и всё. Для тех, кто реально хочет последовать моему примеру, хочу заметить, что для создания реально надежной и отказоустойчивой системы все цены нужно умножить условно на 5, а лучше 10. Нормально делай - нормально будет.
Да, у меня сейчас всё работает, но никакой веры этому всему нет. Камеры могут перестать работать зимой. Системник может в любой момент сдохнуть. Жесткие диски давно выработали свой ресурс. Коммутатор с помойки тоже может подвести в любой момент.
Следующим постом напишу про установку всего этого в деревню, прокидывание этого видеосервера через туннель OpenVPN с шейпингом, проброс портов на роутере и прочее малоинтересное.
Задавайте вопросы.