Короткое определение

Secure Reliable Transport – открытый протокол передачи на основе UDP с настраиваемым восстановлением потерь по ARQ и шифрованием AES. Де-факто замена RTMP в профессиональной вещательной передаче контента.

SRT изначально была разработана Haivision и представлена как open-source-проект в 2017 году (Internet-Draft `draft-sharabayko-srt`, последняя версия – 2024). Протокол работает поверх UDP, добавляет фрейминг с порядковыми номерами, обеспечивает ретрансляцию потерянных пакетов в настраиваемом окне задержки (обычно 80–500 мс) и шифрует полезную нагрузку с помощью AES-128 или AES-256. В результате достигается broadcast-уровень качества передачи по публичному интернету с ограниченной задержкой и предсказуемой устойчивостью к потерям пакетов.

Главная фича – крутилка задержки. Оператор задаёт целевое окно, например 250 мс, и SRT восстанавливает потерянные пакеты в пределах этого окна с помощью ARQ, отбрасывая их только в том случае, если повторная передача вышла бы за его границы. Это делает SRT предсказуемым: SRT-канал с задержкой 250 мс и потерями 1 % работает заметно лучше, чем RTMP поверх TCP при тех же условиях, поскольку у ретрансмиссии TCP нет верхней границы по задержке.

SRT встроен в FFmpeg, OBS (с 2021 года), GStreamer, Wowza, Nimble Streamer, AWS MediaLive и Microsoft Azure Media Services. Типичная схема – использовать SRT на contribution-канале live-воркфлоу (энкодер → облако или энкодер → телепорт) и конвертировать поток в формат, используемый на стороне дистрибуции: HLS для OTT, WebRTC для низколатентной доставки, SRT на выходе для B2B-передачи. SRT часто объединяют: несколько параллельных SRT-сессий по разным каналам объединяются на приёмной стороне – такой подход применяется в полевых условиях с bonded cellular.

Считаете параметры для своего продукта?

Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.