Google planuje przenieść implementację WebRTC w Chrome aktualny format SDP (nazywany „planem B”) zgodny ze standardami („Ujednolicony plan”, wersja robocza-ietf-rtcweb-jsep) przez kilka kolejnych kwartałów.
Plan obejmuje 5 etapów i 1 tymczasową funkcję interfejsu API.
Kogo to dotyczy
Osoby korzystające z wielu ścieżek audio lub wideo na jednej Usługa PeerConnection musi przetestować swoją usługę w ramach ujednoliconego planu i dostosować odpowiednio się zmienia. W przypadku inicjowania wywołania z punktu końcowego innego niż Chrome i w odpowiedzi na nią Chrome, forma oferty może się zmienić. Osoby, które: aby przeprowadzić szczegółową analizę SDP i zadbać o atrybuty msid, trzeba będzie sprawdzić, kod analizy pobierze nowy format (a=msid). Szczegóły na temat tego, konieczne będą zmiany i sposób wprowadzenia zmian w aplikacjach zależne. Uważamy, że prawie wszystkie aplikacje wykorzystujące tylko jeden plik dźwiękowy i 1 ścieżka wideo na RTCPeerConnection nie będą miały wpływu na tę zmianę.
Funkcja interfejsu API
Dodajemy 1 nową funkcję do konfiguracji RTCConfiguration protokołu RTCPeerConnection:
enum SdpSemantics {
"plan-b",
"unified-plan"
};
partial dictionary RTCConfiguration {
SdpSemantics sdpSemantics;
}
Wartość RTCConfiguration można przekazać do konstruktora połączenia RTCPeerConnection, a wszystkie oferty i odpowiedzi będą w formacie ujednoliconego planu. Wywołania setLocalDescription i setRemoteDescription będą też oczekiwać określone przez SDP. mieć format ujednoliconego planu; w starszym formacie Chrome, zostaną zignorowane wszystkie ścieżki audio oprócz pierwszej i pierwszej ścieżki wideo.
Dostępna jest też flaga wiersza poleceń (–enable-features=RTCUnifiedPlanByDefault w Chrome M71 i nowsze, –enable-blink-features=RTCUnifiedPlanByDefault w starszych wersji), który pozwala ustawić domyślną wartość tej flagi na „ujednolicony plan”.
Etapy
Etap 1. Wdrożenie ujednoliconego planu
Na tej fazie pracowaliśmy nad ujednoliconym planem, któremu towarzyszyła flaga eksperymentów. jest dostępna od wersji M65. Do etapu 2 najrozsądniejsze było testowanie Chrome Canary za pomocą parametru „–enable-blink-features=RTCUnifiedPlan”.
Etap 2. Udostępnij funkcję interfejsu API jako ogólnie dostępną
Wersja M69 (wersja beta: sierpień 2018 r., wersja stabilna: wrzesień 2018 r.)
Na tym etapie domyślna wartość flagi sdpSemantics to „plan-b”. W W ramach fazy 2 osoby korzystające z implementacji zależnej od formatu SDP przeprowadzić testy w celu sprawdzenia, czy ich aplikacje będą działać po wdrożeniu ujednoliconego planu i ich używanie. W przypadku aplikacji obsługujących przeglądarkę Firefox oczekujemy, że będzie to bardzo proste ćwiczenie: zrób jak w Firefoksie.
Domyślną wartość flagi sdpSemantics można zmienić na stronie „chrome://flags”. poszukaj funkcji „WebRTC: Use Unified Plan SDP Semantics domyślnie” (Używaj domyślnie ujednoliconej semantyki SDP).
Faza 3. Zmiana ustawień domyślnych
Data przejścia na wersję M72 to M72 (wersja beta: grudzień 2018 r., stabilny styczeń 2019 r.).
Na tym etapie zmieniliśmy domyślną wartość flagi sdpSemantics na „ujednolicony plan”. aplikacje, które potrzebują więcej czasu na , aby odzyskać dane, ustaw flagę sdpSemantics bezpośrednio na „plan-b” zachowanie w przeszłości.
Faza 4. Rzucaj „Plan B”
Na tym etapie można ustawić flagę sdpSemantics na „plan-b”. spowoduje wyjątek rzucane. Wprowadzamy ją w wersji Canary od wersji M93. Od wersji M96 wyjątek wrzucamy do tego wszystkie kanały, w tym kanał stabilny.
W tym fazie okres próbny wycofywania który pozwalał na wykorzystanie planu B bez wyjątku, ale okres próbny przestał działać 25 maja 2022 r.
Etap 5. Usuń „Plan B” z Chromium
Po zakończeniu okresu próbnego plan B zostanie usunięty z Chrome. W tym momencie flaga sdpSemantics zostanie usunięta. Próbuję ustawić „plan-b” nie będą zrobić wyjątek, ale nic to nie zmieni.
Plan B wciąż jest dostępny za specjalnymi flagami lub konstrukcjami specjalnymi, ale czyli w drugim półroczu 2022 r.
Etap 6. Wycofanie i usunięcie „planu B” z WebRTC
Plan B jest już oznaczony jako wycofany w WebRTC, ale nadal jest dostępny. Usunięcie powinno nastąpić w 2023 roku.
Przygotowanie aplikacji do ujednoliconego planu
Aby uzyskać szczegółowe informacje o różnicach między planem B a abonamentem ujednoliconym oraz o tym, jak może wymagać aktualizacji zgłoszenia w ramach przygotowań do Ujednoliconego planu, zapoznaj się z Przewodnik na temat przejścia na ujednolicony plan (JavaScript)
Informacje o aplikacjach natywnych (C++) znajdziesz w dokumencie „Migracja aplikacji natywnej/mobilnej do wersji ujednoliconej”.