통합 요금제 SDP 형식 - 전환 계획

Google은 앞으로 몇 분기에 걸쳐 Chrome의 WebRTC 구현을 현재 SDP 형식('Plan B'라고 함)에서 표준 준수 형식('통합 계획', 초안 ietf-rtcweb-jsep)으로 전환할 계획입니다.

이 계획에는 5단계의 임시 API 기능이 포함됩니다.

영향을 받는 사용자

단일 ConnectionConnection에서 여러 오디오 트랙 또는 여러 동영상 트랙을 사용하는 사용자는 통합 계획에서 제품을 테스트하고 이에 따라 조정해야 합니다. Chrome 외의 엔드포인트에서 호출을 시작하고 Chrome에서 응답하는 경우 쿠폰의 형태를 변경해야 할 수 있습니다. 자세한 SDP 파싱 및 msid 속성에 관심이 있는 사용자는 파싱 코드가 새 형식 (a=msid)을 선택하는지 확인해야 합니다. 변경이 필요한지 여부 및 앱을 변경해야 하는 방법에 관한 세부정보는 애플리케이션에 따라 다릅니다. 단일 오디오와 RTCPeerConnection당 하나의 동영상 트랙만 사용하는 대부분의 애플리케이션은 이번 변경사항의 영향을 받지 않습니다.

API 기능

RTCPeerConnection의 RTCConfiguration에 새로운 기능 하나를 추가합니다.

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


partial dictionary RTCConfiguration {
   SdpSemantics sdpSemantics;
}

RTCConfiguration은 RTCPeerConnection 생성자에 전달할 수 있으며, 구성된 모든 쿠폰과 답변은 통합 계획 형식입니다. setLocalDescription 및 setRemoteDescription 호출도 SDP가 통합 계획 형식일 것으로 예상됩니다. 기존 Chrome 형식인 경우 첫 번째 오디오 트랙과 첫 번째 동영상 트랙을 제외한 모든 트랙이 무시됩니다.

이전 버전의 Chrome에서는 Chrome OS 71 이상에서는 –enable-features=RTCUnifiedPlanByDefault, –enable-blink-features=RTCUnifiedPlanByDefault는 물론 이 플래그의 기본값을 '통합 계획'으로 설정할 수 있는 명령줄 플래그도 있습니다.

단계

1단계: 통합 계획 구현

이 단계에서는 M65부터 사용할 수 있는 실험용 플래그 뒤에 통합 계획이 개발되었습니다. 2단계가 될 때까지 '–enable-blink-features=RTCUnifiedPlan'을 사용하여 Chrome Canary를 통해 테스트하는 것이 가장 현명했습니다.

2단계: API 기능 일반 안정화 버전 출시

M69 버전 (2018년 8월 베타, 2018년 9월 안정화 버전)

이 단계에서는 sdpSemantics 플래그의 기본값이 'plan-b'였습니다. 2단계에서는 SDP 형식에 종속된 구현이 있는 사용자가 통합 계획을 사용 중일 때 애플리케이션이 작동하는지 확인하기 위해 테스트를 실행해야 했습니다. Firefox를 지원하는 애플리케이션의 경우 Firefox에서와 마찬가지로 매우 간단한 연습을 할 수 있습니다.

sdpSemantics 플래그의 기본값은 'chrome://flags'에서 변경할 수 있습니다. 'WebRTC: 통합 통합 SDP 시맨틱스를 기본적으로 사용합니다' 기능을 찾습니다.

3단계: 기본값 전환하기

전환 날짜는 M72 (2018년 12월 베타, 2019년 1월 안정화)였습니다.

이 단계에서는 sdpSemantics 플래그의 기본값을 'un-plan'으로 변경했습니다. 이전 동작을 사용하려면 sdpSemantics 플래그를 명시적으로 'plan-b'로 설정하는 데 추가 시간이 필요하다는 사실을 발견했습니다.

4단계: '계획 B'를 발생하도록 만들기

이 단계에서 sdpSemantics 플래그를 "plan-b"로 설정하면 예외가 발생합니다. M93에서 Canary로 사용되었습니다. M96부터 공개 버전을 포함한 모든 채널에서 예외가 발생했습니다.

이 단계를 진행하는 동안 지원 중단 체험판은 예외 없이 요금제 B를 사용할 수 있었지만 2022년 5월 25일에 체험판이 중지되었습니다.

5단계: Chromium에서 '요금제 B' 삭제하기

체험판이 종료되면 요금제 B가 Chrome에서 삭제됩니다. 이 시점에서 sdpSemantics 플래그는 삭제됩니다. 'plan-b&quot'로 설정하려고 하면 예외가 발생하지 않지만 더 이상 적용되지 않습니다.

요금제 B는 특수 플래그 또는 특수 빌드 뒤에도 사용할 수 있지만 전체 코드는 2022년 후반기에 삭제될 예정입니다.

6단계: WebRTC에서 'Plan B' 지원 중단 및 삭제

요금제 B는 이미 WebRTC에서 지원 중단됨으로 표시되지만 아직 사용할 수 있습니다. 삭제는 2023년에 발생할 예정입니다.

통합 플랜 신청 준비

요금제 B와 통합 계획의 차이점과 통합 계획을 준비하기 위해 애플리케이션을 업데이트해야 하는 방법에 관한 자세한 내용은 '통합 계획' 전환 가이드 (자바스크립트)를 참고하세요.

네이티브 (C++) 애플리케이션의 경우 '네이티브/모바일 애플리케이션을 통합 계획으로 이전' 문서를 참고하세요.