Облако умерло: как мы подняли восемь китайских камер без регистратора за один вечер
Приложение от производителя камер перестало работать, и выяснилось, что оно никогда и не было нужно. Своя страница с камерами за вечер, загадка часов, которые спешат ровно на час пятнадцать, и одна камера, которую не оживить.
20 октября я открыл приложение, через которое несколько лет смотрел дачные камеры, и увидел вечную загрузку. Не мой телефон, не мой интернет: облако производителя просто перестало отвечать. Восемь камер во дворе исправно снимали, а показать мне ничего не могли.
Первая статья серии про умные камеры. Общий обзор системы, что купить и как настроить, уже есть в отдельной записи. Здесь начинаем с самого начала и с граблями: как вообще увидеть картинку.
Разбираем схему по фотографиям
Я сфотографировал щиток с проводами и регистратор, скинул фото нейросети и попросил объяснить, что у меня вообще стоит. Она прочитала наклейки и разложила по полочкам.
Роутер раздаёт сеть. Камеры, все восемь, самостоятельные IP-камеры одного китайского производителя, питаются от общего блока и подключены витой парой. Регистратор с диском на три терабайта подключён к тому же роутеру одним кабелем. И ключевой вывод: регистратор не стоит между камерами и сетью. Он просто записывает их, как ещё один зритель.
То есть для живого просмотра не нужны ни облако, ни регистратор, ни его пароль, которого я, конечно, не помнил. Нужна только программа, которая возьмёт поток с камеры и покажет в браузере.
Страница с камерами за вечер
Что мы собрали:
- Маленький сервер на домашнем компьютере, который подключается к каждой камере по стандартному протоколу и отдаёт видео браузеру.
- Страница с сеткой из семи камер. По тапу одна открывается на весь экран.
- На айфоне эта страница добавляется на экран «Домой» и выглядит как приложение. Работает в домашнем Wi-Fi.
Первые грабли пришли сразу. У камер два потока: основной в 1080p и лёгкий, маленький. Основной сжат так, что опорный кадр идёт раз в десять секунд: открываешь камеру и полминуты смотришь на чёрный экран. Поэтому в сетке лёгкий поток как есть, а для полного экрана основной перекодируется на лету. На Mac это делает видеочип, процессор не греется.
Вторые грабли: встроенный плеер браузера падал, если в списке меньше трёх кусков видео. Сервер теперь честно ждёт три куска и только потом отдаёт.
Загадка часа пятнадцати
На всех кадрах время было неправильное. Не на минуту, а ровно на час пятнадцать минут и одиннадцать секунд вперёд. На всех семи камерах одинаково.
Нейросеть написала скрипт, который по сетевому протоколу выставил точное время и включил синхронизацию с интернетом на каждой камере. Прошло пять минут, и все семь разом вернулись на час пятнадцать вперёд.
Разгадка: время камерам раздаёт регистратор, а у него часы спешат. Сколько ни лечи камеры, через пять минут он их «починит» обратно. Лечится только в самом регистраторе, через телевизор и мышку. Я зашёл в него через родное приложение регистратора, поставил правильный часовой пояс и выключил летнее время. Камеры тут же стали точными.
Камера номер пять
Семь камер показывали. Восьмая отвечала на пинг, но все порты у неё были закрыты. Перезагрузили блок питания: камера мигнула, перезагрузилась и снова молчит. Вывод нейросети был честный: по сети не чинится, внутри камеры умерла либо прошивка, либо видеомодуль. Либо сброс кнопкой на самой камере, либо замена. Пока она висит на схеме красной.
Что это дало
Через вечер у меня была страница с камерами, которая не зависит ни от чьего облака. Если производитель завтра закроется, она продолжит работать. Пароль регистратора так и не понадобился.
Дальше мне захотелось, чтобы камеры сами говорили, когда что-то происходит. Так появился детектор движения, а за ним детектор людей, который тридцать три раза за ночь принял фонарь за человека. Об этом в следующей записи серии.
Вопросы и ответы
Как смотреть камеры, если облачное приложение не работает?
Большинство IP-камер отдают видео в домашнюю сеть по протоколу RTSP. Любая программа, которая умеет RTSP, покажет картинку без облака: от VLC до своей страницы в браузере, как у нас.
Нужен ли регистратор, чтобы смотреть камеры?
Нет. Регистратор только пишет архив на диск. Камеры самостоятельные и отдают видео всем, кто к ним подключится в домашней сети.
Почему на камерах неправильное время и не чинится?
Если в сети есть регистратор, время камерам часто раздаёт он. Чинить нужно часовой пояс и летнее время на регистраторе, а не на камерах.
Почему камера долго показывает чёрный экран при открытии?
У основного потока опорный кадр может идти раз в десять секунд, и плеер ждёт его. Для быстрого открытия лучше лёгкий поток или перекодирование на сервере.
Камера пингуется, но видео не отдаёт. Что делать?
Если перезагрузка питания не помогла, по сети камеру не починить: нужен сброс кнопкой на самой камере или замена.
Всё в рубрике «Умные камеры» →
Комментарии
Пока никто не написал. Будь первым.