Как мы сделали малогабаритный облачный видеорегистратор из обычной IP камеры



Тема видеонаблюдения встала для меня остро с появлением загородного жилья. На просторах интернета можно найти кучу информации по организации видеонаблюдения. К сожалению большинство вариантов сводилось к покупке готовых комплектов из Китая. От знакомых слышал много критики на этот счёт. Как-то даже сам поучаствовал в настройке оборудования, купленного с Aliexpress. Где-то половина заявленных функций работала не так как заявлено, некоторые опции и вовсе не получилось настроить, хотя регистратор был не из дешёвых. И таких отзывов и мнений было много. Также многие критически относятся к тому, что видеозаписи хранятся на китайских облачных сервисах. И тогда появилась мысль — а что если попробовать сделать свой видеорегистратор с минимальным функционалом? А что? На тот момент я начал плотно увлекаться linux, писал приложения с элементарным функционалом на bash, экспериментировал с web… В принципе всё что нужно для решения поставленной задачи. Сказано — сделано.

Поехали. Выбор железа


В качестве подопытного был выбран популярный роутер TP-LINK TL-MR3020 с прошитым OPENWRT на борту.



Характеристики роутера:

  • MIPS процессор 300МГц;
  • 32 МБ оперативной памяти;
  • флэш чип на 4МБ;
  • USB порт 2.0;
  • RJ-45 порт с полным дуплексом на 100 Мб;
  • GPIO выводы как свободные, так и со светодиодами;
  • Кнопка и переключатель на GPIO выводах;

Камера — обычная китайская HD IP камера, заказанная в Китае. Видео берём по RTSP протоколу. В этом нам помогла утилита openRTSP, которая входила в репозиторий OPENWRT и имела весь необходимый функционал. Работать мы решили с облачным сервисом Яндекс.Диск по протоколу webdav. Каждому новому пользователю этот сервис бесплатно предоставляет 10Gb места на диске. Ну а там по мере надобности можно докупать.

Суть идеи


По rtsp протоколу берём видеопоток с IP камеры. Делаем буферную директорию. В неё записываем видеоролики. С помощью утилиты CURL по протоколу webdav отправляем ролики на облако. В нашем случае это Яндекс.Диск.

Пробуем


Подключив IP камеру по ethernet к роутеру, мы запустили пробную запись 10-ти секундного ролика в формате .mp4 на Яндекс диск:

OPENRTSP -V -B 51200 -b 200000 -4 -f 25 -d 10>/tmp/ya_disk/test.mp4

Затем отправили его на облако:

curl -v -m 180 --stderr /tmp/log -k -u $email:$pass -T /tmp/ya_disk/test.mp4 https://webdav.yandex.ru/

Работает!


Начались тесты с разными длинами роликов, разными интервалами записи, периодической записью. В целом тесты прошли успешно. Однако была проблема с записью очень коротких роликов (порядка 5-ти секунд). Ролики записывались с большей скоростью и их длина была меньше установленной. Решили проблему правкой исходников openRTSP: обеспечили строгое выполнение программой значения fps, введённого пользователем, а не взятого из SDP, также отбросили фреймы меньше 100 байт.

Продумываем функционал


После удачных тестов было решено сделать интерфейс управления. На тот момент я начинал знакомиться с вэбом, поэтому решили сделать web версию. Стек технологий на стороне пользователя (frontend): HTML5, CSS3, JQUERY, AJAX. На стороне железа (backend): UHTTPD, CGI, BASH. С дизайном мудрить не стали, использовали плиточное расположение кнопок главной страницы.

Главная страница приложения

Страницы управления и ввода данных были сделаны с помощью JQUERY. С первыми успешными результатами управления роутером регистратором мы начали накручивать функционал. Возможно это была ошибка. Из-за неопытности мы пренебрегли тестированием. Сейчас, когда функционала достаточно много, тестировать тяжело. Из-за отсутствия дисциплины написания кода в начале разработки в написанном разобраться становится всё сложнее. Временами появляются сбои, мы их конечно устраняем, но было бы гораздо проще это делать на более ранних этапах разработки и поэтапно.

Итак, функционал:

  • Поддержка любой IP камеры;
  • Поддержка 3G/4G модемов;
  • Запись на облачное хранилище (бесплатно) и/или на usb накопитель;
  • Периодическая запись и/или запись по движению;
  • Циклическая запись на диск;
  • Установка длины ролика;
  • Режимы записи: по времени, по движению, день, ночь;
  • Автономная работа при пропадании питания (примерно 20 мин);

Реализация клиентской части


В меню настроек регистратора 6 кнопок: WI-FI, ЗАПИСЬ, КАМЕРА, 3G/4G, ХРАНИЛИЩЕ и ПОМОЩЬ. Итак, по порядку:

WI-FI




Здесь производится настройка wi-fi регистратора. WI-FI может работать в 2 режимах — «клиент» и «точка доступа». В режиме «Точка доступа» всё понятно: номер канала, SSID, тип шифрования, пароль. В режиме «клиент» регистратор подключается к любой wi-fi точки доступа.

Соответственно в этом режиме 3G/4G модем не нужен. Чтобы пользователь не потерял регистратор при подключении клиентом к точке доступа мы физически реализовали режим репитера.

Единственно на что нужно обратить внимание — при подключении регистратора к точке доступа нужно проверить не «перескочило» ли мобильное устройство пользователя на другую wi-fi точку доступа, т.к. wi-fi точка доступа регистратора будет кратковременно пропадать. Поле «Режим восстановления» — это гарантия того, что вы не «потеряете» регистратор. Это гарантированное время при включении, когда пользователь сможет настроить устройство или включить точку доступа. По истечении режима восстановления будет автоматический переход на главную страницу меню. Эта часть функционала ещё тестируется и временно отключена.

ЗАПИСЬ




Поле индикации даты и времени, меню «Установка времени», «Запись в локальное хранилище» и «Запись в облачное хранилище».

Установка времени. Нажав на кнопку «Изменить время» можно изменить время и дату. Также с помощью ползунка устанавливается время начала и конца дня (для всех оно индивидуально). Это сделано с целью оптимизировать режимы работы регистратора в разное время суток.
Запись в локальное хранилище. Здесь можно включить или выключить запись на внешний носитель, включить или выключить запись по движению и/или периодическую запись с возможностью установки длины записанного ролика и периода записи роликов (в режиме периодической записи).
Запись в облачное хранилище. Здесь аналогично предыдущему пункту настраивается запись в облачное хранилище. Добавлен пункт настройки облачного сервиса, где можно указать на облако какого сервиса вести запись (пока работает только с яндекс диском), логин и пароль своей учетной записи в Яндексе.

ПОМОЩЬ




По пунктам расписано содержание пунктов меню интерфейса, а также назначение каждого из них.

КАМЕРА




Адрес RTSP потока камеры. Данные для этого поля можно узнать посетив страницу настройки IP камеры. В дальнейшем мы планируем получать эти данные по ONVIF и поле будет заполняться автоматически. Пока о стабильной работе ONVIF на всех IP камерах приходится только мечтать.
Задержка между роликами. Параметр определяющий паузу в секундах при записи видеороликов. Применяется в режиме записи по движению. Позволяет экономить интернет трафик при постоянном или частом движении в кадре.
Видео с камеры. Полезно для контроля записываемой картинки при установке камеры.

3G/4G




Здесь отображается информация об интернет-соединении посредством 3G/4G модема. Данные обновляются каждые 3 секунды. Полезно для контроля качества связи при установке камеры.

ХРАНИЛИЩЕ




Здесь два подменю — «Локальное хранилище» и «Яндекс.Диск». При выборе первого попадаем в дерево файлов подключенного внешнего носителя, при выборе второго переходим в Яндекс.диск.

Мобильная версия интерфейса












Записанные видеоролики можно посмотреть на Яндекс.Диске встроенным проигрывателем сервиса. Также ролик можно скачать и посмотреть локально любым видеоплеером. Хранение записанных видеороликов организовано следующим образом:



CAM — папка для записи видеороликов с регистратора;
MOTION — папка для записи видеороликов, записанных по движению в кадре;
TIME — папка для записи видеороликов, записанных с заданной периодичностью;
YYYY-MM-DD — папка для видеороликов, записанных в течении суток;
DDMMYYYY-HH_MM_SS.mp4 — записанные в формате mp4 видеоролики;

Организация хранения файлов на Яндекс.Диске





Что внутри? Реализация серверной части


Как я писал выше первым подопытным стал роутер TP-LINK TL-MR3020 с OPENWRT на борту. Версия Barrier Breaker 14.07. На начало испытаний это была самая свежая версия. Сейчас обновили до LEDE. В репозитории этой версии не оказалось openRTSP, поэтому мы добавили утилиту сами, заодно убрав из неё всё лишнее.

После успешных испытаний мы начали рассматривать другие роутеры со схожей архитектурой. Искали платформу, которая больше подойдёт для регистратора как габаритами так и характеристиками. Идея такая, что, прошив любой из роутеров модифицированной прошивкой и подключив к нему IP камеру с 3G/4G модемом, вы получаете регистратор. Список устройств, на которых испытывался функционал регистратора:

  • TP-LINK TL-MR3020;
  • HAME A5;
  • CARAMBOLLA2;
  • UNWIREDONE;
  • Skywork skw71;
  • TP-LINK TL-MR10U (с аккумулятором);
  • TP-LINK TL-MR3040 (с аккумулятором);
  • TP-LINK TL-MR3220 V:2.3 (4 порта ethernet);

Пробовали примерять платы роутеров в корпуса. Идея была в том чтобы кроме корпуса ничего не торчало и не висело, а сам корпус был минимальных размеров. Поэтому по задумке 3G/4G модем должен быть внутри корпуса. Так у нас получился колхозный уличный прототип на базе платы TP-LINK TL-MR3020:









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





На HAME A5 наша прошивка регистратора работала нестабильно, роутер постоянно зависал и перезагружался. Скорее всего это происходило из-за сильного перегрева. Поэтому пришлось от него отказаться в пользу более надёжного и проверенного варианта.

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



Характеристики CARAMBOLLA2:

  • Процессор AR9331, 400 MHz;
  • 64 MB оперативной памяти DDR2;
  • 16 MB FLASH;
  • 802.11 b/g/n, 2.4 GHz, 1x1 SISO, 150MBps max data rate, 21 dB output power;
  • Напряжение питания 3.3 V;
  • Размеры 28 х 38 mm;

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





Ещё фото!
















А почему бы не установить её прямо в камеру? Так мы сразу решаем вопрос с корпусом для регистратора. Так и сделали. Вот что получилось:









Из фото видно что плата регистратора крепится параллельно платам камеры на стойки. Из соображений охлаждения чипа лучше использовать IP камеры с металлическим корпусом и сделать радиатор, чтобы тепло отводилось на корпус. Для подключения 3G/4G модема и/или usb накопителя был использован штатный провод ethernet IP камеры. Автономность работы камеры с регистратором внутри обеспечивает аккумулятор 700mAh 3.7V. Функция автономной работы будет полезна при умышленном отключении питания. Этого аккумулятора хватит примерно на 20 минут работы регистратора с камерой.

Даёшь больше камер!


Также проводились эксперименты с записью видеороликов с нескольких IP камер. Опыты показали, что запись видеороликов с 2-х IP камер работала достаточно стабильно, поэтому мы рассматриваем возможность создания регистратора в отдельном корпусе с возможностью подключения 2-х IP камер. Сейчас тестируем работу регистратора с тремя и четырьмя IP камерами. Результаты пока не однозначны. Питание камер будет организовано от регистратора через пассивный PoE.



Ещё картинок!












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

Как лодку назовешь так она и поплывет


Вы наверное обратили внимание на надпись на плате. Мы подумали что негоже проекту быть без названия. Придумали скромное название — «Vip-Cam» (Video-Ip-Camera). Ну а версии с несколькими камерами — «Vip-Box».

Что дальше?


Планы на будущее:

  • Оптимизировать и тестировать код. Получить стабильно работающее устройство;
  • Провести исследования по возможности настройки IP камеры через меню web приложения;
  • Исследовать возможность интеграции видеорегистратора в систему «умный дом»;
  • Продолжить тестирование работы видеорегистратора с двумя и более IP камерами;
  • Провести испытания по работе камеры с солнечной батареей;
  • Создание модификации видеорегистратора с поддержкой 2-x IP видеокамер;
  • Добавление функционала удаленной настройки видеорегистратора и IP видеокамеры;
  • Добавление возможности дистанционно сделать видеоролик по требованию;

Исходники проекта находятся здесь.

Так мы на настоящее время реализовали идею облачного минирегистратора. Проект реализуется в свободное от работы время, поэтому сроки разработки сильно затягиваются. В итоге мы имеем работающий прототип малогабаритного видеорегистратора, способного записывать видеоролики на облачное хранилище совершенно бесплатно. Работы ещё много, но одна из задач решена — качественный, не имеющий аналогов, регистратор сделать вполне реально. Спасибо за внимание.
Share post

Comments 121

    0
    А что суммарно по себестоимости получается?
      +1
      hd IP камера ~20$ + carambola2 25$ на официальном сайте + производство платы, аккумулятор и компоненты ~ 19$. В дальнейшем мы не планируем использовать carambola2. Дорогая, да и не достать уже. На Ali достаточно много более дешёвых вариантов. Например skw72 стоит 11$. Мы заказывали всё единичными заказами.
        –2
        вы — это кто вы?
          +3
          Мы — двое энтузиастов.
            0
            и вы сами разводили чипы по плате?
              0
              Компоновка и разводка платы своя. Производство в Китае.
      0

      Ротация старых записей будет предусмотрена?

        +1
        Немного не понял. Перемещение? Или вы имели ввиду запись циклом с удалением старых записей?
          0

          Да. Второе, с удалением старых записей.

            0
            Да, циклическая запись предусмотрена как при записи на локальный накопитель, так и на облачные хранилище. В нашем случае мы использовали api яндекс диска.
        0
        Молодцы! Обратите внимание на github.com/angelcam/arrow-client у них неплохое решение. И github.com/evercam/evercam-server тоже можно просмотреть :)
          0
          Спасибо за ссылки. Ценник конечно кусается, да и сервисы зарубежные.
            0
            Какой ценник 4 доллара за камеру в месяц? А второй так вообще можете на свой сервер установить- и юзайте сколько угодно
              0
              Да, действительно в первом случае сумма может быть незначительная. Во втором — нужно разворачивать и поддерживать свой сервер?
                0
                да.
          0

          А вы не смотрели, может имеет смысл купить готовое решение, типа TP-Link NC200? Выбор достаточно большой.

            0
            Спасибо, посмотрел. Эта камера не умеет писать на облако, разрешение оставляет желать лучшего, да и на улице её не установить. Смысл нашей задумки с несколькими камерами — вы можете подключать любую IP камеру. Любого разрешения.
            0
            Молодцы, красивенько всё так получилось
              0

              Спасибо!

                0
                Вот еще порекомендую, искать по сочетанию «PR-NC336FG».
                FullHD, уличная, встроенный 4G модем, подсветка дальнобойная. Да дорого, но решение «изкаробки». «Просто подведи 220». Лично не купил бы, но в компании 12 штук пашут уже года 4, сначала были 3G.
                Умеет mail, FTP, и по-моему POST. Писать на флешку. Но мы собираем с неё своим скриптом через выделенный фиксированный IP.
                Очень крепкая, падала вместе с 4 метровым столбом :)
                  0
                  Спасибо. Ценник доступен разве что компаниям. Облачного хранения нет, да и отдав немало денег что-то дописывать… В итоге тоже стремимся к созданию решения «из коробки»
                  +1
                  Я купил себе XIAOMI SMALL SQUARE SMART CAMERA за 1500р


                  Она привязана к китайскому облаку. Качество видео хорошее.
                  Я её раскрутил, подпаялся к UART, получил доступ к консоли, думал отвязать от китайцев и направлять видео на свой сервер, но за 10 минут не справился, стало лень и забил.

                  Думаю при должном терпении, можно её модифицировать для работы с Яндекс.Диск.
                    +2
                    Буду признателен, если поделитесь когда у вас это получится
                      0
                      на 4pda читали про нее? если ошибаюсь или в нее можно воткнуть флешку с образом, с которого она загрузиться как обычная ip камера
                        0

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

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

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

                        +2
                        А зачем все это? Ради экономии в 10 баксов?
                        Не проще купить камеру сразу с 4G модемом?
                        Тут как понимаю как в онанизме, главное процесс!?
                          0
                          Всё преимущества нашего решения перечислены в статье.
                            0
                            а потыкайте в такие уличные, мне вот для дачи надо
                            0
                            У меня есть старый телефон на Android 4.3. Можно ли сделать аналогичное ПО, чтобы телефон забирал по RTSP данные с IP камеры в одной сети в облако Yandex? Грубо говоря заменить видеорегистратор телефоном c Android.
                              0
                              Думаю можно
                                0
                                tinyCam такое умеет делать
                                  0
                                  ip webcam
                                  правда камера только встренная в смарт вроде
                                  0
                                  Какую камеру взяли? Все дешевые варианты, которые я нахожу, вещают в mjpeg + wav поток. Так и не удалось эти потоки собрать в нормальный формат.
                                    0
                                    Покупали давно. Но просто зайдя на тот-же aliexpress с запросом IP camera выдаёт много вариантов. Все IP камеры с которыми работали поддерживают rtsp. В нём h.264. Ну например m.ru.aliexpress.com/item/32835984507.html?pid=808_0004_0201&spm=a2g0n.search-amp.list.32835984507
                                      0
                                      >Аудиовыход: Нет

                                      Или вам аудио было не критично?
                                        0

                                        С аудио проблем тоже не будет. Просто купить IP камеру с аудио входом, подключить микрофон и всё. На момент опытов аудио было второстепенно. Так и осталось.

                                      0
                                      Интересная статья. Удачи в реализации ваших планов!
                                        0
                                        Спасибо!
                                        0
                                        Поэтому по задумке 3G/4G модем должен быть внутри корпуса

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

                                            К слову еще есть проблемы с зависанием:
                                            habrahabr.ru/post/324436 Аппаратное решение зависания GSM-модемов
                                            habrahabr.ru/post/184940 Переделывание D-Link DIR-320 в 3G роутер
                                            mysku.ru/blog/aliexpress/53349.html Отвисатор роутеров с 3g/4g usb-модемом.
                                          0
                                          Вы обязательно хотите видео передавать?
                                          Можно примерно раз в секунду брать кадр для детекции движения и слать только по срабатыванию.
                                          Не вижу особого смысла в видео потоке.
                                            0
                                            Дело в том что одна из наших целей — универсальность. Чтобы дёргать с камеры snapshot она должна поддерживать эту функцию. Далеко не все камеры умеют давать картинку. Да и дороже они. Поэтому мы решили делать ролики скажем по 5 секунд. Конечно можно добавить в меню включение (при возможности камеры) запись картинки.
                                              0
                                              Да и видео информативнее чем фото. Ролик 5-10 секунд по объёму соответствует одному jpeg кадру.
                                                0
                                                При равном разрешении это не выглядит возможным. Можно пруф/принцип как такое возможно?
                                                  0
                                                  Snapshot получаемый с камеры по ftp имел размер примерно 0.8-1Mb. Ролик длительностью 5 секунд с камеры с таким же разрешением имел размер 0.3-1Mb. Часто jpeg имеет большую чёткость чем стоп кадр ролика, но и часто jpeg бывает смазан при регистрации движения. Ролик передаёт более информативно обстановку.
                                                    +2
                                                    у многих дешевых камер есть такая неприятная картинка: keyframe (который делается похожим на jpeg способом) паршивый, а потом дельта-кадрами картинка догоняется до приличного качества.

                                                    Т.е. разница между последним кадром предыдущего гопа и первым кадром нового гопа очень сильная.

                                                    Это первый принцип того, почему видео лучше фотографии.

                                                    Второе — на фото пиксели есть пиксели, больше информации не вычленить. На видео объект начинает гулять между пикселями и можно получить (в мозгу) картинку гораздо большего разрешения за счёт того, что повышается вариативность представления одних и тех же объектов реального мира. МРТ устроен похожим образом: делаем срез, получаем туфту. Делаем 11 срезов, получаем объёмную детализированную картинку.
                                                  0
                                                  К роутеру можно подключить простую USB камеру и получать несжатые кадры через V4L.
                                                  Это будет дешевле и универсальние чем IP камера.
                                                  Ну и одиночный сжатый кадр будет всяко меньше видео ролика, даже супер короткого.
                                                    0
                                                    Можно. Мы начинали проект с mjpeg-streamer. Это надо чтобы USB камера поддерживала jpeg, стоить такая камера будет дороже IP камеры. Про сравнение размеров ролика и jpeg я писал выше. На улицу веб камеру не установить.
                                                      0
                                                      Вы что то путаете, jpeg с камеры вообще не нужен, он только лишнюю нагрузку даст на процессор роутера. Хватается несжатый поток с камеры, делается анализ движения и только при превышении порога кадр жмется и отправляется.
                                                      Тут самой дешевой камеры хватит. Jpeg даже в HD разрешении около 150 кб получается.
                                                      С улицей, да, нужен будет какой то аквариум, но в целом все равно не сложно и не дорого прозрачное окно с козырьком сделать.
                                                      Ну и совсем бюджетно можно все на старом смартфоне сделать.

                                                        +1
                                                        Видимо это Вы что-то путаете. Чтобы «хватать» несжатый поток с камеры нужна более высокая пропускная способность канала. Так, при захвате несжатых данных разрешения HD процессор MIPS грузится под 100%, греется, FPS получается в районе 5. При захвате JPEG кадров удается получить чуть более 20 кадров в секунду — режим стрим. Если устройство используется для наблюдения и/или охранных функций 5 кадров в секунду маловато для оценки обстановки. Это я еще не учитываю работы функции анализа движения на том-же MIPS. Ну а про «колхоз» с аквариумом и козырьком — повеселили. Видно не много уличных устройств с режимом 24/7 Вы намастерили.
                                                          0
                                                          Похоже у вас процессор грузится как раз на распаковке jpeg.
                                                          Вообще я сомневаюсь что для охранной системы нужно больше 1 fps, но даже 5 fps в HD это нормально для USB.
                                                          Вы конечно не поверите, но детектор движения может быть очень быстрым.
                                                          Просто современное поколение разучилось писать оптимальные программы, теперь в моде питон и js.
                                                            0
                                                            У нас процессор не грузится ни на какую распаковку. Функция детекции движения есть в любой ip-камере, мы используем её (habr.com/post/422797/#comment_19095241).
                                                            В современном поколении встречаются разные ребята, просто их никто не направляет в «правильном» направлении, оптимальные программы с задествованием возможных аппаратных блоков писать сложно и долго, почти все решают MIPS-сы. Хотя мы стараемся как раз идти тернистой дорогой, так нам интересней и результат получается особенный (можем себе позволить по работе). Ну а по fps в охранной системе с Вами спорить не буду. Мы опирается на свой опыт и при нашей реализации информативность записанных данных по тревоге отличная, по сравнению с постоянной записью или отдельного/серии кадров.
                                                0
                                                Жму лапу!
                                                  0
                                                  Взаимно!
                                                  0
                                                  те можно взять ваш исходник с гита, купить роутер тплинк и этого достаточно, чтобы собрать свой видео сервер? (единствнный способ прошивки роутеров, который я до сих пор использовал — update в настройках самого роутера :) )
                                                    0
                                                    Да. Взять исходник с гита, собрать прошивку под какой нужно роутер (выбор большой), прошить. И должно всё работать. Только шить роутер с заводской прошивкой надо прошивкой *factory*, а с openwrt(lede) *sysupgrade*.
                                                      0
                                                      В гите добавьте на ваш подопытный роутер от тплинка ссылку на wrt и ман по заливке.
                                                        0
                                                        Хорошо, сделаю.
                                                          0
                                                          А я всё жду :)
                                                          Как бы созвониться, есть пара вопросов по прошивке?
                                                            0
                                                            Да, замотался. Вы имеете ввиду прошивку именно этого роутера и как её заливать?
                                                              0
                                                              Да, я об этом имею ввиду. Сейчас еду забирать роутер и хочу сразу его в бой пустить
                                                                0
                                                                Аналогичная ситуация, есть в наличии бесхозный роутер TL-WR740N и китайская камера Besder 6024PB-JW201, очень хочется подружить их с Yandex диском
                                                                  0
                                                                  Я сегодня прошил свой MR3220 (lede-17.01.5-ar71xx-generic-tl-mr3220-v2-squashfs-factory.bin), OpenWRT работает отлично. С подключением через него камер пока не экспериментировал, но уже нашёл много новых возможностей, по сравнению с оригинальной прошивкой.
                                                                  Вот список устройств со ссылками на прошивки: openwrt.org/toh/views/toh_fwdownload
                                                                  А вот инструкция:
                                                                  openwrt.org/start?id=ru/docs/guide-quick-start/begin_here
                                                      –2
                                                      Молодцы. Сделали то что уже дохрена людей делает. И что? Может мне тоже тут написать как я новый калькулятор сам сделал
                                                        0
                                                        А никто не пробывал писать сразу на ютуб трансляциями? я так сходу вообще ограничений не нашёл.
                                                          0
                                                          Мы не пробовали. Как это можно использовать в решении задач видеонаблюдения?
                                                            0
                                                            Ну писать не циклически на яд а на ютуб потоком.
                                                              0

                                                              То есть, происходит какое-то событие, камера начинает стримить на ютуб, и одновременно пользователю приходит оповещение что что-то случилось и надо бы посмотреть в ютубе… Интересно, можно попробовать.

                                                            0
                                                            Я пробовал. Карамбола справляется с перепаковкой трафика в RTMP без проблем.
                                                              0
                                                              Ничего не мешает, судя по всему. А если сделать unlisted стрим, то будет и приватно.
                                                              0
                                                              Питание камер будет организовано от регистратора через пассивное PPOE
                                                              не получится. Поправьте режет глаз.
                                                                0
                                                                Почему?
                                                                  0
                                                                  Лишня «P».
                                                                    0
                                                                    Прошу прощения. Сейчас поправлю.
                                                                      0
                                                                      И заголовок.
                                                                        0
                                                                        Исправил
                                                                0

                                                                А каким образом роутер понимает, что произошло движение на камере? Подключаетесь к событиям через Onvif?


                                                                Мы тоже сделали видеорегистратор на основе роутера mr3020, к роутеру можно подключить веб-камеру или ip-камеру, детектор движений реализован в самом роутере. И записи тоже отправляются в облако. Здесь можно ознакомиться, скачать прошивку роутера и исходники https://webglazok.com/about/2.0/


                                                                Затем реализовали более компактный вариант — ip камеры со своим встроенным облачным сервисом https://webglazok.com/about/3.0/
                                                                Ведь все задачи, что вы выполняете на роутере, можно перенести в саму камеру, там тот же linux. И будет не роутер+камера, а только камера. Это удешевит систему и не нужно встраивать плату роутера в корпус камеры. Однако придется повозиться с прошивкой и внутренним устройством камеры.

                                                                  +1
                                                                  Мы решили это двумя способами. Первый — использовали встроенный alarmserver камеры, написав для него клиент и обрабатывая события с камеры. Второй — мы обрабатываем картинки, которые камера шлет на наш ftp сервер. Есть картинка, значит было движение. Этот функционал есть на всех IP камерах.
                                                                  По поводу прошивки самой камеры. Не хочется связываться с китайским софтом, да и привязываться к конкретной камере… Сегодня она продаётся, завтра нет. Прошивки их постоянно меняются. А rtsp будет всегда. Вы работаете с ivideon?
                                                                    0

                                                                    Логичное решение, спасибо. А мы для детектора движения используем motion, здесь рассказывали
                                                                    https://habr.com/post/325722/
                                                                    Нет, с ivideon не работаем, у нас свой сервис создан.

                                                                      +1
                                                                      Да, я там участвовал в комментариях. Молодцы, крутая штука получилась в 3.0. Как организуете облачное хранение? Аренда?
                                                                        0

                                                                        Да, для облачного хранения арендуем выделенные серверы.

                                                                          0
                                                                          Motion работает только с jpeg же? И IP камера должна поддерживать jpeg?
                                                                            0

                                                                            Да, к роутеру с прошивкой webglazok подходят не все камеры, а только те, которые jpeg отдают, т.к. motion работает с jpeg. Или можно подключить к роутеру webglazok веб-камеру, это рациональнее и дешевле. Если нужна ip камера, то лучше брать готовое решение, например, webglazok 3. Она подключается к интернет и всё, ничего городить не нужно.

                                                                    0
                                                                    А ваша прошивка для 3020 шлет толко в ваше облако или на мой ftp/webdav тоже может?

                                                                    прочитал на сайте, что v3 вы не поддерживаете, жаль
                                                                      0
                                                                      Да, только в наше облако. для mr3020 v3 прошивки нет
                                                                        0
                                                                        а ожидается прошивка? просто 3020 продается за тыщу рублей и врятли можно найти в продаже первую версию
                                                                          0
                                                                          Как openwrt стабильная версия выйдет для v3, тогда сделаем прошивку.
                                                                            0

                                                                            А она появится, если ее запилит сообщество openwrt, так как роутер достаточно дешевти удобен? (Я не сталкивался ещё с прошивками роутеров и кто их пилит)

                                                                              0
                                                                              Да, уже тестовые сборки делают. Пока сырые. Третья версия железа на этом роутере помощнее. Будет больше fps при обнаружении движений.
                                                                    0
                                                                    Я себе сделал для детекции распознавание человека с помощью нейросети, а потом отправку ролика в телеграмм (если ролик небольшой и в mp4, он сразу в телефоне показывается как гифка, очень удобно просматривать). Правда для этого пришлось пожертвовать старой андроид приставкой с установленым armbian.
                                                                      0
                                                                      Интересное решение
                                                                        0
                                                                        А по подробнее можно? У меня в битрикс24 создает по движению мессадж :) ну так- извращался под бизнес-задачу определения человека на складе.
                                                                        0
                                                                        Захват и определение человека из потока rtsp это opencv + сетка ssdlite_mobilenet_v2_coco а далее пишем файл с расширением mp4 и через телеграм бот API скидываем видео себе либо в группу. В моём случае ещё gocv, так как питон не люблю, пишу на go
                                                                          0
                                                                          Хорошая идея, у меня с весны три IP-камеры в заг.доме работают и как раз роутер TP-LINK MR3220 (у меня их 2 шт., так что можно экспериментировать). Но я использую китайский XMEYE (прошит в камерах), иногда IVIDEON (запуском сервера на компьютере, камеры подключаю по ONVIF, на моих он работает без проблем, порт у них 8899).
                                                                          Интернет с USB-модема Megafon.
                                                                          Вопрос: с прошивкой OPENWRT не будет проблем с поддержкой 3G модемов?
                                                                            0
                                                                            Проблем с поддержкой 3g/4g модемов нет. Однако есть особенности настройки hilink модемов и stick. После должной настройки все хорошо работает. В гите выложены конфигурации с настроенными 3g/4g модемами в режиме stick.
                                                                            +1
                                                                            Спасибо за интересный материал, есть над чем подумать. И сразу несколько вопросов:
                                                                            Чем был обусловлен выбор LEDE, а не OpenWrt и не их последний совместный транк?
                                                                            Не думали-ли всё-таки попробовать уйти от разработанной вами доп.платы и поднять LEDE/OpenWrt сразу на камере? Ваши аргументы выше по поводу «сегодня есть, а завтра уже нет» я читал и с ними согласен на 99%. Однако если сделать полностью програмное решение, с возможностью выгрузки в локальное облако, это было-бы шикарно. Для старта есть смысл поддерживать пока только железки на процессорах HI35xx и T10/T20, как самые распространённые, IMHO. У нас уже есть небольшой коллектив, копаем в этом направлении, как по модификации китайского ПО, так и по тестовым сборкам OpenWrt (там есть ссылки на тематические чаты в Telegram и код на GitHub). Присоединяйтесь, будем рады!
                                                                              0
                                                                              У Вас внушительные наработки по платам на HI35xx, очень интересно. Если не секрет откуда берете стабильные поставки ревизий плат, напрямую от завода? И какова вероятность поддежки текущих модификаций в SDK?
                                                                                0
                                                                                У меня нет «стабильных поставок», я ничего не продаю. Мне присылают (прошу всегда всех, у кого есть возможность — присылайте) нерабочие платы, лагающие платы и кое-какие демо-образцы несколько дружественных фирм, которые занимаются отвёрточной сборкой камер из китайских комплектующих. Пытаюсь делать конфету из того что в лапы попадает. так сказать…
                                                                                Варианты SDK лежат на Яндекс.Диск у меня, ссылка в статье есть.Платы на HI3518xx требуют доработки приличной, чем и занимаемся в группе Телеграм (кстати, не забудьте заглянуть к нам), как самые массовые и дешевые, продающиеся под разными брендами.
                                                                                А вот платы на T20 процессоре, там уже интереснее, в них нормальны v4l есть, и следовательно, нет никаких проблем даже без OpenRTSP получить ролик и выкинуть на Яндекс.Диск или еще куда-то. Даже разработанная Вами плата роутера будет не нужна, только как бекап с аккумулятором, что само по себе — отличная идея, и Вам РЕСПЕКТ!
                                                                                  0
                                                                                  Обязательно наведем контакты. Идея модификации HI3518xx витала уже давно, но те SDK которые были у нас и набор различных, купленных в разное время камер не получилось расколоть, наверное не хватило терпения или мотивации. Реализованная идея дает свободу выбора пользователю — камера хоть дешевая, хоть дорогая, хоть большая, купольная, малогабаритная, захотел — вообще поменял, например с поддержкой h265 — такие взял себе на дачу. Также хотим прикрутить к нашей плате работу с датчиками — например охранный ИК и уменьшить количество ложняков детекции движения.
                                                                                    +1
                                                                                    Мы к встроенному выводу Alarm Input цепляем датчик движения обычный ИК, и по нему уже идет отработка события (слушаем alarm сигнализацию от камеры) и отправка снапшотов в телеграм, яндекс, mqtt и т.д.
                                                                                      0
                                                                                      а в чём именно у вас идея? Вот мы сейчас уже запустили на 3516A и на какой-то из 3518E наш Flussonic Iris (наша собственная прошивка). Сейчас начали работать над 3519 и 3559.

                                                                                  0
                                                                                  Как-то я работал с транком. Так вот просидели над проблемой кучу времени, оказалось дело в сырой прошивке. С тех пор стараюсь работать со стабильными версиями. Я так понял lede сейчас последняя стабильная версия.
                                                                                    0
                                                                                    Несколько лет назад LEDE отпочковался от OpenWRT, привёл в порядок свою структуру и архитектуру, написал определенные правила, а вот сейчас они опять вместе объединяются в текущем транке.
                                                                                    Да, используя транк, а не законченный релиз можно получить приключений себе на одно место, тут я полностью согласен. Просто как по мне, больше привычен именно чистый OpenWrt, допустим Chaos Calmer релиз, баги там уже все изучены, наработки сделаны, потому и спросил с чем был связан выбор LEDE.
                                                                                    А вообще, при ведении таких вот паблик проектов как у Вас, было-бы шикарно использовать сборки с применением ImageBuilder под распространённые железки. Не панацея, но примерно вот так, как товарищ один сделал для разрабатываемых им плюшек под APRS — на выходе прошивки под разные поддерживаемые им железки.
                                                                                      0
                                                                                      Да, я в курсе их разборок. Если честно, то разницы openwrt-lede пока не вижу. Поэтому взял последний стабильный релиз. С lede только разбираюсь. Опыта ведения public проектов у меня нет, поэтому ваши советы очень кстати. Большое спасибо.
                                                                                  0
                                                                                  Еще по железу немного.
                                                                                  Прочитал фразу «На HAME A5 наша прошивка регистратора работала нестабильно, роутер постоянно зависал и перезагружался. Скорее всего это происходило из-за сильного перегрева. Поэтому пришлось от него отказаться в пользу более надёжного и проверенного варианта.»

                                                                                  Там нужно на этом роутере супервизор питания ставить и отключать неиспользуемые ETH порты — из-за этого он сильно очень греется. Отключение портов возможно как при сборке прошивки в исходниках, так и через конфиг в секции свича. И будет этот роутер работать. после данных модификаций, как трактор, т.е. без проблем.
                                                                                    0
                                                                                    Отключение портов действительно снижает энергопотребление на такой плате. А супервизор питания у него в прошивке OpenWrt или это сторонний патч, можете подсказать? Вообще у этой реализации платформы на Чипе RT5350 маловато памяти, как оперативной, так и под прошивку, обрезать функционал приходится по-максимуму. Кстати что-то сейчас его в продаже и не найти на али.
                                                                                      0
                                                                                      Супервизор это трёхлапая микросхемка, лечит зависоны на ура у этой (и не только) железки. Вот актуальное описание на 4PDA нашел, сразу два в одном, описаны две болезни и как лечить — про порты и про супервизор.

                                                                                      Но порты можно и из конфига потушить, без патча исходников, работает в таком случае (с потушенными портами) железка намного стабильнее, вот мой вариант кусочка конфига по свичу:
                                                                                      config switch_vlan
                                                                                      	option device 'switch0'
                                                                                      	option vlan '1'
                                                                                      	option ports '0 6t'
                                                                                      
                                                                                      config switch_port 'port1'
                                                                                      	option device 'switch0'
                                                                                      	option port '1'
                                                                                      	option disable '1'
                                                                                      
                                                                                      config switch_port 'port2'
                                                                                      	option device 'switch0'
                                                                                      	option port '2'
                                                                                      	option disable '1'
                                                                                      
                                                                                      config switch_port 'port3'
                                                                                      	option device 'switch0'
                                                                                      	option port '3'
                                                                                      	option disable '1'
                                                                                      
                                                                                      config switch_port 'port4'
                                                                                      	option device 'switch0'
                                                                                      	option port '4'
                                                                                      	option disable '1'
                                                                                      
                                                                                      config switch_port 'port5'
                                                                                      	option device 'switch0'
                                                                                      	option port '5'
                                                                                      	option disable '1'
                                                                                      
                                                                                        0
                                                                                        Спасибо, по конфигу сами так делали, по супервизору посмотрю, когда разбирались на это не обратили внимание. У нас он стартовал вроде без проблем, но перезагружался под нагрузкой.
                                                                                    0
                                                                                    А вы для опытов использовали TL-MR3020 v1?
                                                                                    я сейчас купил его версии 3.2 и на странице openwrt.org/toh/views/toh_fwdownload прошивки для него нет, я нашел какую то на 4pda, а она будет работать с вашей?

                                                                                    ну и сломался git.openwrt.org, а все сборочные срипты (даже с гитлаба) смотрят на него :(
                                                                                      0
                                                                                      upd: огонь, из России не доступен гит с репозиторием openwrt…
                                                                                      скачал через vpn
                                                                                        0

                                                                                        Да, есть такое дело. То доступен, то нет. Тоже как-то мучился с настройкой прокат чтобы выкачать пакеты.

                                                                                        0

                                                                                        Испытания проводились на TL-MR3020 v1. Позже я выложу прошивку с момента опытов на этот роутер, в целом она рабочая, но нет части функционала (не помню уже какого).

                                                                                          0
                                                                                          те если скачать прошивку openwrt для TP-MR3020 v3 и собрать с вашими файлами, то работать не будет?
                                                                                          я сейчас собираю просто чистую прошивку openwrt, если заработает, хотел с вашими файлами собрать
                                                                                            0
                                                                                            Я думаю должно получиться
                                                                                        0
                                                                                        Спасибо за публикацию. А какие есть сейчас дешевые камеры с RTSP на алиэкспрессе?

                                                                                        Есть планы добавить камер в трансляцию из вольера медведя Мансура www.youtube.com/watch?v=IKBsFJbtZRI



                                                                                          0
                                                                                          AHWVSE 1280*720 HD IPC NVSIP-IPC NVT-INGT10
                                                                                          Стоимость 18$
                                                                                          Поток с адреса rtsp://IP/live0.264
                                                                                            0
                                                                                            Спасибо.
                                                                                            Интересно, улицу она (indoor) переживет? Или нету нагревалки стекла какой-нить и будет запотевать? Сейчас у нас уличные с металлических корпусах стоят.
                                                                                              0
                                                                                              Не переживет, если не поместить в герметичный корпус. Уличную ищите на aliexpress как «NVSIP outdoor»

                                                                                        Only users with full accounts can post comments. Log in, please.