Что такое SRT протокол

В этом туториале мы расскажем как работает протокол SRT, в чем его особенность и отличия от других протоколов передачи видео.

Что такое SRT протокол?
SRT — это протокол передачи видео в реальном времени. На текущий момент, SRT — наиболее продвинутый способ передачи видео, по сравнению с другими. Он имеет большое количество тонких настроек, и позволяет организовать видео трансляции с минимальным количеством потерь данных. SRT поддерживает современные кодеки, такие как H.265, что существенно помогает экономить трафик.

Для начала разберемся, на чем основана передача данных видео в современном мире и что конкретно лежит в основе протокола SRT.

По состоянию на август 2021 года в интернете существует 2 способа организации передачи данных : передача данных может быть основана на транспортном протоколе TCP или на протоколе UDP.

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

Передача, основанная на протоколе TCP
Что касается передачи, основанной на TCP — это контролируемое решение, но к сожалению, этот метод не позволяет организовать трансляцию в реальном времени. Протоколы передачи видео, использующие TCP, такие как RTMP или HLS отправляют кусочки видео и ждут, пока TCP полностью не подтвердит получение каждого фрагмента. Такая процедура подтверждения занимает много времени. Задержка этих протоколов составляет не менее 10 секунд, что для большинства вещательных компаний и телевидения в прямом эфире не приемлемо.

Чтобы обойти эти проблемы, компанией Haivision был разработан протокол SRT. SRT — полностью управляемое решение отправки данных, обеспечивающее контроль восстановления потерянных пакетов и при этом работающее в реальном времени.

Рассмотрим преимущества протокола SRT более подробно:

1. Поддержка современных кодеков сжатия
HEVC (так же известный как H.265) — это более современный по сравнению с H.264 кодек для сжатия видео. Основное отличие состоит в том, что HEVC (H.265) позволяет еще сильнее сократить размер файла и тем самым уменьшить необходимую для передачи полосу пропускания.

Уменьшая полосу пропускания, мы снижаем нагрузку на клиентов, расположенных за пределами NAT. Кроме того, снижаются затраты на передачу данных облачных провайдеров, таких как Amazon Web Services или Microsoft Azure, где взимается плата за каждый переданный гигабайт.
При этом, чем выше разрешение видео, тем сильнее работает сжатие, а значит мы экономим больше ресурсов.

2. Мощный механизм контроля восстановления потерянных пакетов
SRT протокол оснащен системой восстановления потерянных пакетов, работающей в реальном времени. Всякий раз, когда пакет не доходит до получателя, протокол запрашивает пакет еще раз. Благодаря продуманной архитектуре протокола у пакета есть небольшой запас времени на восстановление в буфере получателя незадолго до воспроизведения. Таким образом пользователь получает точную последовательность видео фреймов и небольшое сетевое дрожание не отражается на качестве воспроизведения видео.

3. Гибкая настройка под особенности сети
Протокол SRT позволяет регулировать практически все его архитектурные элементы, так что можно подобрать правильные настройки для каждой конкретной ситуации.
В сетях с высоким пингом решением проблемы будет правильно подобранная задержка. В сетях с ограниченным каналом решением становится регулирование максимальной пропускной способности. В сетях со “слабыми” устройствами отправителя или приемника решением становится регулирование размеров буфера отправителя или приемника. И так далее.

4. Поддержка аппаратных видео энкодеров и декодеров
Сегодня протокол SRT уже стандарт для большинства производителей аппаратной видео техники. Транспорт видео между физическим энкодером и декодером по SRT позволяет существенно снизить не только задержку на передачу данных, но и также затраты на вычисления, предоставив их отдельным устройствам.

5. Мощная защита данных
SRT из коробки передает данные в зашифрованном виде, о чем говорит его аббревиатура “Secure Reliable Transport”. Также SRT протокол позволяет опционально шифровать сеансы дополнительным паролем, чтобы исключить возможность атаки mitm (man in the middle).

6. Поддержка многоканальной аудио передачи
С SRT можно передавать до 8 каналов аудио одновременно. Такая функциональность может быть полезна, если например нужно в одном видео потоке организовать синхронный перевод на несколько языков.

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

В каких случаях Callaba Cloud подойдет вам

1. Если вы хотите организовать трансляцию по SRT.
Callaba Cloud поддерживает такие популярные программы как OBS Studio, vMix, Larix Broadcaster, Larix ScreenCaster. Также полностью поддерживаются аппаратные видео энкодеры и декодеры.

2. Когда нужно организовать гео-распределенную маршрутизацию видео потоков. Например, передать видео в другой регион с минимальной задержкой.

3. Если нужно подключить большое количество вещателей/стримеров или зрителей. Callaba Cloud поддерживает сетевую маршрутизацию на неограниченное количество серверов.

4. Для рестрима входящих SRT потоков в соц. сети.
Callaba Cloud поддерживает все современные соц сети, такие как Youtube, Twitch, Facebook и многие другие. Можно организовать вещание в несколько соц. сетей одновременно.

5. Если вы хотите записывать ваши SRT потоки и не иметь ограничений по количеству записываемых данным. Callaba Cloud в связке с AWS позволяет выделить столько места на диске, сколько вам необходимо.

На этом все. Если у вас возникнут дополнительные вопросы, свяжитесь с нами [email protected], мы ответим в течение 24 часов.

Другие материалы по теме :
Как запустить Callaba Cloud
Как начать стримить по SRT в OBS Studio
Как настроить прием SRT в OBS Studio
Как настроить мультистриминг в Twitch, Youtube и Facebook одновременно
Как настроить стрим с помощью Vmix. Отправление и получение SRT стрима через Vmix
Как организовать геораспределенную маршрутизацию видеопотоков по SRT