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 4 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 Chrome y Chrome responda, es posible que la forma de la oferta deba cambiar. 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, excepto la primera pista de audio y la primera pista 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

El Plan Unificado está actualmente desarrollado y la bandera para la experimentación ha estado disponible en M65. Hasta la fase 2, es mejor probar con Canary. Si ejecuta Chrome con "–enable-blink-features = RTCUnifiedPlan", tendrá acceso a la función "sdpSemantics" descrita anteriormente y podrá comenzar a realizar pruebas con Unified Plan.

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

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

En esta fase, el valor predeterminado de la bandera sdpSemantics es "plan-b". En la Fase 2, esperamos que las personas que tienen implementaciones que dependen del formato SDP realicen 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 del cambio se establecerá en consulta con los usuarios, después de realizar pruebas exhaustivas. Nuestro plan actual es M72 (beta en diciembre de 2018, estable en enero de 2019).

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

Como parte de las pruebas, esperamos intentar cambiar el valor predeterminado de la bandera en Canary varias veces durante el ciclo de desarrollo de M71 y M72.

Supervisaremos el uso de la bandera y la cantidad de SDP que se recibe con la semántica del “Plan B” para establecer la fecha para la fase 4.

Fase 4: eliminar el "plan B"

En esta fase, la marca sdpSemantics y todo el código para admitir el Plan B se eliminarán de Chrome. Establecer el indicador sdpSemantics no será un error, pero no tendrá ningún efecto.

Preparación de su solicitud para un plan unificado

Para obtener información detallada sobre las diferencias entre el Plan B y el Plan Unificado y cómo es posible que deba actualizar su solicitud para prepararse para el Plan Unificado, consulte la Guía de transición del “Plan Unificado” (JavaScript)

Para aplicaciones nativas (C ++), consulte el documento "Migración de su aplicación nativa / móvil a Unified Plan"