К содержимому
Компания

Программные видеоплатформы

Мы разрабатываем два продукта на одном медиадвижке: медиасервер для потокового вещания и систему видеонаблюдения. Обе системы работают на ваших серверах — видео не выходит за пределы вашей сети.

Sirin Video — линейка продуктов компании Sirin. Разработка, поддержка и лицензирование — на нашей стороне.

2 продукта
медиасервер и видеонаблюдение на одном ядре
до 50 Гбит/с
трафика с одного сервера
250+ потоков
на одно логическое ядро современного процессора
0 перекодирований
сервер переупаковывает, а не пережимает видео
История

Вырос из эксплуатации

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

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

≈7 лет
Почти семь лет разработки: платформа заметно старше своего появления на рынке.
Для внутренних задач
Изначально создавалась для внутреннего применения в группе компаний Sirin и нескольких масштабных проектах — задачи ставил не рынок, а собственная эксплуатация.
Под реальной нагрузкой
Годы работы в собственных установках до выхода на рынок: архитектуру проверяли живые системы, а не демонстрационные стенды.
Принципы

Как мы работаем

Ниже — не обещания на будущее, а то, как системы устроены сегодня и как это описано в документации.

Установка у заказчика
Обе системы разворачиваются на ваших серверах и остаются под вашим управлением. Мы не размещаем ваше видео у себя и не требуем размещать его в чужом облаке.
Видео не покидает сеть
Приём, хранение и раздача происходят внутри вашего контура. Наружу не уходит ни один кадр — ни из живого эфира, ни из архива.
Без внешних зависимостей
Ни базы данных, ни брокера сообщений, ни отдельного веб-сервера: исполняемый файл и текстовая конфигурация. Меньше движущихся частей — меньше поводов для сбоя.
Обычные серверы
Linux x86-64 и оборудование общего назначения. Специализированные платы и ускорители не нужны: сервер не перекодирует видео, а перекладывает байты.
Всё доступно по API
Что делает панель управления, то же делает REST API. Систему можно встроить в свои процессы, а не обслуживать её руками.
Изменения на ходу
Часть правок конфигурации применяется без перезапуска и без разрыва соединений; правка одного потока задевает только его зрителей. Отвергнутая правка не меняет ничего.

Чем мы отличаемся: плотность потоков

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

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

250+ потоков

на логическое ядро процессора 15-летней давности Реальный замер на стенде: Xeon E5-2620 v1, 2,0 ГГц. Не расчёт и не экстраполяция — измерено под нагрузкой на пятнадцатилетнем железе.

≈100 потоков

до 50 Гбит/с

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

Откуда это берётся

Ядро написано на Rust — современном высокопроизводительном языке. Дальше дело в качестве: выверенный и тщательно протестированный код и архитектура, спроектированная под эту нагрузку с самого начала. Специальные платы и ускорители не нужны.

Зрители обходятся почти даром

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

Работа с заказчиком

Как проходит внедрение

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

  1. 01 Считаем нагрузку По битрейту источников, числу зрителей и глубине архива считаем сеть, диски и память. По процессору запас велик: счёт потоков идёт сотнями на логическое ядро, поэтому ограничением становится не он.
  2. 02 Выдаём демо-лицензию По запросу и под аппаратный отпечаток вашего сервера. Стендов у себя мы не разворачиваем: проверка идёт там, где система потом будет работать.
  3. 03 Вы ставите продукт Установщик сам сверяет ядро, системные библиотеки и окружение. Конфигурация — один текстовый файл.
  4. 04 Подключаете свои источники Свои камеры и кодировщики, своя сеть, свои протоколы раздачи. Помогаем с настройкой и разбираем непонятные места.
  5. 05 Снимаете показатели Занятые ядра, память, задержку и трафик показывает сам сервер — в панели, API и метриках. Цифры получаются ваши, а не наши.
  6. 06 Переходите на рабочую лицензию Лицензия меняется на месте: конфигурация, архив и настройки остаются нетронутыми, перенастраивать ничего не нужно.

Что нужно для расчёта

Считаем от мегабит в секунду: ни разрешение, ни кодек сами по себе в расчёт не входят — вдвое более «тяжёлый» источник стоит вдвое дороже по процессору, памяти и сети.

  • Сколько источников и с каким битрейтом
  • Каким протоколам и скольким зрителям раздавать
  • Какая доля раздачи пойдёт поверх TLS
  • Нужен ли архив и на какую глубину
  • Нужен ли холодный ярус в объектном хранилище
  • Где стоят источники: своя сеть, NAT, канал до них

Требования к серверу

Это всё, что нужно с вашей стороны, чтобы установка прошла. Установщик сверяет перечисленное сам.

Таблица прокручивается вбок.

Что нужно Значение Почему так
Архитектура x86-64 Оборудование общего назначения; специальные платы и ускорители не нужны
Ядро Linux 5.1 и новее Рекомендуется 5.15 и новее
io_uring разрешён в ядре Политика безопасности, запрещающая io_uring, с продуктом несовместима
Библиотека C glibc 2.31 и новее Нижняя граница сборки — чаще всего установке мешает именно она
Инициализация systemd Служба ставится юнитом; дополнительно нужен openssl
Права запуска root Системные настройки при старте и чтение аппаратного отпечатка
Процессор от 2 ядер, дальше по расчёту Важно число ядер, а не частота одного
Память от 1 ГБ, дальше по расчёту Считается по числу и битрейту потоков плюс 100–150 МБ на сам процесс
Диск под программу 100 МБ, лучше 1 ГБ Журналы и состояние сертификатов
Диск под архив отдельный том 10,8 ГБ на каждый Мбит/с в сутки; на системном разделе архив не размещают
Сеть полоса под исходящий трафик Битрейт × число зрителей; потолком чаще всего становится именно она
Виртуализация закреплённые ядра «Плавающие» vCPU дают разброс задержки, а у клона машины другой аппаратный отпечаток

У видеонаблюдения серверов два: управляющий узел и медиаузел. Таблица описывает медиаузел — он и есть медиасервер. Требования к управляющему узлу мягче: видео через него не идёт, зато ему нужна база данных, и установщик ставит и настраивает её сам.

Поставка

Что вы получаете

Один набор файлов и всё, что к нему прилагается. Отдельных модулей, доплат за протоколы раздачи и «расширенных редакций» нет: лицензия считает только число одновременных потоков.

Исполняемый файл и юнит
Сам сервер и готовая служба systemd с поднятыми лимитами дескрипторов и памяти.
Установщик и скрипт удаления
Проверка хоста, установка, конфигурация, лицензия, запуск — и обратная операция.
Шаблон конфигурации
Рабочий файл, с которого начинают, и сетевые параметры ядра, которые установщик кладёт сам.
Панель, API и метрики
Веб-интерфейс, REST API со спецификацией OpenAPI, метрики, поток событий и журнал аудита.
Встраиваемый плеер
Страница просмотра без внешних зависимостей: ни библиотек с чужих сайтов, ни шрифтов, ни счётчиков.
Документация
Полные справочники и сценарии — по ним систему разворачивают и без нашего участия.

У видеонаблюдения таких наборов два — для управляющего узла и для медиаузла, — и ставятся они по очереди: сначала управляющий узел, затем медиаузлы, которые привязываются к нему.

Что входит в поддержку

Расчёт под нагрузку
Считаем память, диски и сеть под нужное число потоков и зрителей. Опора простая: стоимость потока пропорциональна его битрейту, а по процессору запас велик — счёт идёт сотнями потоков на логическое ядро.
Демо-лицензия по запросу
Проверка идёт на вашем оборудовании и ваших источниках: демо-лицензия выпускается под отпечаток вашего сервера, мы помогаем с настройкой и разбором показателей.
Установка с проверками
Установщик сам сверяет версию ядра, системные библиотеки и окружение. Если что-то не подходит, он называет точную причину, а не выдаёт общую ошибку.
Закрытый контур
Медиасервер работает и в сети без доступа в интернет: лицензия выдаётся файлом и проверяется локально. Для видеонаблюдения нужен исходящий HTTPS: медиаузел активируется онлайн.
Диагностика без догадок
Метрики для систем мониторинга, журнал, поток событий и аудит действий. В документации есть готовый список данных, которые стоит собрать перед обращением.
Подробная документация
Полные справочники конфигурации и REST API с примерами команд: по ним систему разворачивают и без нашего участия.
Обновление версии
Установщик новой версии заменяет исполняемый файл и оставляет вашу конфигурацию, лицензию и архив нетронутыми. Обратная операция — скрипт удаления.
Переезд на другой сервер
Аппаратный отпечаток нового сервера другой, поэтому лицензию перевыпускаем. Плановый переезд стоит согласовать заранее, а не в последний момент.

На нашей стороне

  • Новые версии и исправления
  • Выпуск, продление и перевыпуск лицензии
  • Помощь при первой настройке
  • Разбор показателей вашего замера
  • Документация и справочники
  • Ответы на обращения по собранным данным

На вашей стороне

  • Сервер, операционная система и её обновления
  • Сеть до источников и до зрителей
  • Диски под архив и их ёмкость
  • Учётные данные, токены и права доступа
  • Резервные копии конфигурации и данных
  • Внешний мониторинг и оповещения

Границу мы проговариваем до продажи, а не после неё. Всё, что нужно для самостоятельной эксплуатации, опубликовано: справочник каждой директивы, полное описание REST API, методика расчёта и разбор типовых неисправностей.

Лицензирование

Лицензия по числу потоков

Лицензия считает ёмкость сервера, а не аудиторию: сколько потоков он ведёт одновременно. Ни число зрителей, ни часы записи, ни число протоколов раздачи на стоимость не влияют.

По числу потоков
Лицензия задаёт предел одновременно работающих потоков. Он проверяется в момент запуска потока, а перезапуск уже работающего лимитом не ограничивается — обновление конфигурации не рвёт эфир. Число зрителей и часы записи в лицензию не входят.
Привязка к оборудованию
Лицензия выдаётся на аппаратный отпечаток сервера. Отпечаток считается по нескольким независимым источникам, каждый из которых хешируется, — сами идентификаторы наружу не попадают. Совпадение не побайтовое: замена сетевой карты или диска лицензию не ломает, полная замена сервера — ломает.
Активация онлайн или офлайн
Онлайн: код активации и исходящее HTTPS-соединение; разрешение хранится только в памяти процесса, обновляется каждые 12 часов, а действует двое суток, поэтому недоступность службы активации на несколько часов работу не останавливает. Офлайн — для медиасервера: файл лицензии, привязанный к отпечатку, проверяется локально по подписи и не требует ни одного соединения.
Срок и обновления
Лицензия бывает бессрочной или на срок. Отдельно оговаривается право на обновления: оно ограничивает переход на сборки, выпущенные позже указанной даты, но не работу уже установленной.

Без действующей лицензии

Сервер не «выключается»: он остаётся полностью управляемым, но не пропускает через себя видео.

Работает

  • Панель управления
  • REST API целиком
  • Метрики, журнал и события
  • Правка конфигурации и перезапуск

Не работает

  • Раздача видео зрителям
  • Просмотр архива и видео по запросу
  • Превью-кадры
  • Приём потоков от источников

Ограничение снимается само, как только лицензия снова даёт ёмкость: перезапускать сервер и чинить что-то руками не нужно.

В системе видеонаблюдения лицензируются серверы, через которые проходит видео. Управляющий узел лицензии не требует, поэтому систему можно развернуть и настроить заранее, а лицензию установить позже — настройки при этом не теряются. Такие серверы активируются онлайн, и им нужен исходящий HTTPS.

Обсудим вашу задачу

Расскажите, что нужно принимать, раздавать и хранить. Подберём конфигурацию под нагрузку и выдадим демо-лицензию — проверите на своём оборудовании.