Google is committed to advancing racial equity for Black communities. See how.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Format Unified Plan SDP - plan przejścia

Google planuje w ciągu najbliższych kilku kwartałów przenieść implementację WebRTC przeglądarki Chrome z obecnego formatu SDP (zwanego „Planem B”) na format zgodny ze standardami („Plan ujednolicony”, draft-ietf-rtcweb-jsep).

Plan obejmuje 4 fazy i jedną przejściową funkcję API.

Kto będzie dotknięty

Osoby, które używają wielu ścieżek audio lub wielu ścieżek wideo na jednym PeerConnection, będą musiały przetestować swój produkt w ramach ujednoliconego planu i odpowiednio się dostosować. W przypadku, gdy połączenie jest inicjowane z punktu końcowego innego niż Chrome i odpowiada Chrome, forma oferty może ulec zmianie. Osoby, które wykonują szczegółową analizę SDP i dbają o atrybuty msid, będą musiały sprawdzić, czy ich kod parsujący wybiera nowy format (a = msid). Szczegółowe informacje na temat tego, czy zmiany będą potrzebne i jak aplikacje muszą się zmienić, będą zależne od aplikacji. Uważamy, że prawie wszystkie aplikacje, które używają tylko jednego dźwięku i jednej ścieżki wideo na RTCPeerConnection, pozostaną nienaruszone przez tę zmianę.

Funkcja API

Dodajemy jedną nową funkcję do RTCConfiguration RTCPeerConnection:

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


partial dictionary RTCConfiguration {
   SdpSemantics sdpSemantics;
}
 

RTCConfiguration może zostać przekazany do konstruktora RTCPeerConnection, a wszystkie skonstruowane oferty i odpowiedzi będą w formacie Unified Plan. Wywołania setLocalDescription i setRemoteDescription będą również oczekiwać, że SDP będzie w formacie Unified Plan; jeśli jest w starszym formacie Chrome, wszystkie ścieżki audio oprócz pierwszej i pierwszej ścieżki wideo zostaną zignorowane.

Istnieje również flaga wiersza poleceń (–enable-features = RTCUnifiedPlanByDefault w Chrome M71 i nowszych, –enable-blink-features = RTCUnifiedPlanByDefault we wcześniejszych wersjach), która umożliwia ustawienie domyślnej wartości tej flagi na „ujednolicony plan”.

Fazy

Faza 1: Wdrożenie ujednoliconego planu

Obecnie opracowywany jest ujednolicony plan, a flaga do eksperymentów jest dostępna z M65. Do fazy 2 najrozsądniej jest testować z Canary. Jeśli uruchomisz Chrome z opcją „–enable-blink-features = RTCUnifiedPlan”, będziesz mieć dostęp do funkcji „sdpSemantics” opisanej powyżej i możesz rozpocząć testowanie za pomocą ujednoliconego planu.

Faza 2: ogólna dostępność funkcji API

Wydany w M69 (wersja beta z sierpnia 2018, stabilna z września 2018)

W tej fazie domyślną wartością flagi sdpSemantics jest „plan-b”. W fazie 2 oczekujemy, że osoby, które mają implementacje zależne od formatu SDP, przeprowadzą testy, aby sprawdzić, czy ich aplikacje działają, gdy używany jest Unified Plan. W przypadku aplikacji obsługujących przeglądarkę Firefox spodziewamy się, że będzie to bardzo proste ćwiczenie: zrób tak, jak w przypadku przeglądarki Firefox.

Domyślną wartość flagi sdpSemantics można zmienić w „chrome: // flags”; poszukaj funkcji „WebRTC: Domyślnie używaj semantyki ujednoliconego planu SDP”.

Faza 3: Zmień ustawienie domyślne

Termin przełączenia zostanie ustalony w porozumieniu z użytkownikami, po szeroko zakrojonych testach. Nasz obecny plan to M72 (wersja beta grudzień 2018, stabilna styczeń 2019).

W tej fazie zmienimy domyślną wartość flagi sdpSemantics na „unified-plan”. Aplikacje, które odkryją, że potrzebują więcej czasu na konwersję, mogą jawnie ustawić flagę sdpSemantics na „plan-b”, aby przywrócić poprzednie zachowanie.

W ramach testowania spodziewamy się kilkukrotnej zmiany domyślnej wartości flagi w wersji Canary w trakcie cyklu rozwoju M71 i M72.

Będziemy monitorować użycie flagi i ilość otrzymywanego SDP z semantyką „Plan B”, aby ustalić datę fazy 4.

Faza 4: Usuń „plan B”

Na tym etapie flaga sdpSemantics i cały kod obsługujący Plan B zostaną usunięte z Chrome. Ustawienie flagi sdpSemantics nie będzie błędem, ale nie będzie miało żadnego efektu.

Przygotowanie wniosku o ujednolicony plan

Aby uzyskać szczegółowe informacje na temat różnic między Planem B i Planem ujednoliconym oraz tym, jak może być konieczna aktualizacja aplikacji w ramach przygotowań do planu ujednoliconego, zobacz Przewodnik przejścia „Plan ujednolicony” (JavaScript)

Informacje o aplikacjach natywnych (C ++) można znaleźć w dokumencie „Migracja aplikacji natywnej / mobilnej do ujednoliconego planu”