Comments 16
Зависит от размера вендора. В среднем, как правило, на партиях от нескольких тысяч штук.
Захват и трансляция видеопотока это далеко не единственная функция прошивки. Софт отвечает за настройку параметров аудио/видео, за обратный канал аудио, за видео- и аудио- аналитики (детекторы событий — например движения и анормального звука), управление PTZ и т.д. и т.п. Кроме этого. нужно реализовать механизм обновления прошивок.
Подстраиваться под API каждого вендора камер (которых намного больше чем используемыз SoC) никаких ресурсов не хватит. И это не говоря о поддержке и выпуске обновлений.
А еще во многих случаях китайские прошивки содержат дыры/бэкдоры и много ненужного функционала который с одной стороны снижает информационную безопасность, а с другой стороны увеличивает требования к железу.
О мотивации было подробнее в предыдущей статье — https://habr.com/ru/post/415841/
Но теперь, производители с вами сотрудничают и даже стараются победить друг друга в тендерах, так почему не сделать приложение, пихнуть туда весь функционал (включая обновления) и предложить (записать в условия тендера) производителям самим сделать всё окружение так, чтобы ваше приложение работало хорошо. Поставить ограничение на минимальную версию ядра и всё такое. Чтобы упростить поддержку разных платформ, приложение можно на lua сделать
Мы пробовали делать интеграцию на уровне API с несколькими вендорами — уходит очень много времени на отладку взаимодействия, и на тестирование результирующих прошивок. И более того, каждый апдейт со стороны — все старые проблемы вылезают обратно.
По опыту дешевле сделать поддержку в приложении работы напрямую с SoC. При наличии уже готового нашего видео-приложения и системы сборки — добавление поддержки нового SoC, быстрее чем тестирование/интеграция в прошивку вендора.
- самое простое: запускать мастер-приложение как init
- устанавливать правила iptables, запрещающие всё, кроме нужного
- убивать всё что открывает сокеты
SDK, описанное в статье, включает несколько версий ядра, несколько версий gcc, десятки патчей от разных вендоров. Тут очень много шагов от обычного приложения
Версии gcc/ядра/библиотек идут из SoC SDK, и вне зависимости от подхода надо будет их поддерживать в приложении.
У вендоров камер нет технической возможности нормализовать версии gcc/libc.
Скрипт для iptables, который закрывает все порты на вход и выход кроме двух, умещается в 10 строчках.
А софт вендора раз в 30 секунд будет их обратно открывать (да, это пример из реальной жизни) :)
Версии gcc/ядра/библиотек идут из SoC SDK, и вне зависимости от подхода надо будет их поддерживать в приложении.
Слинковать статически и ставить приложение как блоб? Тогда нужны будут только версии под разные архитектуры процессора. Хотя, в вашем случае, большеват блоб, наверное, получится.
А софт вендора раз в 30 секунд будет их обратно открывать (да, это пример из реальной жизни) :)
сочувствую
А вы можете сделать прошивку с минимальными задержками в передаче изображения и с интерфейсом GigE Vision? А также с честным WDR?
подскажите, как скачать/купить для домашнего использования?
Приходят монтажники, протягивают Ethernet. Договор активировать не могут, т.к. у РТК в этот день ломается маршрутизация. Сайт rt.ru и onlime.ru можно открыть только через VPN в Германии, из России он не открывается. Телефон 8-800 не отвечает — соединение просто не устанавливается.
Когда спустя пару часов всё стало подниматься, и личные кабинеты стали открываться, попытка активации камеры завершалась такой вот высокоинформативной ошибкой:
Камера сканирует QR-код, на мгновение появляется в ЛК и пропадает. И всё, хоть ты тресни.
А дальше — две недели ада с дозвоном в абонентскую службу, закрытием тикетов с формулировкой «вы пришлите скриншотов пошагово» (уже прислал, Ростелеком их продолбал). Работа IVR — это треш (меня два раза робот спрашивает, из Москвы ли я, или из Подмосковья, я 10 минут выслушиваю про то, как WiFi плохо работает через стены).
Плата за камеру и за услугу при этом, конечно же, списывается исправно.
В процессе очень хотелось позвонить Диане Самошкиной и рассказать об этом дивном опыте в красках, но сдержался — видимо, зря.
P.S. Тикеты INC000012540123 и INC000012568045
Вопрос-консультация к автору.... Приобрел недавно на маркет-плейсах камеру - Hiwatch DS-I122 (именно по данной модели есть прошивка под облако Trassir). НО - камера приехала (и на других инет-площадках есть такие данные) с двойным названием модели - Hiwatch DS-I122 (DS-N281A). Прошивка от Trassir под облако на неё встает, показывает что к "облаку подключено", но в личном кабинете облака камеру подключить не удается... Общался с техподдержкой - ребята сказали, что камера должна отдавать "нужную" модель, чтобы в облаке прописать. А в интерфейсе камеры (общая информация) - как раз прописана модель не DS-I122, а DS-N281A...... Есть ли более простые способы, чем снятие дампа с флэшки камеры (руки и инструмент есть) и правка модели ?
Как мы прошли путь от разработки прошивок для каждой камеры до создания универсального SDK для вендоров камер