Перейти к содержанию

Выбор транспорта для передачи медиаданных внутри CDN

Выбор транспорта для передачи медиаданных между узлами CDN

По умолчанию, медиаданные внутри CDN передаются по WebRTC, в качестве транспорта используется UDP. В сборках WCS до 5.2.1103 транспорт может быть изменен на TCP, при условии, что на всех серверах в CDN  установлена настройка

ice_tcp_transport=true

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

В сборке 5.2.1103 добавлена настройка для переключения транспорта внутри CDN независимо от транспорта, используемого клиентами при публикации и проигрывании

cdn_transport=udp

Для переключения транспорта на TCP, необходимо указать настройку

cdn_transport=tcp

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

cdn_transport=srt

Если сервер, который пытается забрать поток, не поддерживает SRT, либо SRT на нем отключен, будет использован транспорт UDP.

Выбор транспорта внутри CDN с различными настройками на серверах

Если настройки транспорта медиаданных различаются на серверах CDN, то транспорт будет выбран по настройке того сервера, который забирает поток.

Например, если на Origin указано

cdn_transport=udp

а на Transcoder и Edge указано

cdn_transport=tcp

то и Transcoder, и Edge будут играть поток с Origin по TCP.

Выбор протокола для установки соединения внутри CDN

Начиная со сборки 5.3.302, для установки медиа соединений между узлами CDN может быть использован RTMP протокол

cdn_agent=rtmp

Узел, инициирующий соединение, имеет приоритет: если на Origin указано

cdn_agent=webrtc

а на Transcoder и Edge указано

cdn_agent=rtmp

то Edge использует RTMP соединение, чтобы забрать поток с Origin.

Для сохранения обратной совместимости, по умолчанию используется WebRTC.

Поддержка кодека Opus для RTMP соединений

Начиная со сборки 5.3.367 аудио в кодеке Opus может быть передано через RTMP соединение меду узлами CDN. Таким образом, нет необходимости в дополнитнльном транскодинге звука из Opus в AAC и обратно при публикации WebRTC потока на Origin проигрывании его в браузере с Edge с настройкой cdn_agent=rtmp.

Attention

Кодек Opus по-прежнему не поддерживается для публикации и проигрывания RTMP