En Google, luchamos por la equidad racial de la comunidad negra. Más información

Formato SDP del plan unificado - plan de transición

Google planea hacer la transición de la implementación de WebRTC de Chrome del formato SDP actual (llamado "Plan B") a un formato conforme a los estándares ("Plan Unificado", borrador-ietf-rtcweb-jsep) durante los próximos dos trimestres.

El plan incluye 5 fases y una característica de API transitoria.

¿Quién se verá afectado?

Las personas que usan múltiples pistas de audio o múltiples pistas de video en un solo PeerConnection deberán probar su producto bajo el Plan Unificado y adaptarse en consecuencia. En el caso de que una llamada se inicie desde un punto final que no sea de Chrome y Chrome responda, es posible que tenga que cambiar la forma de la oferta. Las personas que realizan análisis detallados de SDP y se preocupan por los atributos de msid deberán comprobar que su código de análisis recoja el nuevo formato (a = msid). Los detalles sobre si se necesitarán cambios y cómo deben cambiar las aplicaciones dependerán de la aplicación. Creemos que casi todas las aplicaciones que usan solo un solo audio y una sola pista de video por RTCPeerConnection no se verán afectadas por el cambio.

La función API

Estamos agregando una nueva característica a RTCConfiguration de RTCPeerConnection:

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


partial dictionary RTCConfiguration {
   SdpSemantics sdpSemantics;
}

La RTCConfiguration se puede pasar al constructor de una RTCPeerConnection, y todas las ofertas y respuestas construidas estarán en el formato de Plan Unificado. Las llamadas a setLocalDescription y setRemoteDescription también esperan que el SDP esté en el formato del Plan Unificado; si está en el formato heredado de Chrome, se ignorarán todas las pistas excepto la primera de audio y la primera de video.

También hay una marca de línea de comando (–enable-features = RTCUnifiedPlanByDefault en Chrome M71 y superior, –enable-blink-features = RTCUnifiedPlanByDefault en versiones anteriores) que permite que el valor predeterminado de esta marca se establezca en “plan unificado”.

Las fases

Fase 1: Implementar un plan unificado

En esta fase, el Plan Unificado se estaba desarrollando detrás de una bandera de experimentación disponible desde M65. Hasta la fase 2, era más prudente probar con Chrome Canary mediante “–enable-blink-features = RTCUnifiedPlan”.

Fase 2: hacer que la función API esté disponible de forma generalizada

Lanzado en M69 (beta en agosto de 2018, estable en septiembre de 2018)

En esta fase, el valor predeterminado de la bandera sdpSemantics era "plan-b". En la Fase 2, se esperaba que las personas que tenían implementaciones que dependían del formato SDP ejecutaran pruebas para ver si sus aplicaciones funcionan cuando Unified Plan está en uso. Para las aplicaciones que son compatibles con Firefox, esperamos que este sea un ejercicio muy simple: simplemente haga lo que haría con Firefox.

El valor predeterminado de la bandera sdpSemantics se puede cambiar en "chrome: // flags"; busque la función "WebRTC: Usar semántica SDP del plan unificado de forma predeterminada".

Fase 3: cambiar el predeterminado

La fecha para el cambio fue M72 (beta diciembre de 2018, estable enero de 2019).

En esta fase, cambiamos el valor predeterminado de la bandera sdpSemantics a "plan unificado". Las aplicaciones que descubrieron que necesitaban más tiempo para realizar la conversión, establecieron el indicador sdpSemantics explícitamente en "plan-b" para recuperar el comportamiento anterior.

Fase 4: Lanzamiento del "Plan B"

En esta fase, establecer el indicador sdpSemantics en "plan-b" da como resultado una excepción. Ha estado lanzando en Canarias desde M93. A partir de M96, la excepción está lanzando tanto Canary como Beta. El plan es hacer que también incluya estable. Estamos monitoreando el uso del Plan B.

Durante esta fase, una prueba de obsolescencia está disponible que permite usar el Plan B sin el lanzamiento de una excepción. Esta prueba deja de funcionar el 29 de diciembre de 2021.

Fase 5: eliminar el "Plan B"

Una vez finalizada la prueba, el Plan B se eliminará de Chrome. En este punto, se eliminará el indicador sdpSemantics. Intentar establecerlo en "plan-b" no generará una excepción, pero ya no tendrá ningún efecto.

Preparación de su solicitud para el plan unificado

Para obtener información detallada sobre el Plan B y diferencias plan unificado y cómo puede ser necesario que su solicitud sea actualizada en preparación para el plan unificada, consulte el “Plan Unificado” Guía de transición (JavaScript)

Para aplicaciones nativas (C ++), consulte el documento “Migración de la aplicación nativa / móvil al plan unificado”