{"id":14277,"url":"\/distributions\/14277\/click?bit=1&hash=17ce698c744183890278e5e72fb5473eaa8dd0a28fac1d357bd91d8537b18c22","title":"\u041e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0442\u0440\u044b \u0431\u0435\u043d\u0437\u0438\u043d\u0430 \u0438\u043b\u0438 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f","buttonText":"\u041a\u0430\u043a?","imageUuid":"771ad34a-9f50-5b0b-bc84-204d36a20025"}

«Юкка» — бесплатный сервер видеонаблюдения для дома и бизнеса

Я давно хотел написать статью и рассказать о софте, который мы разрабатываем, и, кажется, откладывать это сложное для меня дело уже нельзя. Я не мастер слова, так что прошу прощения за возможные ошибки или сложные обороты речи )

Что такое Юкка?

Юкка - это легковесный сервер для организации видеонаблюдения с любыми современными IP камерами, написанный на golang, несёт с собой простой и минималистичный веб интерфейс. Всё управление напоминает просмотр ютуба. Если вы когда либо пользовались китайскими видеорегистраторами с aliexpress для работы с которыми нужен Internet Explorer и расширения Active X, с юккой вам покажется, что вы попали в будущее 🙂

Что же отличает наш проект от всего, что есть на рынке сегодня, вроде: ZoneMinder, Blue Iris, invideo, insentry, motion, avreg, shinobi.video, Flussonic Watcher, devline, trassir, Ivideon, Xeoma, bluecherrydvr, iSpy,ContaCam, в общем можно долго продолжать... Пожалуй главное - это отсутствие лимитов на потоки, вы можете подключить любое количество камер, в комбинации с приятным интерфейсом. Многие продукты перечисленные выше имеют "безлимит" на потоки, но по большей части это Open Source проекты, пользоваться которыми смогут только продвинутые энтузиасты, мы же изначально хотели сделать продукт удобный и доступный всем, и кажется у нас это получается, по крайней мере по отзывам нашего сообщества. Платные проекты из списка выше монетизируется по потокам, а значит обслуживание любого более менее крупного парка камер будет стоить очень дорого.

Давайте подробнее остановимся на том что же умеет Юкка, как и где её можно запустить, что есть в Enterprise версии такого, чего нет в Free версии для частного использования. А также немного поговорим о том, что у нас там под капотом.

Что же умеет Юкка

Подключение любых камер - на сегодняшний момент (версия v0.8.0) мы можем парковать видео потоки с любых камер, которые отдают видео в h264 кодеке. Вообще нам без разницы какой там кодек, но дело в том, что браузеры умеют проигрывать только h264. Хотя в индустрии CCTV уже очень популярен h265 кодек. И да, недавно Google Chrome всё таки включил поддержку, но многие библиотеки ещё не готовы, а как вы понимаете у всего есть зависимости и вот так на раз включить поддержку мы не можем. Возможно в будущем мы реализуем его поддержку, а пока имеем то, что имеем.

Архив - мы написали собственный формат архива на основе mpegts, который позволяет иметь удобную навигацию, фиксировать моменты когда прервалась и возобновилась запись в случае недоступности архива. Также можно скачать нужный промежуток произвольной длины сразу в mp4 и отправить его к примеру в telegtam. Надеюсь мы победим любителей снимать экран компьютера на телефон 🙂. К стати архив тоже можно писать любой длины, пока не закончится диск, мы ничего не ограничиваем.

Детекция движения - если камера умеет фиксировать движение в кадре, и отправлять об этом событие по email, вы можете настроить получение этих событий в юкку с помощью встроенного SMTP сервера. Далее все эти события вы увидите как жёлтые маркеры на таймлайне. Также можно включить запись по детекции движения это позволит экономить дисковое пространство, так как архив будет писаться только когда камера сообщит об обнаруженном движении в кадре.

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

Enterprise версия

Тут функционал дополняется для тех кто хочет создавать услуги на базе нашего ПО или просто для крупных предприятий. Цены на лицензии есть у нас на сайте.

На текущий момент наша основная целевая аудитория, это:

  • Интернет провайдеры
  • Интеграторы (монтажные организации)
  • Застройщики и управляющие компании
  • Крупный бизнес, ритейл

Многопользовательский режим, квоты, ACL - в бесплатной версии юкки для персонального использования есть только 1 пользователь который может всё, а вот для бизнеса, естественно, можно создавать администраторов и простых пользователей, при том с квотами на добавление новых камер. Также есть ACL для разграничения прав доступа к определённым камерам с разным уровнем привилегий.

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

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

Техническая поддержка - кто то имеет инженеров, а кто-то нет. Мы с радостью поможем вам с настройкой и решением проблем при эксплуатации.

Установка и запуск

Сегодня поддерживаются сборки для Linux (amd64, arm64, arm) и MacOS, в Wndows юкку можно запустить в docker с WSL. Все инструкции по установке вы найдёте у нас на сайте с документацией.

Производительность

Мы не проводили детального тестирования в плане производительности, но наши клиенты запускают 200+ камер на одном сервере и я описывал этот опыт тут.

Под капотом

Для транспорта видео мы используем проверенный временем ffmpeg (в будущем хотим свой транспорт 🚛). Это позволяет принимать на вход почти любые типы потоков. Но в основном камеры отдают поток по протоколу RTSP, мы ремуксим его в HLS и получаем стандартный WEB видео контент.

Road Map

Мы ведём открытую разработку. Вы можете увидеть план разработки по ссылке. Вероятно, чем больше у нас будет клиентов, тем быстрее появятся все новые "фичи".

Заключение

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

0
140 комментариев
Написать комментарий...
Bo.G

Отлично!
Попробую. Есть у вас примеры интеграции с телегой, например, для получения снимков по требованию? Или rest api общего назначения?

сервер документации по вашей ссылке не доступен. мда. что то с редиректами намудрили. переадресацию зашкалило

Ответить
Развернуть ветку
Evgeniy Medvedev
Автор

Интеграция с телегой планируется в ближайшем будущем.
API открытое, савгер есть с собой в каждом сервере по URI - `/ui/swagger/`, ну или тут https://demo.yucca.app/ui/swagger/
Документацию по API с примерами что и как ещё не дошли руки оформить )

Ответить
Развернуть ветку
Bo.G

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

Ответить
Развернуть ветку
Evgeniy Medvedev
Автор

У нас основная целевая аудитория на текущий момент это обычные пользователи, не разработчики. По этому есть достаточно подробные описания как установить, запустить и настроить. От разработчиков особо не было запросов, по этому и не торопились писать)

Ответить
Развернуть ветку
Bo.G

Вы сильно ошибаетесь, считая, что кому-то из "обычных" пользователей вообще интересно читать тонны мануалов.

Пусть, даже там все расписано для детей.

Этим винды в свое время и обошли на рынке всех остальных конкурентов.
Следуя принципу: система для домохозяек.

Обычному пользователю надо:
Скачал один файл, запустил, все установилось и заработало, минимум настроек.

Продвинутому пользователю надо:
1. *функционал обычного пользователя (установилось, заработало)
2. залезть внутрь и накастомничать там кучи своего (для этого уже, конечно, нужен мануал с рабочими примерами).

Заскриптуйте дефолтный набор команд. условно для линуха, винды.

Юзер качает скрипт, запускает и ему подтягиваются нужные пакеты. устанавливаются с дефолтными настройками, а если что-то надо уточнить, то спрашивает с консоли
(нужен установщик. это придумали уже стопицот лет назад)

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

Я вот работал (и работаю) сейчас с внешними подрядчиками, предоставляющими некие онлайн сервисы.
Это же уму не растяжмио!
Целые, типа, вики по продукту. Но она бесполезная.
Не понятно для кого сделана.
Тонны воды, описания каких-то коней в вакууме, опять же эти ваши сваггеры (которые не работают).

все равно, что развернуть какой-нибудь android studio и попытаться на нем запустить примеры из android fundamentals...
ничего не работает "из коробки", как говорится.
шляпа кругом.

Будьте ближе к людям, а не к представлениям о них.

Ответить
Развернуть ветку
Evgeniy Medvedev
Автор

Сваггер у нас работает, всё методы можете проверить.

Ответить
Развернуть ветку
Bo.G

вот я зашёл к вам на страницу с инструкциями по установке и увидел, чтл все эти шаги можно и нужно заскриптовать в один файл.

Ответить
Развернуть ветку
Evgeniy Medvedev
Автор

Ну и заскриптуйте)
В документации всё описано подробно, чтобы было понятно, что вообще происходит.
А так то можно всё и в однострочник засунуть

TMPDIR=$(mktemp -d) && cd ${TMPDIR} && wget https://releases.yucca.app/v0.8.0/linux_amd64/free/yucca && chmod +x yucca && ./yucca server

Ответить
Развернуть ветку
Albert SHaripov

Я вот тоже в первую очередь про API подумал. Сразу вспомнится проект и регистрацией въезжающих и выезжающих авто. Там как раз API не хватало, чтобы сделать нормальный отчет )

Ответить
Развернуть ветку
137 комментариев
Раскрывать всегда