Google plant, die WebRTC-Implementierung von Chrome von der aktuelles SDP-Format („Tarif B“) in ein standardkonformes Format umwandeln („Einheitlicher Plan“, draft-ietf-rtcweb-jsep) für die nächsten Quartale.
Der Plan umfasst fünf Phasen und eine vorübergehende API-Funktion.
Wer ist betroffen?
Personen, die mehrere Audiotracks auf einem einzelnen verwenden PeerConnection muss sein Produkt im Rahmen des einheitlichen Plans testen und sich entsprechend anpassen. Wenn ein Anruf von einem Nicht-Chrome-Endpunkt initiiert wird und von Chrome geantwortet hat, muss sich das Angebot möglicherweise ändern. Personen, die detaillierte SDP-Analysen durchführen und die msid-Attribute berücksichtigen, Der Parsing-Code übernimmt das neue Format (a=msid). Die Details dazu, Änderungen erforderlich sind und wie sich die Änderungen an den Apps in der abhängig. Fast alle Anwendungen, die nur ein einziges Audiosystem verwenden, und ein einzelner Videotrack pro RTCPeerConnection ist von der Änderung nicht betroffen.
Die API-Funktion
Wir fügen der RTCPeerConnection von RTCPeerConnection eine neue Funktion hinzu:
enum SdpSemantics {
"plan-b",
"unified-plan"
};
partial dictionary RTCConfiguration {
SdpSemantics sdpSemantics;
}
Die RTCConfiguration kann an den Konstruktor eines RTCPeerConnection übergeben werden, und alle erstellten Angebote und Antworten werden im einheitlichen Plan erstellt. Bei Aufrufen von „setLocalDescription“ und „setRemoteDescription“ wird auch das SDP erwartet. Sie muss im einheitlichen Planformat vorliegen. im alten Chrome-Format, werden alle außer dem ersten und dem ersten Videotrack ignoriert.
Es gibt auch ein Befehlszeilen-Flag (–enable-features=RTCUnifiedPlanByDefault in Chrome M71 und höher, –enable-blink-features=RTCUnifiedPlanByDefault in früheren Versionen), mit der der Standardwert dieses Flags auf „Einheitlicher Plan“.
Die Phasen
Phase 1: Einheitlichen Plan implementieren
In dieser Phase wurde der einheitliche Plan entwickelt, der auf einer Testflagge steht. ist seit M65 verfügbar. Bis Phase 2 war es am sinnvollsten, Tests mit Chrome Canary durchzuführen. mit „–enable-blink-features=RTCUnifiedPlan“.
Phase 2: API-Funktion allgemein verfügbar machen
Veröffentlicht in M69 (Beta August 2018, stabile Version September 2018)
In dieser Phase war der Standardwert des sdpSemantics-Flags „plan-b“. In Phase 2: Personen mit Implementierungen, die vom SDP-Format abhängig waren, erwartet, dass sie Tests durchführen, um zu sehen, ob ihre Anwendungen funktionieren, wenn der einheitliche Tarif verfügbar ist. verwenden. Für Anwendungen, die Firefox unterstützen, erwarten wir, dass es sich hierbei Übung: Gehen Sie genauso vor wie bei Firefox.
Der Standardwert des Flags sdpSemantics kann in „chrome://flags“ geändert werden. suchen Sie nach der Funktion „WebRTC: Use Unified Plan SDP Semantics by default“.
Phase 3: Standardeinstellung ändern
Datum für die Umstellung war M72 (Betaversion im Dezember 2018, stabile Version Januar 2019).
In dieser Phase haben wir den Standardwert des Flags sdpSemantics in „Einheitlicher Plan“. Anwendungen, bei denen mehr Zeit benötigt wird, Konvertieren Sie das Flag „sdpSemantics“ explizit auf „plan-b“, früheren Verhaltens zu erkennen.
Phase 4: „Plan B“ wirft
In dieser Phase wird das sdpSemantics-Flag auf "plan-b" gesetzt. führt zu einer Ausnahme geworfen werden. Er wurde von M93 mit Canary geworfen. Ab M96 gilt die Ausnahme in allen Kanälen, auch in der stabilen Version.
In dieser Phase läuft ein Test zur Einstellung bei denen Plan B ohne Ausnahme ausgelöst wurde, der Testzeitraum funktioniert seit dem 25. Mai 2022 nicht mehr.
Phase 5: Entfernen von „Plan B“ aus Chromium
Nach Ablauf des Testzeitraums wird Plan B aus Chrome entfernt. An dieser Stelle wird das Flag sdpSemantics entfernt. Es wird versucht, den Plan auf „plan-b“ festzulegen wird nicht löst eine Ausnahme aus, die jedoch keine Wirkung mehr hat.
Plan B ist weiterhin verfügbar und steht dir mit Sonderflaggen oder Spezial-Builds zur Verfügung, Code wird im 2. Halbjahr 2022 entfernt.
Phase 6: „Plan B“ verwerfen und aus WebRTC entfernen
Tarif B ist in WebRTC bereits als veraltet markiert, ist aber weiterhin verfügbar. Die Inhalte werden voraussichtlich 2023 entfernt.
Anwendung für einheitlichen Plan vorbereiten
Hier finden Sie detaillierte Informationen zu den Unterschieden zwischen Tarif B und Unified Plan und dazu, wie Ihr Anwendung möglicherweise zur Vorbereitung auf den einheitlichen Plan aktualisiert werden, siehe Leitfaden zur Umstellung für den einheitlichen Plan (JavaScript)
Informationen zu nativen Anwendungen (C++) finden Sie im Artikel Native/mobile Anwendung zu Unified Plan migrieren.