Zjuxin ptz ip камера wifi hd 1080p как настроить
Содержание:
В связи с повсеместным переходом на IP камеры все больше людей начал интересовать вопрос об их правильном подключении и настройке. Конечно, для начинающего пользователя это может показаться сложной и неразрешимой задачей, но для тех, кто уже давно знаком с компьютером, подключение и настройка IP камер не вызовет особых затруднений. В этой статье мы постарались максимально подробно описать процесс подключения цифровой IP камеры к компьютеру, а также задания правильных настроек для корректной работы устройства.
Подключаем IP камеру к компьютеру
Любая IP камера подключается к сетевой плате компьютера напрямую посредством Ethernet кабеля (витая пара). Если камер несколько, то для доступа к просмотру изображения с каждой из них необходимо подключать IP камеры через роутер.
Все IP камеры по умолчанию имеют свой собственный адрес, и прежде чем приступить к настройке IP камеры, нам необходимо его узнать. Для этого можно использовать специализированный софт, который обычно идет в комплекте с устройствами, либо скачать нужную утилиту на сайте производителя. Помимо этого, IP адрес камеры обычно прописан в инструкции пользователя либо на наклеенной этикетке устройства.
При попытке зайти в интерфейс камеры через браузер при первом подключении вы наверняка потерпите неудачу. Случается это потому, что компьютер и камера настроены на работу в разных подсетях. После того, как мы узнали IP адрес камеры необходимо привести его в соответствие с тем, который используется в вашей локальной сети.
Чтобы узнать IP локальной сети нужно зайти в «Центр управления общим доступом и сетями», затем в строке «Подключения» выбрать пункт «Ethernet» или «По локальной сети». В открывшемся окошке нажимаем на кнопку «Сведения», затем нам открывается новая вкладка, на которой мы и узнаем IP адрес локальной сети – смотрим в строку «Шлюз по умолчанию IPv4», в нашем случае компьютер работает в сети 192.168.99.*. Допустим, IP адрес вашей камеры был подобного вида: 192.168.0.24, теперь наша задача заменить его на 192.168.99.24 – у вас это может быть любые другие цифры, но принцип остается тот же.
Узнаем IP адрес локальной сети
Смена IP адреса камеры через ее веб интерфейс
Есть и другой способ попасть в веб интерфейс камеры, предполагающий изменение IP адреса локальной сети. К примеру, IP адрес нашей камеры имеет вид 192.168.0.24, а локальной сети компьютера 192.168.99.22, а нам необходимо, чтобы компьютер и камера работали в одной подсети (.99. или .0.). Для этого приведем подсеть локальной сети в соответствие с адресом камеры, к примеру, поменяем его на 192.168.0.22. Чтобы это сделать идем в «Центр управления общим доступом и сетями», далее в строке «Подключения» выбираем пункт «Ethernet» или «По локальной сети». Должно высветиться окошко, как на скриншоте ниже. В этом окне нажимаем на кнопку «Свойства», далее выбираем «Протокол IP версии 4 IPv4» вызываем его свойства, и вручную прописываем IP адрес 192.168.0.22, а в качестве шлюза указываем адрес нашей IP камеры 192.168.0.24. Не забываем сохранить настройки.
Прописывание IP адреса для доступа к камере. Картинка доступна для увеличения
Теперь через любой браузер заходим в веб интерфейс устройства – вбиваем в поисковой строке адрес камеры 192.168.0.24. Если вы все сделали правильно, должно открыться окошечко для ввода логина и пароля, которые берем из инструкции к камере. Обычно по умолчанию они бывают admin/admin, admin/12345, admin/00000000, и другие легкие комбинации. После ввода данных вам будет доступен просмотр изображения с камеры, а также настройка камеры.
- IP адрес: 192.168.99.24;
- Маска подсети: стандартная 255.255.255.0;
- Шлюз (IP адрес по которому находится наш роутер): 192.168.99.22;
- DNS IP Адрес: 192.168.99.22.
Если вы не хотите просматривать ваши камеры через интернет, то просто поставьте галочку напротив строки Dynamic IP (DCHP).
Теперь необходимо назначить порт вашей камере. По умолчанию открыт порт «80», так что если у вашей камеры нет подобных настроек, необходимо использовать. При наличии данной строчки прописываем значения вручную для каждой камеры. Для первой, к примеру, зададим порт 8081.
Схема подключения IP камер к компьютеру через роутер и создания доступа через интернет
Настройка роутера для просмотра IP камер через интернет
После настройки камер наступает очередь роутера:
- Подключаем все настроенные камеры к роутеру через сетевые LAN порты, или по Wi-Fi;
- Подключаем роутер к компьютеру по Wi-Fi или сетевому кабелю;
- Заходим в его веб интерфейс, и приступаем к проброске портов, чтобы роутер при обращении по определенному адресу извне знал, какую камеру из внутренней сети выдавать.
Данные настройки могут находиться в разделах под названиями «Port Forwarding», «Routing», «WAN», во вкладке «Virtual Server» или «Виртуальный сервер». Для начала необходимо галочкой активировать виртуальный сервер. В зависимости от модели роутера можно наткнуться на подобные настройки:
- Имя службы — прописываем вручную, к примеру, «Первая камера»;
- Диапазон портов — порт, который мы назначили в настройках первой камеры (8081);
- Локальный IP-адрес (адрес IP камеры) — например, у нас он 192.168.99.24;
- Локальный порт — 8081, или 80, если в камере отсутствуют настройки порта;
- Протокол: TCP – с этим протоколом работает IP камера;
- Номер протокола: оставляем поле пустым, или пишем любую цифру, например, 1.
Подключение и настройка IP камеры через роутер
Прописываем по вышеописанному принципу настройки для каждой камеры. Не забываем, что каждая камера должна иметь свой собственный отличный от других IP адрес, и порт, если, конечно, есть такая возможность.
Проверка работоспособности после настройки IP камер
Если вы все настроили правильно, система должна работать, и при прописывании разных портов в адресной строке браузера вы будете наблюдать картинку с соответствующей камеры.
Итак, мы разобрали вопрос о том, как подключить IP камеру к компьютеру и настроить ее для работы в локальной сети, а также организовать доступ к ней через интернет с любого устройства. Помните, что некоторые нюансы на оборудовании разных производителей могут различаться, но основной принцип настройки всегда будет одинаковым.
Всем привет, и снова у меня камера в обзоре). В этот раз от производителя с труднопроизносимым названием Zjuxin.
Как вы знаете у меня есть достаточно обзоров на камеры одного производителя, но люди хотят разнообразия и выбора, поэтому я купил на пробу несколько камер от разных магазинов. Эта пришла первой, и пришла бы уже давно, но наш славный перевозчик MeestExpress, решил сделать камере экскурсию по стране и в итоге она 10 дней шла в страну и месяц по ней колесила по разным городам. Но это я так, выговориться. В общем несмотря на все, камера была получена и не пострадала во время перевозки. У продавца есть несколько комплектаций камеры, я выбрал 5Мп камеру с блоком питания и картой памяти. Если у вам это не нужно, цена получается еще ниже.
Итак, для начала посмотрим на заявленные характеристики:
• Бренд: Zjuxin
• Угол обзора: 75°
• Сенсор: 1/2.5'' SmartSens SC335E Low illumination CMOS
• Расстояние иК (m): 15m
• Подсветка: 18ИК диодов
• Видео формат сжатия: H.265
• Разрешение: 1080P (5.0Megapixels) at 15FPS
• Потребляемая мощность: 5W
• Сетевой интерфейс: wi-fi/802,11/b/g
• Тип: IP-камера
• Питание v: 12V/1A
• Хранение: SD Card Slot до 128Гб
• Выход Аудио: встроенный динамик и микрофон
• Степень защиты: IP65
Сам блок питания на 12в и 1А, по весу легкий, в процессе работы присутствует небольшой нагрев, ничего критического.
Все остальное добро упаковали внутрь коробки, там у нас разместились:
— камера
-метровый пачкорд
-гермоввод
-две съемные wifi антенны
-крепеж и шестигранник для регулировки
-небольшая инструкция
-карта памяти Netac 32GB
Набор из серии купил и сразу в бой, есть все необходимое для быстрого старта.
Внешне камера похожа на 410й Reolink, только козырек съемный. Корпус изготовлен из металла, за исключением козырька, он пластиковый. Но в принципе все буллет-камеры похожи, только деталями отличаются. Сбоку у нас есть наклеечка с моделью камеры и QR кодом для подключения, но с кодами беда, не у всех они срабатывают. Я тоже не смог его прочесть, выдавало ошибку.
Передняя часть камеры, как принято, закрыт темным пластиком, под которым спрятаны ИК светодиоды подсветки. Ниже объектива разместился датчик освещенности.
К размещению SD-карты подошли интересно, здесь нет отдельного отверстия для нее, здесь снизу находится лючек с динамиком, и при его снятии мы получаем доступ к слоту карты памяти и потрошкам камеры. Динамик залит клеем для герметичности, есть силиконовая прокладка, что вкупе с расположением снижает риск попадания влаги вовнутрь камеры.
Нога крепления камеры стандартного типа, такая же была на старых моделях реолинков и на хиквиженах. Имеется три точки регулировки, ключик в комплекте. Подпятник покрыт мягким вспененным материалом.
Сзади камеры расположились два разъема для подключения wifi антенн, причем у меня задействованы обе антенны. Как пишут на странице продавца, две антенны оставили чтобы различать версии камеры и все.
На хвосте кабеля расположились 2 разъема и кнопка. Разъем питания и разъем для подключения витой пары, а также кнопка сброса. Кнопка сбрасывает настройки камеры и запускает процесс инициализации беспроводного подключения.
А вот так камера выглядит в полном сборе, с антеннами.
Немного разборки, долго думал как к ней подступить, оказалось надо снять пластиковую накладку с объектива и уже под ней крутить болты.
Модуль для камеры построен на базе нового сенсора Smartsens SC335E и процессора от Xiong Mai XM550AI с поддержкой h265 с разрешением 2592x1944 15 кадров в сек. Применяется в уличных и внутренних камерах детальной съёмки, имеет приемлемые характеристики при съёмке дневного и ночного видео. Сенсор SC335E от Smartsens позиционируется как замена сенсора IMX335 от Sony с аналогичным разрешением, имеет ниже чувствительность, но и дешевле стоит. Процессор XM550AI — собственная разработка XM, позволяет получать видео с разрешением 5Мп и частотой кадров 15fps, 4Мп (2560*1440)@20fps и 2Мп (1920*1080)@20fps. Поддерживаются кодеки h264 и h265 с технологиями H.265AI/H.265+. По заявлению производителя, эти процессоры позволяет камере обнаруживать человеческую деятельность, обнаруживать пересечения воображаемой линии, а также добавляет функции видеоаналитики: выделение лица и подсчёт номеров.
При включении у нас есть несколько вариантов подключения. Так как камера поддерживает onvif протокол, то ее можно подключить к любому софту по типу iSpy или Onvif Device Manager. Для начала я подключил камеру через пачкорд к роутеру и посмотрел ip адрес в ODM. Дальше уже через браузер попытался подключится к камере. Тут ждал небольшой, но ожидаемый облом, софт камеры поддерживает только IE, в других браузерах у вас не будет видеоизображения. Отдельно CMS и утилиту поиска камер можно скачать на сайте производителя. Количество настроек достаточно для полноценной работы, интерфейс не тормозит. Есть возможность писать на компьютер и потом просматривать запись. Все меню под катом.
Если же вам по душе подключение посредством мобильного телефона, то необходимо сначала скачать и установить программу iCSee из плеймаркета, и также рекомендую зарегистрироваться в ней, иначе функция аларма будет недоступна из мобильного приложения. Далее есть два пути для подключения камеры, первый это сканировать QR код с наклейки. Второй вариант – это нажать на 5 сек кнопку сброса на камере и последовать инструкции на экране телефона. В моем случае сработал второй вариант, так как при сканировании QR кода постоянно выдавал ошибку. Как я понял из отзывов, периодически такое встречается. В общем, под катом скрины приложения. В принципе, так как камера умеет в onvif и отдает rtsp поток, то ее можно смотреть любым приложением, но настраивать только этим. У кого есть аккаунт в XMEye, может пользоваться и ею, она тоже поддерживает эту камеру.
Вот пример фото с камеры и кроп выделенного фрагмента. Все не так печально как могло бы быть, но явно камера рассчитана на расстояния меньше 30 метров.
Ниже, примеры видео записанные данной камерой.
День:
General
Complete name: D:\Obzori_RAW\camera Zjuxin\192.168.1.18_00_01_20200920_163000.avi
Format: AVI
Format/Info: Audio Video Interleave
File size: 597 MiB
Duration: 29 min 57 s
Overall bit rate: 2 784 kb/s
Video
ID: 0
Format: AVC
Format/Info: Advanced Video Codec
Format profile: Main@L5
Format settings: CABAC / 2 Ref Frames
Format settings, CABAC: Yes
Format settings, Reference: 2 frames
Codec ID: H264
Duration: 29 min 57 s
Bit rate: 2 644 kb/s
Width: 2 592 pixels
Height: 1 944 pixels
Display aspect ratio: 4:3
Frame rate: 15.000 FPS
Color space: YUV
Chroma subsampling: 4:2:0
Bit depth: 8 bits
Scan type: Progressive
Bits/(Pixel*Frame): 0.035
Stream size: 567 MiB (95%)
Audio
ID: 1
Format: PCM
Format settings: Little / Signed
Codec ID: 1
Duration: 29 min 53 s
Bit rate mode: Constant
Bit rate: 128 kb/s
Channel(s): 1 channel
Sampling rate: 8 000 Hz
Bit depth: 16 bits
Stream size: 27.4 MiB (5%)
Alignment: Aligned on interleaves
Interleave, duration: 20 ms (0.30 video frame)
Ночь:
General
Complete name: D:\Obzori_RAW\camera Zjuxin\192.168.1.18_00_01_20200921_200000.avi
Format: AVI
Format/Info: Audio Video Interleave
File size: 168 MiB
Duration: 29 min 59 s
Overall bit rate: 784 kb/s
Video
ID: 0
Format: AVC
Format/Info: Advanced Video Codec
Format profile: Main@L5
Format settings: CABAC / 2 Ref Frames
Format settings, CABAC: Yes
Format settings, Reference: 2 frames
Codec ID: H264
Duration: 28 min 7 s
Bit rate: 688 kb/s
Width: 2 592 pixels
Height: 1 944 pixels
Display aspect ratio: 4:3
Frame rate: 8.000 FPS
Original frame rate: 15.000 FPS
Color space: YUV
Chroma subsampling: 4:2:0
Bit depth: 8 bits
Scan type: Progressive
Bits/(Pixel*Frame): 0.017
Stream size: 138 MiB (82%)
Audio
ID: 1
Format: PCM
Format settings: Little / Signed
Codec ID: 1
Duration: 29 min 59 s
Bit rate mode: Constant
Bit rate: 128 kb/s
Channel(s): 1 channel
Sampling rate: 8 000 Hz
Bit depth: 16 bits
Stream size: 27.5 MiB (16%)
Alignment: Aligned on interleaves
Interleave, duration: 19 ms (0.15 video frame)
Камера пишет на карту памяти в максимальном качестве (которое вы выбрали), можно поставить количество кадров в секунду, от этого будет зависеть максимальный битрейт. По умолчанию стоит переменный битрейт и изменить этот пункт нельзя, полчаса видео занимают пол гигабайта, средний битрейт около 3Mbit. Максимальный битрейт можно выставить в 7Мбит и 17к/с. Максимальный объема карточек поддерживаемых данной камерой 128Гб. Кстати wifi модуль здесь работает стабильнее и дальше чем в 410W, при одинаковом удалении камеры от роутера.
По работе «умных» функций камеры, определения человека и пересечения линии, тут пока есть вопросы, эти функции работают, но я проверял их на расстоянии метров 5, а вот с высоты 6-го этажа они уже не работают. Норма это или нет, пока сказать не могу, так как не с чем сравнить. Возможно все недорогие так работают, если есть у вас такой опыт пишите в комментариях.
В целом камера мне понравилась, но есть несколько моментов, которые хотелось бы изменить:
1. поддержка только IE, в наше время это анахронизм, но с другой стороны есть мобильное приложение или DVR. Все настройки доступны только через web интерфейс.
2. непонятки с кодеком записи, вроде везде в настройках выставлен H.265X, а в свойствах пишет H.264.
3. ну это пока из-за отсутствия опыта эксплуатации, как себя поведет зимой, еще непонятно.
4. кому-то будет мешать отсутствие POE.
Теперь плюсы:
1.недорогая камера с достаточным качеством записи для большинства пользователей.
2.поддержка технологии Human Detection и SmartBorder, и оно работает.
3.возможность работы по wifi или кабелю
4.поддержка onvif, облачных сервисов, SD-карты
5.возможность быстрого старта для новичков
В общем, получилась неплохая камера за свои деньги, хотя реолинковские дают поинтереснее картинку и софт. На этом все, пишите комментарии, а продолжаю ждать, следующие камеры.
Подключение IP камер к системе видеонаблюдения является шагом вперед по сравнению с настройкой через обычные веб-камеры или популярные аналоговые камерами, уже давно завоевавшими данный рынок. Сегодня IP камеры также пользуются большим спросом, поскольку обладают рядом преимуществ, таким как возможность оцифровывать и транслировать в сеть уже готовое сжатое видео без задержек и сбоев. Кроме того, ip камеру ее можно легко подключить к уже существующей локальной сети WiFi и управлять ей с любого компьютера и по интернету. В этой статье речь пойдет о настройке ip камеры через прилагающуюся к ней на диске программу.
Как работает IP камера и чем отличается ее настройка от веб-камеры?
IP камеры есть как подключаемые по кабелю, так и по WiFi. Последние дороже, но выигрывают за счет отсутствия необходимости протягивать провода, что удобно, если система видеонаблюдения устанавливается уже после проведения ремонта в помещении. Однако возникает сложность в качественной передаче сигнала на роутер. Поэтому не рекомендуется устанавливать их слишком далеко от источника сигнала.
Типы WiFi камер для дома или офиса
Прежде чем перейти непосредственно к руководству по настройке IP камеры, рассмотрим существующие в наши дни их разновидности. По конструкции они делятся на:
- Квадратные камеры (Cube)
- Цилиндрические камеры (Bullet)
- Корпусные камеры (Box)
- Купольные камеры (Dome)
- Поворотные камеры (PTZ)
Также бывают модели, предназначенные для установки внутри помещений и уличные. Последние больше защищены от воздействия внешней среды и используются для наружного наблюдения. Но сегодня я покажу, как подключить ip камеру для дома на примере модели поворотного типа. Ее достоинство в возможности управлять направлением съемки при помощи специальной программы, а значит можно с одной точки охватить обзором сразу большое круговое пространство.
Как подключить и настроить IP камеру по wifi в домашних условиях?
Установка камеры
Начнем с веб-интерфейса. Вам нужно уточнить в инструкции или из наклейки на камере или коробке дефолтный IP вашей камеры. У данной он выглядит как 192.168.0.20. Значит чтобы попасть в ее админ-панель, нужно, чтобы компьютер, к которому вы ее подключили, имел IP из этой же подсети, т.е. задаем ему адрес, к примеру, 192.168.0.11.
Дальше надо поменять ее IP адрес в соответствиями с диапазоном, используемым в вашей локальной сети. Я буду основываться на типичных настройках подключения, которые использует большинство роутеров.
Если на вашем роутере активирована функция автоматической раздачи адресов DCHP и если вы не хотите вести просмотр ip камер через интернет, то ставим флажок на пункт Dynamic IP (DCHP) и забываем.
- IP: 192.168.1.11
- Маска (Subnet Mask): 255.255.255.0
- Шлюз (Gateway): 192.168.1.1 (это ай-пи роутера)
- DNS IP Address: 192.168.1.1 (то же самое)
Остальное оставляем пустым.
Применяем настройки ip камеры, отсоединяем ее от компьютера и втыкаем ее в роутер в свободный порт LAN. После этого на компьютере в настройках подключения по локальной сети (если он подключается к вашему роутеру не по WiFi, а через кабель) убираем все предыдущие параметры и проставляем галочки на автоматическое получение IP и DNS.
И возвращаем обратно в сетевую карту патчкорд, которым был подключен компьютер к маршрутизатору.
Настройка роутера
После того, как настроили ip адреса камер с компьютера, отключаем их и либо соединяем кабелями с сетевыми разъемами роутера, если камеры не беспроводные), либо просто активируем режим wifi для соединения с нашей беспроводной локалкой.
Далее добавляем в поля:
Фух, почти все. Теперь, если у вас статический внешний IP адрес от провайдера (Как его узнать?), то вводим в браузере:
и попадаем на просмотр картинки с первой камеры.
В роутерах ASUS можно совершенно бесплатно использовать их собственный сервис. Как это сделать я подробно описал тут. Для других роутеров можно воспользоваться бесплатными услугами сервиса NO-IP, о котором я подробно расписал здесь, а также здесь на примере использования с роутером Zyxel.
Подключение через утилиту
Поскольку я показываю на примере продукта от Тренднета, то на их дисках имеются два приложения. У других фирм есть собственные программы для IP камер для их первичной настройки и управления.
Кликаем по каждой из них и задаем для них свои имена, логин и пароль для доступа, а также новые IP адреса в соответствии с диапазоном, который используется в вашей локальной сети.
После этого также можно через браузер зайти по их айпишнику в веб-интерфейс администратора и настроить по своему усмотрению.
Программа для работы с IP камерами
То же самое проделываем со всеми нашими камерами. После добавления всех устройств в программу, должно получиться примерно так:
Также, как и через браузерную панель управления, здесь можно задать расписание записи, отправку уведомления и другие полезные функции.
Несмотря на более-менее достаточный функционал поставляемых вместе с IP камерами программ от изготовителя, для построения профессиональной системы видеонаблюдения я бы рекомендовал работать с более продвинутым софтом, например с удобной и многофункциональной программой для ip камер WebcamXP. Как? Вы это уже знаете, если прочитали статью, ссылку на которую я давал в начале этой страницы.
Надеюсь, эта информация про настройку и подключение IP камер будет вам полезна при организации собстввенной системы видеонаблюдения. Делимся впечатлениями и опытом по их использованию в комментариях!
Видео инструкция
Наверное, ни для кого не секрет, что в последнее время облачные сервисы видеонаблюдения набирают популярность. И понятно почему так происходит, видео — это "тяжелый" контент, для хранения которого необходима инфраструктура и большие объемы дискового хранилища. Использование локальной системы видеонаблюдения требует средств на эксплуатацию и поддержку, как в случае организации, использующей сотни камер наблюдения, так и в случае индивидуального пользователя с несколькими камерами.
Облачные системы видеонаблюдения решают эту задачу — предоставляя клиентам уже существующую инфраструктуру хранения и обработки видео. Клиенту облачного видеонаблюдения достаточно просто подключить камеру к интернету и привязать к своему аккаунту в облаке.
Есть несколько технологических способов подключения камер к облаку. Бесспорно, наиболее удобный и дешевый способ — камера напрямую подключается и работает с облаком, без участия дополнительного оборудования типа сервера или регистратора.
Для этого необходимо, чтобы на камере был установлен модуль ПО работающий с облаком. Однако, если говорить про дешевые камеры, то у них очень ограничены аппаратные ресурсы, которые почти на 100% занимает родная прошивка вендора камеры, а ресурсов необходимых для облачного плагина — нет. Этой проблеме разработчики из ivideon посвятили статью, в которой говорится почему они не могут установить плагин на дешевые камеры. Как итог, минимальная цена камеры — 5000р ($80 долларов) и миллионы потраченных денег на оборудование.
Мы эту проблему успешно решили. Если интересно как — велком под кат
В 2016 году мы стартовали разработку платформы облачного видеонаблюдения для Ростелекома.
В части ПО камер на первом этапе пошли "стандартным" для таких задач путем: разработали свой плагин, который устанавливается в штатную прошивку камеры вендора и работает с нашим облаком. Однако, стоит отметить, что при проектировании мы использовали наиболее легковесные и эффективные решения (например, plain C реализацию protobuf, libev, mbedtls и полностью отказались от удобных, но тяжелых библиотек типа boost)
Сейчас на рынке IP камер нет универсальных решений по интеграции: у каждого вендора свой способ установки плагина, свой набор API для работы прошивки и уникальный механизм обновления.
Это означает, что для каждого вендора камер необходимо индивидуально разрабатывать объемный слой интеграционного ПО. И на момент старта разработки целесообразно работать только с 1-ним вендором, что бы сосредоточить усилия команды на разработке логики работы с облаком.
Первым вендором был выбран Hikvision — один из мировых лидеров на рынке камер, предоставляющий хорошо документированное API и грамотную инженерную техническую поддержку.
На камерах Hikvision мы и запустили наш первый пилотный проект облачное видеонаблюдение Видеокомфорт.
Практически сразу после запуска наши пользователи стали задавать вопросы о возможности подключении к сервису более дешевых камер других производителей.
Вариант с реализацией слоя интеграции под каждого вендора я отбросил практически сразу — как плохо масштабируемый и предъявляющий к железу камеры серьезные технические требования. Стоимость камеры, удовлетворяющий таким требованиям на входе:
Поэтому, я принял решение копать глубже — сделать полностью свою прошивку для камер любых вендоров. Этот подход существенно снижает требования к аппаратным ресурсам камеры — т.к. слой работы с облаком на порядок более эффективно интегрирован с video application, и в прошивке нет лишнего не используемого жирка.
И что важно, при работе с камерой на низком уровне есть возможность использовать аппаратный AES, который шифрует данные, не создавая дополнительной нагрузки на маломощный CPU.
В тот момент у нас не было вообще ничего. Вообще ничего.
Практически все вендоры не были готовы работать с нами на таком низком уровне. Информации о схемотехнике и компонентах — нет, официальных SDK чипсетов и документации сенсоров — нет.
Технической поддержки так же нет.
Ответы на все вопросы приходилось получать реверс инжинирингом — методом проб и ошибок. Но мы справились.
Первыми моделями камер, на которых мы набивали шишки стали камеры Xiaomi Yi Ants, Hikvision, Dahua, Spezvision, D-Link и несколько сверх дешевых безымянных китайских камер.
Камеры на чипсете Hisilicon 3518E. Аппаратные характеристики камер такие:
Xiaomi Yi Ants | Noname | |
---|---|---|
SoC | Hisilicon 3518E | Hisilicon 3518E |
RAM | 64MB | 64MB |
FLASH | 16MB | 8MB |
WiFi | mt7601/bcm43143 | - |
Sensor | ov9732 (720p) | ov9712 (720p) |
Ethernet | - | + |
MicroSD | + | + |
Microphone | + | + |
Speaker | + | + |
IRLed | + | + |
IRCut | + | + |
С них мы начинали.
Сейчас поддерживаем чипсеты Hisilicon 3516/3518, а так же Ambarella S2L/S2LM. Количество моделей камер — десятки.
uboot
uboot — это начальный загрузчик, после включения питания загружается первым, инициализирует оборудование и загружает ядро linux.
Скрипт загрузки камеры достаточно тривиален:
Из особенностей — два раза вызывается bootm , подробнее об этом чуть позже, когда дойдем до подсистемы обновления.
Обратите внимание на строчку mem=38M . Да, да, это не опечатка — ядру Linux и всем-всем-всем приложениям доступно всего лишь 38 мегабайт оперативной памяти.
Так же рядом с uboot находится специальный блок, называемый reg_info , в котором находится низкоуровневый скрипт инициализации DDR и ряда системных регистров SoC. Содержимое reg_info зависит от модели камеры, и если оно будет не корректным, то камера даже не сможет загрузить uboot, а зависнет на самом раннем этапе загрузки.
Первое время, когда мы работали без поддержки вендоров, мы просто копировали этот блок из оригинальной прошивки камеры.
Ядро linux и rootfs
На камерах используется ядро Linux, входящее в состав SDK чипа, обычно это не самые свежие ядра из ветки 3.x, поэтому часто приходится сталкиваться с тем, что драйвера дополнительного оборудования не совместимы с используемым ядром, и нам приходится их бэк-портировать под ядро камеры.
Другая проблема — это размер ядра. Когда размер FLASH всего 8MB, то каждый байт на счет и наша задача — аккуратно отключить все не используемые функции ядра, что бы сократить размер до минимума.
Rootfs — это базовая файловая система. В нее включены busybox , драйвера wifi модуля, набор стандартных системных библиотек, типа libld и libc , а так же ПО нашей разработки, отвечающее за логику управления светодиодами, управление сетевыми подключениями и за обновление прошивки.
Корневая файловая система подключена к ядру как initramfs и в результате сборки мы получаем один файл uImage , в котором есть и ядро и rootfs.
Video application
Наиболее сложная и ресурсоемкая часть прошивки — приложение, которое обеспечивает видео-аудио захват, кодирование видео, настраивает параметры картинки, реализует видео-аналитики, например, детекторы движения или звука, управляет PTZ и отвечает за переключения дневного и ночного режимов.
Важная, я бы даже сказал ключевая особенность — каким образом видео приложение взаимодействует с облачным плагином.
В традиционных решениях 'прошивка вендора + облачный плагин', которые не могут работать на дешевом железе, видео внутри камеры передается по протоколу RTSP — а это огромный оверхед: копирование и передача данных через socket, лишние syscall-ы.
Мы в этом месте используем механизм shared memory — видео не копируется и не пересылается через socket между компонентами ПО камеры, тем самым оптимально и бережно используя скромные аппаратные возможности камеры.
Подсистема обновления
Предмет отдельной гордости — подсистема fault-tolerant онлайн обновления прошивки.
Поясню проблематику. Обновление прошивки — это технически не атомарная операция и в случае если посередине обновления произойдет сбой питания, то на флеш памяти будет часть "недозаписанной" новой прошивки. Если не предпринять специальных мер, то камера после этого станет "кирпичом", который нужно нести в сервисный центр.
Мы справились и с этой проблемой. Даже если камеру выключить в момент обновления, она автоматически и без участия пользователя скачает прошивку из облака и восстановит работу.
Разберем технику подробнее:
Наиболее уязвимый момент — перезапись раздела с ядром Linux и корневой файловой системой. В случае, если один из этих компонентов окажется поврежденным, то камера вообще не загрузиться дальше начального загрузчика uboot, который не умеет скачивать прошивку из облака.
Значит, нам нужно обеспечить гарантию наличия на камере работоспособного ядра и rootfs в любой момент процесса обновления. Казалось бы самым простым решением было бы постоянно хранить на флеш памяти две копии ядра с rootfs и в случае повреждения основного ядра загружать его из резервной копии.
Годное решение — однако, ядро с rootfs занимает около 3.5MB и для постоянной резервной копии нужно выделить 3.5MB. На самых дешевых камерах просто нет столько свободного места под backup ядра.
Поэтому для backup ядра во время обновления прошивки используем application партицию.
А для выбора нужной партиции с ядром как раз и используется две команды bootm в uboot — в начале пытаемся загрузить основное ядро и если оно повреждено, то резервное.
Это гарантирует, что в любой момент времени на камере будет корректное ядро с rootfs, и она сможет загрузиться и восстановить прошивку.
CI/CD система сборки и деплоя прошивок
Для сборки прошивок мы используем gitlab CI, в котором автоматически собираются прошивки под все поддерживаемые модели камер, после сборки прошивки автоматически деплоятся на сервис обновления ПО камер.
Из сервиса обновления ПО прошивки доставляются на тестовые камеры наших QA, а по завершению всех этапов тестирования и на камеры пользователей.
Информационная безопасность
Ни для кого не секрет, что в наше время информационная безопасность — это важнейший аспект любого IoT устройства, в том числе и камеры. По интернету гуляют ботнеты типа Mirai, поражающие миллионы камер со стандартными прошивками от вендоров. При всем уважении к вендорам камер, не могу не отметить, что в стандартных прошивках заложено много функционала, который не востребован для работы с облаком, однако содержит в себе много уязвимостей, которыми пользуются ботнеты.
Поэтому, весь не используемый функционал в нашей прошивке отключен, все tcp/udp порты закрыты и при обновлении прошивки проверяется цифровая подпись ПО.
И кроме этого, прошивка проходит регулярное тестирование в лаборатории информационной безопасности.
Сейчас наша прошивка активно используется в проектах по видеонаблюдению. Пожалуй самый масштабный из них — трансляция голосования в день выборов Президента Российской Федерации.
В проекте было задействовано более 70 тысяч камер с нашей прошивкой, которые были установлены по избирательным участкам нашей страны.
Решив ряд сложных, а местами, даже на тот момент практически невозможных задач, мы, конечно, получили огромное удовлетворение как инженеры, но кроме этого, и сэкономили миллионы долларов на закупке камер. И в данном случае, экономия — это не только слова и теоретические расчёты, а результаты уже случившегося тендера на закупку оборудования. Соответственно, если говорить про облачное видеонаблюдение: есть два подхода — стратегически заложиться на низкоуровневую экспертизу и разработку, получив на выходе огромную экономию на оборудовании или использовать дорогое оборудование, которое, если смотреть именно на потребительские характеристики, практически ничем не отличается от аналогичного дешевого.
Почему стратегически важно принять решение относительно выбора подхода к способу интеграции как можно раньше? При разработке плагина, разработчики закладываются на те или иные технологии (библиотеки, протоколы, стандарты). И если выбран набор технологий только под дорогое оборудование, то в дальнейшем попытка перехода на дешевые камеры с большой вероятностью, как минимум, займет безумно большое время или вообще потерпит неудачу и произойдет возврат к дорогому оборудованию.
Читайте также: