Google은 향후 몇 분기에 걸쳐 Chrome의 WebRTC 구현을 현재 SDP 형식('계획 B'라고 함)에서 표준 준수 형식('통합 계획', draft-ietf-rtcweb-jsep)으로 전환할 계획입니다.
이 계획에는 5단계와 일시적인 API 기능 1개가 포함됩니다.
영향을 받는 사용자
단일 PeerConnection에서 여러 오디오 트랙 또는 여러 동영상 트랙을 사용하는 사용자는 통합 계획에서 제품을 테스트하고 적절하게 조정해야 합니다. 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 형식인 경우 첫 번째 오디오 트랙과 첫 번째 동영상 트랙을 제외한 모든 트랙이 무시됩니다.
이 플래그의 기본값을 'unified-plan'으로 설정할 수 있는 명령줄 플래그(Chrome M71 이상에서는 –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 플래그의 기본값을 'unified-plan'으로 변경했습니다. 변환하는 데 시간이 더 필요하다고 판단한 애플리케이션은 이전 동작을 복구하기 위해 sdpSemantics 플래그를 'plan-b'로 명시적으로 설정했습니다.
4단계: 'Plan B' 실행
이 단계에서 sdpSemantics 플래그를 'plan-b'로 설정하면 예외가 발생합니다. M93부터 Canary에서 발생했습니다. M96부터 안정화 버전을 포함한 모든 채널에서 예외가 발생했습니다.
이 단계에서는 예외가 발생하지 않고 Plan B를 사용할 수 있는 지원 중단 체험판을 사용할 수 있었지만 2022년 5월 25일에 체험판이 작동하지 않게 되었습니다.
5단계: Chromium에서 'Plan B' 삭제
무료 체험이 종료되면 Plan B가 Chrome에서 삭제됩니다. 이 시점에서 sdpSemantics 플래그가 삭제됩니다. 'plan-b'로 설정하려고 하면 예외가 발생하지 않지만 더 이상 효과가 없습니다.
Plan B는 특수 플래그 또는 특수 빌드 뒤에서 계속 사용할 수 있지만 전체 코드 삭제는 2022년 하반기에 진행됩니다.
6단계: WebRTC에서 'Plan B' 지원 중단 및 삭제
Plan B는 이미 WebRTC에서 지원 중단됨으로 표시되었지만 계속 사용할 수 있습니다. 2023년에 삭제될 예정입니다.
통합 요금제 신청 준비
Plan B와 통합 계획의 차이점 및 통합 계획에 대비하여 애플리케이션을 업데이트해야 하는 방법에 관한 자세한 내용은 '통합 계획' 전환 가이드 (JavaScript)를 참고하세요.
네이티브 (C++) 애플리케이션의 경우 '네이티브/모바일 애플리케이션을 통합 계획으로 이전' 문서를 참고하세요.