Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Formato SDP del piano unificato - piano di transizione

Google ha in programma di trasferire l'implementazione WebRTC di Chrome dall'attuale formato SDP (chiamato "Piano B") a un formato conforme agli standard ("Piano unificato", draft-ietf-rtcweb-jsep) nei prossimi due trimestri.

Il piano prevede 4 fasi e una funzione API transitoria.

Chi sarà interessato

Le persone che utilizzano più tracce audio o più tracce video su un singolo PeerConnection dovranno testare il loro prodotto in Unified Plan e adattarsi di conseguenza. Nel caso in cui una chiamata venga avviata da un endpoint non Chrome e alla quale Chrome abbia risposto, il modulo dell'offerta potrebbe dover cambiare. Le persone che eseguono l'analisi dettagliata di SDP e si preoccupano degli attributi msid dovranno verificare che il loro codice di analisi raccolga il nuovo formato (a = msid). I dettagli sulla necessità di modifiche e su come le app devono cambiare dipenderanno dall'applicazione. Riteniamo che quasi tutte le applicazioni che utilizzano solo una singola traccia audio e una singola traccia video per RTCPeerConnection non saranno interessate dalla modifica.

La funzione API

Stiamo aggiungendo una nuova funzionalità alla configurazione RTCC di RTCPeerConnection:

 enum SdpSemantics {
  "plan-b",
  "unified-plan"
};


partial dictionary RTCConfiguration {
   SdpSemantics sdpSemantics;
}
 

La configurazione RTCC può essere passata al costruttore di un RTCPeerConnection e tutte le offerte e le risposte costruite saranno nel formato del piano unificato. Le chiamate a setLocalDescription e setRemoteDescription prevedono inoltre che l'SDP sia nel formato Piano unificato; se è nel formato Chrome legacy, allora tutti tranne la prima traccia audio e la prima traccia video verranno ignorati.

C'è anche un flag da riga di comando (–enable-features = RTCUnifiedPlanByDefault in Chrome M71 e versioni successive, –enable-blink-features = RTCUnifiedPlanByDefault nelle versioni precedenti) che consente di impostare il valore predefinito di questo flag su “piano unificato”.

Le fasi

Fase 1: implementare il piano unificato

Il piano unificato è attualmente sviluppato e la bandiera per la sperimentazione è disponibile da M65. Fino alla fase 2, è più saggio testare con Canary. Se esegui Chrome con "–enable-blink-features = RTCUnifiedPlan", avrai accesso alla funzione "sdpSemantics" descritta sopra e puoi iniziare i test con Unified Plan.

Fase 2: rendere la funzionalità API generalmente disponibile

Rilasciato in M69 (beta agosto 2018, stabile settembre 2018)

In questa fase, il valore predefinito del flag sdpSemantics è "plan-b". Nella fase 2, ci aspettiamo che le persone che hanno implementazioni che dipendono dal formato SDP eseguano dei test per vedere se le loro applicazioni funzionano quando Unified Plan è in uso. Per le applicazioni che supportano Firefox, ci aspettiamo che questo sia un esercizio molto semplice: fai come faresti per Firefox.

Il valore predefinito del flag sdpSemantics può essere modificato in "chrome: // flags"; cercare la funzione "WebRTC: utilizzare la semantica SDP del piano unificato per impostazione predefinita".

Fase 3: cambia l'impostazione predefinita

La data per lo switch verrà impostata in consultazione con gli utenti, dopo test approfonditi. Il nostro piano attuale è M72 (beta dicembre 2018, stabile gennaio 2019).

In questa fase, cambieremo il valore predefinito del flag sdpSemantics in "piano unificato". Le applicazioni che scoprono di aver bisogno di più tempo per la conversione possono impostare esplicitamente il flag sdpSemantics su "plan-b" per ripristinare il comportamento precedente.

Come parte del test, prevediamo di provare a cambiare più volte il valore predefinito della bandiera nelle Canarie durante il ciclo di sviluppo di M71 e M72.

Monitoreremo l'utilizzo della bandiera e la quantità di SDP ricevuta con la semantica "Piano B", al fine di impostare la data per la fase 4.

Fase 4: rimuovere il "piano B"

In questa fase, il flag sdpSemantics e tutto il codice per supportare il piano B verranno rimossi da Chrome. L'impostazione del flag sdpSemantics non sarà un errore, ma non avrà alcun effetto.

Preparazione della domanda per il piano unificato

Per informazioni dettagliate sulle differenze tra Piano B e Piano unificato e in che modo potrebbe essere necessario aggiornare l'applicazione in preparazione al piano Unificato, consultare la Guida alla transizione "Piano unificato" (JavaScript)

Per le applicazioni native (C ++), consultare il documento "Migrazione dell'applicazione nativa / mobile al piano unificato"