Google 致力于为黑人社区推动种族平等。查看具体行动
此页面由 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功能

我们向RTCPeerConnection的RTCConfiguration添加了一项新功能:

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


partial dictionary RTCConfiguration {
   SdpSemantics sdpSemantics;
}
 

可以将RTCConfiguration传递给RTCPeerConnection的构造函数,并且构造的所有要约和答案将采用统一计划格式。对setLocalDescription和setRemoteDescription的调用也将期望SDP为统一计划格式。如果采用的是旧版Chrome格式,则除第一个音频轨道和第一个视频轨道以外的所有内容都将被忽略。

还有一个命令行标志(在Chrome M71及更高版本中为–enable-features = RTCUnifiedPlanByDefault,在较早版本中为–enable-blink-features = RTCUnifiedPlanByDefault),允许将该标志的默认值设置为“统一计划”。

阶段

阶段1:实施统一计划

目前正在开发统一计划,并且M65可以提供进行试验的标记。在第2阶段之前,最好与Canary进行测试。如果您使用“ -enable-blink-features = RTCUnifiedPlan”运行Chrome,则可以使用上述“ sdpSemantics”功能,并可以开始使用Unified Plan进行测试。

阶段2:使API功能普遍可用

在M69中发布(2018年8月测试版,2018年9月稳定版)

在此阶段,sdpSemantics标志的默认值为“ plan-b”。在第2阶段中,我们希望具有依赖于SDP格式的实现的人员运行测试,以查看他们的应用程序在使用Unified Plan时是否正常运行。对于支持Firefox的应用程序,我们希望这是一个非常简单的练习:就像执行Firefox一样。

可以在“ chrome:// flags”中更改sdpSemantics标志的默认值;查找功能“ WebRTC:默认情况下使用Unified Plan SDP语义”。

阶段3:切换默认值

经过大量测试后,转换日期将与用户协商确定。我们目前的计划是M72(2018年12月测试版,2019年1月稳定)。

在此阶段,我们将sdpSemantics标志的默认值更改为“ unified-plan”。发现需要更多时间进行转换的应用程序可以将sdpSemantics标志显式设置为“ plan-b”,以恢复以前的行为。

作为测试的一部分,我们希望尝试在M71和M72的开发周期中多次更改Canary中标志的默认值。

我们将监视标志的用法以及使用“计划B”语义接收的SDP数量,以便为阶段4设置日期。

阶段4:删除“计划B”

在此阶段,将从Chrome中删除sdpSemantics标志和所有支持Plan B的代码。设置sdpSemantics标志不会有错误,但不会产生任何效果。

为统一计划准备您的应用程序

有关计划B和统一计划差异以及如何为准备统一计划而更新应用程序的详细信息,请参阅“统一计划”过渡指南(JavaScript)

对于本机(C ++)应用程序,请参阅文档“将本机/移动应用程序迁移到Unified Plan”