Медиа-сервер, с поддержкой AV1, H265 и не только. Callaba представила API видеоконференций для бизнеса

Йорам
Основатель компании

Привет! Меня зовут Йорам. Я представляю компанию Callaba. Мы занимаемся разработкой программного обеспечения в сфере телекоммуникаций и помогаем корпоративным клиентам избавиться от головной боли в организации видеосвязи и стриминга видео.

Медиа-сервер, с поддержкой AV1, H265 и не только. Callaba представила API видеоконференций для бизнеса

Медиа-сервер, с поддержкой AV1, H265

Предыстория

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

Медиа-сервер Callaba разработан, чтобы принимать и обрабатывать медиа-потоки клиента, балансировать нагрузку сети в режимах SFU и MCU, а главное, поддерживать современные кодеки H.265 и AV1.

Коротко про AV1

AV1 - это открытый стандарт сжатия видео, предназначенный для кодирования видео, передаваемого по сети. По оценкам инженеров Facebook, AV1 позволяет на 50 % уменьшить битрейт при одинаковом качестве по сравнению с H.264, и на 30 % — по сравнению с VP9. При этом — чем выше разрешение, тем эффект сжатия лучше. Включение аппаратной поддержки AV1 позволяет получить преимущества улучшенного видеокодека, перенеся работу по декодированию с программного обеспечения на графические процессоры (особенно это важно для ноутбуков, так как позволяет снизить энергопотребление).

H.265 или HEVC

H.265 или HEVC (High Efficiency Video Coding) - это формат видеосжатия с применением более эффективных алгоритмов по сравнению с H.264. Эффективность кодирования HEVC определяется способностью закодировать видео с минимально возможным битрейтом при сохранении определённого уровня качества видео. Вместо применяющихся в H.264 макроблоков в HEVC используются блоки с древовидной структурой кодирования. Выигрыш кодера HEVC — в применении блоков большего размера. На практике это наиболее эффективно при кодировании видео с высоким разрешением.

Масштабируемость медиа-сервера на неограниченное количество участников

Трудности, с которыми нам также пришлось столкнуться - это возможность эксплуатировать сеть на нескольких серверах. Делали и наконец сделали. Следующей особенностью медиа-сервера Callaba является его масштабируемость на неограниченное количество участников с использованием интеллектуального управления сеансами и инстансами (auto-scaling).

Поддержка SRT

SRT (Secure Reliable Transport) — относительно молодой протокол передачи данных, разработанный на основе UDP. Качество видео и аудио на порядок лучше, по сравнению с WebRTC. Данный протокол обеспечивает два вида гарантий в разных режимах работы — гарантию доставки данных или гарантию задержки доставки.

Высокая скорость передачи видео SRT

Высокая скорость достигается благодаря использованию протокола UDP. Также на скорость влияет использование временных меток для каждого отдельного пакета данных, которые размещаются в начале. Благодаря этому объемы буфера данных при использовании SRT в разы меньше, чем при применении RTMP. Но UDP не гарантирует доставку пакетов адресату: его даже прозвали «протокол ненадёжных датаграмм». При разработке SRT эта особенность UDP была учтена и исправлена.

Интеллектуальный механизм повторной передачи данных SRT

Быстрый и эффективный SRT идентифицирует каждый пакет по его порядковому номеру. Если на стороне получателя образуется разница больше чем в 1 порядковый номер, отправителю незамедлительно посылается отрицательное подтверждение получения пакета NACK, и он передается заново — только один пакет, а не группа, как при использовании TCP.

Callaba медиа-сервер поддерживает протокол SRT и способен принимать и обрабатывать видео потоки с применением кодера H.265. Оптимизирует трафик клиента, умеет маршрутизировать и записывать аудио и видео. Также Callaba медиа-сервер поддерживает SRT, RTMP, WebRTC, MPEG-DASH, HLS.

Client SDK

Медиа-сервер, с поддержкой AV1, H265 и не только. Callaba представила API видеоконференций для бизнеса

Библиотека с кодом для разработки фронтенда видеоконференций. Установил npm пакет, подключил, можно создавать. Кастомизируется, абсолютно все. Callaba SDK поддерживает все современные браузеры и может быть использована как в нативных vanillaJS проектах, так и в 3 основных фреймворках: React, Angular и Vue. Также мы предоставляем готовые примеры разговорных комнат, документацию и техническую поддержку разработчикам наших клиентов.

Video API

Медиа-сервер, с поддержкой AV1, H265 и не только. Callaba представила API видеоконференций для бизнеса

Полноценный Restful API предоставляет возможность клиентам обеспечить менеджмент комнат и сессий из своего приложения, подключать и настраивать инстансы медиа-сервера. Настраивать стриминг и перенаправление потоков. Для тех, кому медиа-сервер вообще не нужен, с помощью Callaba API можно подключать WebRTC клиентов, напрямую, используя только браузеры (например для организации конференц-связи до 4 человек, или для организации p2p only).

Встраиваемая видеоконференция iFrame

Медиа-сервер, с поддержкой AV1, H265 и не только. Callaba представила API видеоконференций для бизнеса

Есть клиенты, для которых вышеупомянутые продукты являются сложным решением. Для них мы сделали простейшую возможность реализации видеосвязи, с помощью одной строчки кода на клиенте. Просто добавляется скрипт и конференция работает в приложении у заказчика. Кастомизируемый скрипт iframe управляется также с клиента, с помощью добавления атрибутов, например screen-sharing=true или group-chat=false. Также принимаются кастомные параметры, которые необходимы для бизнеса наших клиентов, например ID пользователя клиента или его имя в чате.

Основные функции Callaba API для корпоративных клиентов

Видеоконференции по ссылке

  • Безлимитные кастомизируемые комнаты
  • Подключение нескольких камер одновременно
  • Четыре способа интеграции, в зависимости от потребностей клиента (iFrame, Client SDK, RESTFul API, Media server)

Рекордер

  • Безлимитное время записи
  • Возможность записи конференции целиком и по отдельности каждого участника

Мессенджер

  • Безлимитные чаты в комнате
  • Приватные чаты
  • Возможность прикреплять файлы
  • Экспорт истории сообщений

Доска для рисования

  • Безлимитное количество холстов
  • Каждый пользователь может писать и рисовать на доске
  • Возможность демонстрации медиа файлов (PDF, JPG, PNG)
  • Экспорт холста

Демонстрация экрана

  • Каждый пользователь может демонстрировать экран
  • Одновременное использование видеочата и демонстрации экрана

Видео и аудио стриминг

  • Поддерживаемые протоколы: WebRTC, SRT, RTMP, MPEG-DASH, HLS
  • Поддержка 4К для видео
  • Поддержка стриминга аудио в высоком качестве
  • Контролируемая задержка
  • Неограниченное количество подключений вьюверов

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

44
1 комментарий

Меня зовут Йорам

Майор, что ли? 🙄

2