CSRC и SSRC в RTP

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

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

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

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

3 ответов


принято от ссылки:

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

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

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

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

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


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

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

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

полезная презентация: http://voip.netlab.uky.edu / ~fei / преподавание / cs671 / слайды / rtp.pdf


  1. SSRC:

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

2.Ценных бумаг:

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

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