Протокол SRT: особенности и перспективы

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

История технологии

Впервые SRT был продемонстрирован в 2013 году. Изначально он разрабатывался Haivision для собственных решений. Новый протокол был нужен, чтобы использовать «публичный» интернет для передачи контента. Это сильно сокращало затраты на передачу данных по сравнению с протоколами, использующими спутниковый интернет или частные сети.

Сейчас SRT — это универсальный протокол и open-source решение. С 2017 года исходный код размещен на GitHub. Решение распространяется бесплатно по лицензии MPL-2.0.

В 2017 году Haivision совместно с WOWZA основали альянс SRT Alliance. Его цель — поддержка и развитие протокола. Сейчас членами Альянса являются более 300 компаний.

Почему SRT — особенный

Кроме открытого кода у протокола есть еще несколько преимуществ.

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

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

Но UDP не гарантирует доставку пакетов адресату: его даже прозвали «протокол ненадёжных датаграмм». При разработке SRT эта особенность UDP была учтена и исправлена.

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

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

Поддержка стандарта сжатия видео H.265 (HEVC)

Благодаря этому:

  • Снижается битрейт при сохранении качества изображения
    Если сравнивать H.265 с другими стандартами видеокодирования, при его применении битрейт ниже на 35.4%, чем при использовании H.264/MPEG-4 AVC HP, на 63,7 %, чем у MPEG-4 ASP, на 65,1 % и 70,8 %, чем при применении H.263 HLP и H.262/MPEG-2 MP
  • Уменьшается нагрузка на сеть
    В сравнении с тем же H.264 разница — примерно 40%
  • Появляется возможность включения нескольких полноценных звуковых дорожек

Использование алгоритма шифрования AES

Протокол поддерживает шифрование AES 128/256 для защиты потокового видео. Алгоритм одобрен АНБ США и структурами, отвечающими за безопасность в других странах. К примеру, чтобы расшифровать ключ такого алгоритма шифрования, суперкомпьютеру, который расшифрует ключ DES за 1 секунду, потребуется более 149 000 000 000 000 лет.

SRT против RTMP. В чем разница?

В RMPT целостность проверяется к определенной последовательности данных. Если потеряется какой-то из пакетов, снова отправится только «потерянный» пакет, а не вся последовательность. А это снижает потребности в буферизации.

В зависимости от условий и типа передаваемого контента, SRT, в основе которого UDP, может обеспечить скорость в 3-5 раз больше, чем RTMP с TCP.

Немалую роль играет и открытость исходного кода протокола, в  то время, как RTMP проприетарный и полностью принадлежит Adobe.

Еще одна особенность SRT — поддержка любых кодеков. RTMP этим похвастаться не может.

Кстати, разработчики протокола протестировали SRT и RTMP в реальных условиях с целью их сравнения. Краткие итоги тестирования такие:

  1. В тестах на задержку по времени SRT был в 2.5-3.2 раз быстрее (в зависимости от удаленности отправителя и получателя)
  2. При использовании SRT максимальная скорость 20 Мбит/с сохранялась при передаче данных в любой регион мира. У RTMP с увеличением расстояния скорость падала. Например, передача из Европы в Австралию показала скорость не более 2 Мбит/с

Перспективы развития протокола SRT

Учитывая количество членов Альянса, перспектив у него немало. Например, сейчас Haivision совместно с Microsoft ведет разработку облачного сервиса маршрутизации SRT Hub на базе платформы Azure. Фактически это говорит о создании мирового облачного сервиса, который позволит повысить скорость передачи потокового видео и снизить временную задержку.

Количество российских компаний, внедряющих в свои решения SRT, тоже увеличивается.  Протокол используют такие компании, как Softvelum (в медиасервере Nimble Streamer), BirdDog (NDI-решение c поддержкой SRT). В Facecast тоже завершена разработка собственного SRT-приемника. Благодаря открытости исходного кода протокола, решение максимально адаптированно под наши особенности. Мы считаем, что SRT — это не только перспективная технология, но и большой, интересный инструмент для того, чтобы делать свои продукты ещё лучше. И этот инструмент будет становиться всё более продвинутым. Так зачем ждать, если можно использовать?

Вы хотите
зарегистрироваться как:
Сбросить пароль
Вход
Регистрация
Оставить заявку
Мы разработали Evacoder для быстрой и удобной организации трансляций без необходимости привлечения специалистов.