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功能

我們向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:默認使用統一計劃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”