wake-up-neo.com

CSRC und SSRC in RTP

Ich bin sehr neu in RTP, kann jemand etwas über das CSRC und das SSRC im Allgemeinen erklären?

In http://www.rfc-editor.org/rfc/rfc3550.txt heißt es: Das SSRC-Feld identifiziert die Synchronisationsquelle. Bedeutet dies, dass es im Netzwerk möglicherweise viele Absender gibt, die zu RTP (Multicast-Netzwerk) beitragen und ermitteln, von welcher Quelle das Paket stammt?

CSRC: Contributing Source (CSRC): Eine Quelle eines Streams von RTP Paketen, die zu dem kombinierten Stream beigetragen haben, der von einem RTP Mixer erzeugt wurde (siehe unten). Nicht verstanden.

kann jemand bitte mit beispiel erklären? Vielen Dank

9
badri.coder

entnommen aus link:

SSRCIdentifiziert die Synchronisationsquelle. Der Wert wird zufällig ausgewählt, mit der Absicht, dass keine zwei Synchronisationsquellen innerhalb derselben RTP Sitzung dieselbe SSRC haben. Obwohl die Wahrscheinlichkeit, dass mehrere Quellen denselben Bezeichner auswählen, gering ist, müssen alle RTP Implementierungen darauf vorbereitet sein, Kollisionen zu erkennen und aufzulösen. Wenn eine Quelle ihre Quellentransportadresse ändert, muss sie auch eine neue SSRC auswählen, um zu vermeiden, dass sie als geschleifte Quelle interpretiert wird.

CSRCEin Array von 0 bis 15 CSRC-Elementen, die die beitragenden Quellen für die in diesem Paket enthaltenen Nutzdaten identifizieren. Die Anzahl der Identifikatoren wird durch das CC-Feld angegeben. Wenn es mehr als 15 beitragende Quellen gibt, können nur 15 identifiziert werden. CSRC-Kennungen werden von Mischern unter Verwendung der SSRC-Kennungen der beitragenden Quellen eingefügt. Beispielsweise werden für Audiopakete die SSRC-Kennungen aller Quellen aufgelistet, die zur Erstellung eines Pakets zusammengemischt wurden, um eine korrekte Sprecheranzeige am Empfänger zu ermöglichen.

Um ehrlich zu sein, ich habe noch nie jemanden gesehen, der SSRC oder CSRC auf irgendeine sinnvolle Weise verwendet. In all dem Code, den ich behandelt habe, generieren wir nur eine Zufallszahl in SSRC und kümmern uns nicht darum, CSRC auszufüllen.

Ich vermute, dass SSRC nützlich sein kann, um Audio-Looping-Pfade aufzuspüren und/oder zu erkennen.

Ich denke, CSRC kann für einen SIP-Endpunkt nützlich sein, der Audio von einem Konferenzserver empfängt, auf dem mehrere Audioquellen zusammengemischt sind, wie im obigen Zitat angedeutet. Wie gesagt, in dem Konferenzserver-Code, mit dem ich mich befasst habe, kümmern wir uns nicht darum.

12
Shane Powell

Zu Ihrer Frage "Bedeutet dies, dass im Netzwerk möglicherweise viele Absender zu RTP (Multicast-Netzwerk) beitragen und ermitteln, von welcher Quelle das Paket stammt?"

Dies ist nicht spezifisch wahr, da bei vielen Quellen das Video/Audio durch den RTP Mixer gemischt wird und die SSRC in diesem Fall die RTP Mixer-SSRC ist, die nicht die Quelle der ist RTP Paketsender, um die Quellen zu kennen, müssen Sie sich das CSRC-Array ansehen, bei dem diese Quellen durch eindeutige SSRC identifiziert sind. Die Größe des Arrays wird auch durch das Header-Feld CC: count CSRC angegeben.

Wenn das Audio/Video nicht kombiniert ist (uni-cast), ist die SSRC des Absenders dieses Videos/Audios und die CSRC nicht gefüllt.

Hilfreiche Präsentation: http://voip.netlab.uky.edu/~fei/teaching/cs671/slides/rtp.pdf

2
Nizarazo
  1. SSRC:

Die Synchronisationsquellenkennung (32 Bit) unterscheidet die Quelle eines Datenstroms deutlich. Die Synchronisationsquellen innerhalb derselben RTP Sitzung sind eindeutig.

2.CSRC:

Beitragende Quellen-IDs (jeweils 32 Bit) summieren beitragende Quellen zu einem Stream, der aus mehreren Quellen generiert wurde.

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

0
Charles