Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Унифицированный план формата SDP - план перехода

Google планирует перевести реализацию Chrome WebRTC с текущего формата SDP (называемого «План B») на формат, соответствующий стандартам («Единый план», draft-ietf-rtcweb-jsep), в течение следующих нескольких кварталов.

План включает в себя 4 этапа и одну переходную функцию API.

Кто будет затронут

Люди, которые используют несколько аудиодорожек или несколько видеодорожек в одном PeerConnection, должны будут протестировать свой продукт в соответствии с Унифицированным планом и соответствующим образом адаптироваться. В случае, если вызов инициируется из конечной точки не Chrome и на него отвечает Chrome, форма предложения может измениться. Люди, которые проводят подробный анализ SDP и заботятся о атрибутах msid, должны будут проверить, что их код синтаксического анализа принимает новый формат (a = msid). Подробная информация о том, будут ли необходимы изменения и как нужно изменять приложения, будет зависеть от приложения. Мы думаем, что почти все приложения, которые используют только один аудио и одну видео дорожку на RTCPeerConnection, не будут затронуты этим изменением.

Функция API

Мы добавляем одну новую функцию в RTCConfiguration RTCPeerConnection:

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


partial dictionary RTCConfiguration {
   SdpSemantics sdpSemantics;
}
 

Конфигурация RTCC может быть передана в конструктор RTCPeerConnection, и все построенные предложения и ответы будут в формате единого плана. Вызовы setLocalDescription и setRemoteDescription также ожидают, что SDP будет в формате Unified Plan; если он в устаревшем формате Chrome, то все, кроме первой звуковой дорожки и первой видео дорожки, будут игнорироваться.

Также имеется флаг командной строки (–enable-features = RTCUnifiedPlanByDefault в Chrome M71 и более поздних версиях, –enable-blink-features = RTCUnifiedPlanByDefault в более ранних версиях), который позволяет установить значение по умолчанию для этого флага «unified-plan».

Фазы

Этап 1: Реализация единого плана

Унифицированный план в настоящее время разрабатывается, и флаг для экспериментов был доступен от M65. До фазы 2 лучше всего тестировать на Канарских островах. Если вы запустите Chrome с параметром –enable-blink-features = RTCUnifiedPlan, вы получите доступ к описанной выше функции «sdpSemantics» и сможете начать тестирование с использованием Unified Plan.

Этап 2: сделать функцию API общедоступной

Выпущен в M69 (бета, август 2018, стабильный сентябрь 2018)

На этом этапе значением по умолчанию флага sdpSemantics является «план-b». На втором этапе мы ожидаем, что люди, у которых есть реализации, зависящие от формата SDP, будут запускать тесты, чтобы увидеть, работают ли их приложения, когда используется Unified Plan. Для приложений, которые поддерживают Firefox, мы ожидаем, что это будет очень простое упражнение: просто сделайте так, как вы бы сделали для Firefox.

Значение по умолчанию флага sdpSemantics можно изменить в «chrome: // flags»; поищите функцию «WebRTC: по умолчанию использовать семантику SDP Unified Plan».

Этап 3: переключение по умолчанию

Дата переключения будет установлена ​​после консультаций с пользователями после всестороннего тестирования. Наш текущий план - M72 (бета, декабрь 2018 года, стабильный январь 2019 года).

На этом этапе мы изменим значение по умолчанию флага sdpSemantics на «унифицированный план». Приложения, которые обнаруживают, что им нужно больше времени для преобразования, могут явно установить флаг sdpSemantics в значение «plan-b», чтобы восстановить предыдущее поведение.

В рамках тестирования мы планируем несколько раз изменить значение флага по умолчанию на Canary в течение цикла разработки M71 и M72.

Мы будем следить за использованием флага и количеством SDP, получаемых с семантикой «План B», чтобы установить дату для фазы 4.

Этап 4: удалить «план Б»

На этом этапе флаг sdpSemantics и весь код для поддержки плана B будут удалены из Chrome. Установка флага sdpSemantics не будет ошибкой, но не будет иметь никакого эффекта.

Подготовка заявки на единый план

Подробную информацию о различиях между Планом B и Единым планом, а также о том, как может потребоваться обновление вашего приложения при подготовке к Единому плану, см. В руководстве по переходу «Единый план» (JavaScript)

Для собственных (C ++) приложений см. Документ «Перенос собственного / мобильного приложения в Unified Plan».