CSRC и SSRC в RTP

Я очень плохо знаком с RTP, может кто-нибудь объяснить о CSRC и SSRC в целом?

От http://www.rfc-editor.org/rfc/rfc3550.txt, что это говорит: Поле SSRC идентифицирует источник синхронизации. Означает ли это, что в сети может быть много отправителей, которые участвуют в RTP (многоадресной сети) и определяют, из какого источника поступает пакет?

CSRC: вносящий источник (CSRC): источник потока пакетов RTP, который внес вклад в объединенный поток, создаваемый микшером RTP (см. Ниже). Не понимаю.

кто-нибудь может объяснить с примером, пожалуйста? Спасибо

3 ответа

Решение

Взяты из ссылки:

SSRC Идентифицирует источник синхронизации. Значение выбирается случайным образом с намерением, чтобы никакие два источника синхронизации в одном и том же сеансе RTP не имели одинакового SSRC. Хотя вероятность того, что несколько источников выберут один и тот же идентификатор, мала, все реализации RTP должны быть готовы обнаруживать и разрешать коллизии. Если источник изменяет свой транспортный адрес источника, он также должен выбрать новый SSRC, чтобы избежать его интерпретации как зацикленного источника.

CSRC Массив от 0 до 15 элементов CSRC, идентифицирующих способствующие источники для полезной нагрузки, содержащейся в этом пакете. Количество идентификаторов задается полем CC. Если существует более 15 способствующих источников, можно определить только 15. Идентификаторы CSRC вставляются микшерами с использованием идентификаторов SSRC участвующих источников. Например, для аудиопакетов перечислены идентификаторы SSRC всех источников, которые были смешаны вместе для создания пакета, что позволяет правильно указывать собеседника на приемнике.

Честно говоря, я никогда не видел, чтобы кто-либо действительно использовал SSRC или CSRC каким-либо осмысленным образом. Во всем коде, с которым я имел дело, мы просто генерируем случайное число в SSRC и никогда не заполняем CSRC.

Я предполагаю, что SSRC может быть полезен для отслеживания и / или обнаружения зацикливания звуковых путей.

Я полагаю, что CSRC может быть полезен для конечной точки SIP, получающей аудио от серверов конференций, где несколько источников звука смешаны вместе, как указано в приведенной выше цитате. Как я уже сказал, в коде сервера конференций, с которым я имел дело, мы не беспокоимся.

Относительно вашего вопроса "Означает ли это, что в сети может быть много отправителей, которые вносят свой вклад в RTP (многоадресная сеть) и определяют, из какого источника поступает пакет?"

Это не совсем так, потому что, когда имеется много источников, видео / аудио микшируется микшером RTP, и в этом случае SSRC является SSRC микшера RTP, который не является источником отправителя RTP-пакета, чтобы узнать нужные вам источники Чтобы посмотреть массив CSRC, в котором эти источники идентифицированы уникальным SSRC, размер массива также определяется полем заголовка CC: count CSRC.

Если аудио / видео не объединены (одноадресные), то SSRC является отправителем этого видео / аудио, а CSRC не заполнен.

Полезная презентация: http://voip.netlab.uky.edu/~fei/teaching/cs671/slides/rtp.pdf

Согласно разделу 4RFC 8108, вот спецификации:

если используются микшеры RTP, некоторые SSRC могут быть видны только в списке дополнительных источников (CSRC) пакета RTP и в RTCP и могут не отображаться непосредственно как SSRC пакета данных RTP.

  1. SSRC:

Идентификатор источника синхронизации (32 бита) четко отличает источник потока данных. Источники синхронизации в том же сеансе RTP будут уникальными.

2.CSRC:

Внесение идентификаторов источников (32 бита каждый) суммирует внесение источников в поток, который был сгенерирован из нескольких источников.

https://en.wikipedia.org/wiki/Real-time_Transport_Protocol

Другие вопросы по тегам