Jump to content

Безопасный надежный транспорт

Secure Reliable Transport ( SRT ) — это протокол передачи видео с открытым исходным кодом, который использует транспортный протокол UDP . Спецификация протокола SRT доступна в виде проекта IETF интернет - . [1]

SRT обеспечивает соединение и контроль, надежную передачу, аналогичную TCP ; однако это происходит на уровне приложений , используя протокол UDP в качестве базового транспортного уровня. Он поддерживает восстановление пакетов, сохраняя при этом низкую задержку (по умолчанию: 120 мс). SRT также поддерживает шифрование с использованием AES .

Протокол был получен из проекта UDT , [2] который был разработан для быстрой передачи файлов. Он обеспечил механизм надежности за счет использования аналогичных методов подключения, порядковых номеров, подтверждений и повторной передачи потерянных пакетов. Он использует выборочную и немедленную (на основе NAK) повторную передачу.

Помимо этого, SRT добавила несколько функций для поддержки режима прямой трансляции:

  1. Контролируемая задержка с передачей времени источника (доставка пакетов на основе временных меток)
  2. Удобный контроль скорости отправителя
  3. Условное «слишком позднее» отбрасывание пакетов (предотвращает блокировку начала строки, вызванную потерей пакета, который не был восстановлен вовремя)
  4. Повторная передача пакетов Eager (периодический NAK-отчет)

Заголовок пакета

[ редактировать ]

Пакеты SRT создаются на уровне приложений и передаются на транспортный уровень для доставки. Каждая единица мультимедийных или управляющих данных SRT, созданная приложением, начинается с заголовка пакета SRT. [1]

Заголовок пакета SRT
Смещения Октет 0 1 2 3
Октет Кусочек [а] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 Ф Значение поля зависит от типа пакета
4 32 Значение поля зависит от типа пакета
8 64 Временная метка
12 96 Идентификатор целевого сокета
... ... Содержимое пакета
(зависит от типа пакета)

Пакет данных

[ редактировать ]
Заголовок пакета данных SRT
Смещения Октет 0 1 2 3
Октет Кусочек [а] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 0 Порядковый номер пакета
4 32 ПП ТО КК Р Номер сообщения
8 64 Временная метка
12 96 Идентификатор целевого сокета
... ... Данные

Поля в заголовке следующие:

  • Порядковый номер пакета (31 бит)
  • PP (2 бита): флаг позиции пакета.
  • O (1 бит): флаг заказа.
  • KK (2 бита): флаг шифрования на основе ключа.
  • R (1 бит): Флаг повторно переданного пакета.
  • Номер сообщения (26 бит)
  • Данные (переменная длина)

Пакет управления

[ редактировать ]
Заголовок пакета управления SRT
Смещения Октет 0 1 2 3
Октет Кусочек [а] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 1 Тип управления Подтип
4 32 Информация о типе
8 64 Временная метка
12 96 Идентификатор целевого сокета
... ... Поле управляющей информации (CIF)

Поля в заголовке следующие:

  • Тип управления (15 бит): Тип пакета управления
  • Подтип (16 бит)
  • Информация о типе (32 бита)
  • Поле управляющей информации (переменная длина)

Secure Reliable Transport — это протокол передачи видео с открытым исходным кодом, первоначально разработанный Haivision. По данным SRT Alliance , организации, продвигающей эту технологию, она оптимизирует производительность потоковой передачи. Это помогает минимизировать влияние джиттера и изменений пропускной способности, а механизмы исправления ошибок помогают минимизировать потери пакетов. SRT поддерживает сквозное шифрование с помощью AES. [3] При выполнении повторной передачи SRT пытается повторно передать пакеты только в течение ограниченного периода времени в зависимости от задержки, настроенной приложением. [4]

По словам Марка Цимонтковски, архитектора SRT, помимо отправки транспортных потоков MPEG через общедоступный Интернет, он также используется для подключения IoT, обмена метаданными, в качестве протокола связи, а также для доставки несжатых данных. [5]

Эталонная реализация протокола изначально была опубликована под лицензией Lesser General Public License версии 2.1. [6] но было повторно лицензировано в соответствии с Общественной лицензией Mozilla . 22 марта 2018 года [7]

SRT поддерживается в бесплатных мультимедийных платформах GStreamer , FFmpeg , OBS Studio и в VLC . бесплатном медиаплеере [4] [8]

Проект протокола передачи данных (UDT) на основе UDP стал основой для проекта SRT. [9] API SRT C во многом основан на дизайне UDT API. [10]

SRT был разработан для передачи живого видео с малой задержкой. [9] [3]

Haivision представила протокол SRT и эталонную реализацию с открытым исходным кодом на выставке NAB Show 2017 . [9]

В марте 2020 года индивидуальный Интернет-проект, проект-шарабайко-швабра-срт, [1] был представлен на рассмотрение рабочей группы Media OPerationS (MOPS) Internet Engineering Task Force .

СРТ Альянс

[ редактировать ]

SRT Alliance — организация, члены которой разрабатывают, используют и продвигают протокол Secure Reliable Transport и программное обеспечение на его основе. Членами-учредителями альянса являются Haivision и Wowza Streaming Engine . [11]

Реализации

[ редактировать ]

В настоящее время существует одна доступная реализация — библиотека SRT с открытым исходным кодом.

API языка C в основном основан на предыдущем API UDT с дальнейшими изменениями по мере добавления новых функций. API очень похож на TCP.

Фактически SRT предлагает три режима работы, первые два из которых были заимствованы из UDT:

  • Режим файлового потока: как TCP
  • Режим файловых сообщений: аналогичен протоколу SCTP – отправка блоков данных с четко определенными границами.
  • Режим Live: данные должны отправляться небольшими пакетами (обычно до 1316 байт, если передаваемый поток MPEG-TS ) с уже соответствующими временными интервалами между ними. Затем на стороне получателя доставляются одни и те же отдельные пакеты с одинаковыми интервалами времени между ними.

Библиотека SRT также предлагает следующие функции:

  1. Шифрование с использованием предварительного ключа. Поддержка шифрования изначально обеспечивалась OpenSSL, теперь в качестве альтернативы можно использовать Nettle (GNU TLS) или mbedTLS.
  2. SRT Access Control (также известный как «StreamID») может использоваться приложениями для идентификации ресурсов и использования метода доступа с использованием пароля пользователя при использовании одного и того же номера сервисного порта для различных целей. [12]
  3. Дополнительный механизм прямого исправления ошибок .

Дальнейшую и более подробную документацию можно найти в документации по исходному коду .

См. также

[ редактировать ]
  • Надежный Internet Stream Transport , предназначенный для заполнения пробела на рынке профессиональных протоколов в отличие от «просьюмерского» SRT. [13]

Примечания

[ редактировать ]
  1. ^ Перейти обратно: а б с Биты упорядочены от наиболее значимого к наименее значимому; Смещение бита 0 — это старший бит первого октета. Октеты передаются в сетевом порядке . Порядок передачи битов зависит от среды.
  1. ^ Перейти обратно: а б с Шарабайко, депутат; Шарабайко, М.А. (2021). Протокол СТО . IETF . ID черновик-шарабайко-srt-01 . Проверено 20 октября 2023 г.
  2. ^ «UDT: устранение узких мест при передаче данных» . udt.sourceforge.io . Проверено 27 августа 2020 г.
  3. ^ Перейти обратно: а б Haivision (26 сентября 2021 г.). «Безопасный, надежный, транспортный» . Гитхаб.
  4. ^ Перейти обратно: а б Оливье Крет (16 февраля 2018 г.). «SRT в GStreamer» .
  5. ^ «Это склеивает все воедино: интервью с Марком Цимонтковски, евангелистом SRT» . Блог Medialooks . 5 ноября 2019 г.
  6. ^ Майкл Ларабель (24 апреля 2017 г.). «Протокол передачи видео SRT с открытым исходным кодом» . Фороникс.
  7. ^ Роман Рнди (22 марта 2018 г.). «Изменить лицензию на MPLv2.0 · Haivision/srt@a75d4c4» . Гитхаб.
  8. ^ Оливье Крет (июнь 2018 г.). «Безопасное видео достигает зрелости» . Журнал «Linux Format» . № 237.
  9. ^ Перейти обратно: а б с Марк Цимонтковски. «Почему мы создали SRT и разница между SRT и UDT» .
  10. ^ "Документация по API Haivision srt"
  11. ^ «Microsoft присоединяется к проекту потоковой передачи с открытым исходным кодом SRT» . Радиовещательный мост . 17 сентября 2018 г.
  12. ^ «Руководство SRT по контролю доступа» . Гитхаб . 7 ноября 2019 г.
  13. ^ «5 причин, по которым вам следует выбрать RIST, а не SRT» . Форум РИСТ . 27 мая 2020 г. Проверено 4 декабря 2021 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1870a84d0ed4f44692ec6be6a94693ed__1711417200
URL1:https://arc.ask3.ru/arc/aa/18/ed/1870a84d0ed4f44692ec6be6a94693ed.html
Заголовок, (Title) документа по адресу, URL1:
Secure Reliable Transport - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)