Passa al contenuto principale

1. Introduction (Introduzione)

1.1. Terminology (Terminologia)

Questo documento usa la terminologia di [RFC8825]. Inoltre, i seguenti termini sono usati come descritto sotto:

Flusso RTP: un flusso di pacchetti RTP contenenti dati multimediali [RFC7656].

MediaStream: un insieme di MediaStreamTrack [W3C.CR-mediacapture-streams]. Un MediaStream può contenere più MediaStreamTrack, dello stesso tipo o di tipi diversi.

MediaStreamTrack: definito in [W3C.CR-mediacapture-streams] come flusso unidirezionale di dati multimediali (audio o video, non entrambi). Corrisponde al termine «source stream» di [RFC7656]. Un MediaStreamTrack può essere presente in zero, uno o più MediaStream.

Descrizione multimediale: definita in [RFC4566] come insieme di campi che iniziano con un campo m= e terminano con il campo m= successivo o con la fine della descrizione di sessione.

Le parole chiave «MUST», «MUST NOT», «REQUIRED», «SHALL», «SHALL NOT», «SHOULD», «SHOULD NOT», «RECOMMENDED», «NOT RECOMMENDED», «MAY» e «OPTIONAL» in questo documento devono essere interpretate come descritto in BCP 14 [RFC2119] [RFC8174] quando, e solo quando, compaiono tutte in maiuscolo come mostrato qui.

1.2. Structure of This Document (Struttura)

Questo documento aggiunge un nuovo meccanismo del Session Description Protocol (SDP) [RFC4566] che può associare identificatori ai flussi RTP e ai raggruppamenti che formano. È progettato per l'uso con WebRTC [RFC8825].

La sezione 1.3 fornisce il contesto sul perché serve un nuovo meccanismo.

La sezione 2 fornisce la definizione del nuovo meccanismo.

La sezione 3 fornisce le informazioni semantiche e le procedure necessarie per usare l'attributo msid per segnalare l'associazione di MediaStreamTrack a MediaStream a supporto dell'API WebRTC [W3C-WebRTC].

1.3. Why a New Mechanism Is Needed (Perché serve un nuovo meccanismo)

Quando il media è trasportato da RTP [RFC3550], ogni flusso RTP è distinto all'interno di una sessione RTP dal suo Synchronization Source (SSRC); ogni sessione RTP si distingue da tutte le altre sessioni RTP perché si trova su un'associazione di trasporto diversa (strettamente parlando, due associazioni di trasporto, una per RTP e una per il RTP Control Protocol (RTCP), salvo uso del multiplexing RTP/RTCP [RFC5761]).

SDP [RFC4566] fornisce un formato per descrivere una sessione SDP che può contenere più descrizioni multimediali. Secondo il modello usato in [RFC8829], ogni descrizione multimediale descrive esattamente una sorgente multimediale. Se più sorgenti multimediali sono trasportate in una sessione RTP, ciò è segnalato con BUNDLE [RFC8843]; se BUNDLE non è usato, ogni sorgente multimediale è trasportata nella propria sessione RTP.

Il SDP Grouping Framework [RFC5888] può essere usato per raggruppare descrizioni multimediali. Tuttavia, per il caso d'uso WebRTC, è necessario che un'applicazione specifichi alcune informazioni a livello applicativo sull'associazione tra descrizione multimediale e gruppo. Ciò non è possibile usando il SDP Grouping Framework.

1.4. The WebRTC MediaStream

La specifica dell'API WebRTC del W3C [W3C-WebRTC] stabilisce che la comunicazione tra entità WebRTC avviene tramite MediaStream, che contengono MediaStreamTrack. Un MediaStreamTrack è in genere trasportato usando un singolo SSRC in una sessione RTP, formando un flusso RTP. La collisione terminologica è sfortunata. Possono esserci SSRC aggiuntivi, eventualmente in sessioni RTP aggiuntive, per supportare funzionalità come la correzione d'errore in avanti o il simulcast. Questi SSRC aggiuntivi non rientrano in questa specifica.

I MediaStreamTrack sono unidirezionali; trasportano il media in una sola direzione.

Nella specifica RTP, i flussi RTP sono identificati usando il campo SSRC. I flussi sono raggruppati in sessioni RTP e portano anche un CNAME. Né il CNAME né la sessione RTP corrispondono a un MediaStream. Pertanto, l'associazione di un flusso RTP ai MediaStream deve essere segnalata esplicitamente.

WebRTC definisce una mappatura (documentata in [RFC8829]) in cui una descrizione multimediale SDP è usata per descrivere ogni MediaStreamTrack, e il meccanismo BUNDLE [RFC8843] è usato per raggruppare i MediaStreamTrack in sessioni RTP. Pertanto, è necessario specificare l'identificatore (ID) del MediaStreamTrack e il MediaStream associato per ogni descrizione multimediale, cosa che si può realizzare con un attributo SDP a livello multimediale.

Questo uso è descritto nella sezione 3.