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

Начнем с программирования, это основа нашей работы. Из всех языков программирования мы используем Erlang (для всех сетей, протоколов, форматов и обработки контейнеров), C (для перекодирования) и Rust (для прошивки IP-камер). Rust оказался для нас лучшим встроенным решением, потому что он обеспечивает невероятную безопасность и фантастическую производительность. Приведу пример: наш стример на камере ни разу не отказался от сегментов.

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

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

Также недавно мы начали разрабатывать собственное железо, и это дало нам серьезный прирост энергопотребления. Мы достигли ускорения мощности 20 кВт в час для 50 каналов, и это примерно в 5–6 раз лучше, чем у наших конкурентов. Осенью прошлого года мы начали продавать аппаратный транскодер, и это стало для нас большим прорывом.

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