前言
今年2月份,webrtc M89 的正式发布,在Release note 提出了一个重要更新,即废webrtc Plan B SDP 语义,推荐使用标准SDP格式:Unified Plan。WebRTC1.0 已经正式成为 W3C 标准,主流浏览器基本都支持UnifiedPlan SDP。Webrtc将于21年开始逐步废弃Plan B SDP,直到移除,后续时间计划如下:
M89 (2021.02):在开发者控制台增加废弃警告
M93 (2021.08): Plan B 被移除掉, 但是增加了选项,可以延长移除的截止日期
M96 (2022.01): Plan B 将彻底移除
那么,什么是Unified Plan,和Plan B有什么差异,会在什么场景下用到?我们今天来谈谈 SDP 以及 Unified Plan。
01 SDP介绍
在一些音视频多媒体交换方案中,比如点播HTTP-FLV、直播RTMP,由于音视频会话建立需要的信息都是确定的,他们有预先约定的音视频格式来支持音视频,建立会话的双方无需进行能力协商,但是这样会降低或者说没有充分发挥端到端的音视频能力。而一些松耦合多媒体通讯系统的建立过程中,对会话双方能力的描述,特别是对于媒体信息的描述是非常重要的,必须要有一种标准规范的形式来进行会话描述,这样才能保证会议创建者和参与者能够对一个会话描述有一致的认识,比如多媒体通讯系统的双方,都必须明确知道对方的媒体能力,例如,如何建立连接通道,采用何种编码格式,使用哪些RTP扩展,SDP(Session Description Protocol)就是这样一种会话描述协议。1998年4月在IETF RFC2327中定义了SDP标准,并随后在2006年7月出版的新的修订规范RFC4566作为RFC2327的更新。当前SDP被广泛用于SAP, RTSP, SIP等多媒体通讯协议中,包括webrtc也是以RFC4566(SDP)为基本蓝本,然后配合RFC3264关于offer/answer交互模式来进行媒体协商。