פורמט SDP של תוכנית מאוחדת – תוכנית מעבר

Google מתכננת להעביר את ההטמעה של Chrome ב-WebRTC מפורמט ה-SDP הנוכחי (שנקרא "תוכנית ב'") לפורמט התואם לסטנדרטים ("תוכנית אחידה",טיוטה-IEtf-rtcweb-jsep) בשני הרבעונים הבאים.

התוכנית כוללת 5 שלבים ותכונת API אחת זמנית.

מי יושפע מהשינוי

אנשים שמשתמשים במספר טראקים של אודיו או מספר טראקים של וידאו ב-PeerConnection צריכים לבדוק את המוצר שלהם במסגרת התוכנית המאוחדת, ולהתאים אותו לפי הצורך. במקרה שבו שיחה מתחילה מנקודת קצה שאינה Chrome ומענה עליה על ידי Chrome, ייתכן שצורת המבצע תשתנה. אנשים שעורכים ניתוח SDP מפורט ואכפת להם ממאפייני ה-msid יצטרכו לבדוק שקוד הניתוח שלהם מקבל את הפורמט החדש (a=msid). הפרטים לגבי שינוי אנחנו סבורים שכמעט כל האפליקציות שמשתמשות באודיו אחד בלבד ובטראק וידאו אחד לכל RTCPeerConnection לא יושפעו מהשינוי.

תכונת ה-API

אנחנו מוסיפים תכונה חדשה אחת ל-RTCConfiguration של RTCPeerConnection:

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


partial dictionary RTCConfiguration {
   SdpSemantics sdpSemantics;
}

ניתן להעביר את ה-RTCConfiguration ל-constructor של RTCPeerConnection, וכל המבצעים והתשובות שנוצרו יהיו בפורמט Unified התוכנית. קריאות ל-setLocalDescription ו-setRemoteDescription צפויות גם להיות בפורמט SDP בפורמט התוכנית המאוחדת. אם הפורמט הוא Chrome ישן, המערכת תתעלם מכל רצועת האודיו הראשונה וטראק הווידאו הראשון.

יש גם סימון של שורת פקודה (–enable-features=RTCUnifiedPlanByDefault ב-Chrome M71 ואילך, -enable-blink-features=RTCUnifiedPlanByDefault בגרסאות קודמות) שמאפשר להגדיר את ערך ברירת המחדל של הסימון כ-unified-plan.

השלבים

שלב 1: הטמעת תוכנית מאוחדת

בשלב זה, התוכנית המאוחדת פותחה מאחורי דגל של ניסוי זמין ב-M65. עד שלב 2, הייתה הבדיקה החכמה ביותר עם Chrome Canary באמצעות "—enable-blink-features=RTCUnifiedPlan".

שלב 2: להפוך את תכונת ה-API לזמינה באופן כללי

תאריך הפצה ב-M69 (בטא – אוגוסט 2018), יציבות בספטמבר 2018)

בשלב זה, ערך ברירת המחדל של ה-sdpSemantcs היה "plan-b". לגבי אפליקציות שתומכות ב-Firefox, אנחנו מצפים שהתרגיל הזה יהיה פשוט מאוד: בדיוק כמו שעושים ב-Firefox.

ניתן לשנות את ערך ברירת המחדל של הסימון sdpSemantcs ב-"chrome://flags". מחפשים את התכונה "WebRTC: שימוש בסמנטיקה של Unified התוכנית כברירת מחדל".

שלב 3: מחליפים את ברירת המחדל

תאריך המעבר היה M72 (בטא, דצמבר 2018, ינואר 2019).

בשלב זה, שינינו את ערך ברירת המחדל של הסימון sdpSemantcs ל"תוכנית אחידה". באפליקציות שגילו שנדרש זמן רב יותר כדי להמיר את סימון sdpSemantcs באופן מפורש ל-"plan-b" כדי לשחזר את ההתנהגות הקודמת.

שלב 4: מכינים את "תוכנית ב'"

בשלב זה, הגדרת הסימון sdpSemantcs כ-"plan-b" תוביל למקרים של חריגה מחריגה. הוא משליך אל קנרי מ-M93. נכון ל-M96, החריגה הייתה מופצת בכל הערוצים, כולל הערוץ היציב.

במהלך השלב הזה, היה זמין תקופת הוצאה משימוש שאפשרה להשתמש בתוכנית ב' ללא החריגה, אבל תקופת הניסיון הפסיקה לפעול ב-25 במאי 2022.

שלב 5: מסירים את "תוכנית ב'" מ-Chromium

כשתקופת הניסיון תסתיים, תוכנית ב' תוסר מ-Chrome. בשלב זה, סימון ה-sdpSemantcs יוסר. ניסיון להגדיר אותו כ-"plan-b" לא יגרור חריגה, אבל כבר לא תהיה לו השפעה.

תוכנית ב' עדיין זמינה מאחורי סימונים מיוחדים או גרסאות build מיוחדות, אבל הסרת הקוד המלאה תתאפשר ב-H2 2022.

שלב 6: מוציאים משימוש את "תוכנית ב'" ומסירים אותה מ-WebRTC

תוכנית ב' כבר מסומנת כהוצאה משימוש ב-WebRTC, אבל היא עדיין זמינה. ההסרה אמורה להתבצע בשנת 2023.

הכנת הבקשה שלך לתוכנית מאוחדת

לקבלת מידע מפורט על ההבדלים בין תוכנית ב' לבין התוכנית המאוחדת, ואיך ייתכן שיהיה צורך לעדכן את הבקשה כדי להתכונן לתוכנית המאוחדת, יש לעיין במדריך המעבר של "תוכנית מאוחדת" (JavaScript)

לאפליקציות מקוריות (C++), כדאי לעיין במסמך "העברת האפליקציה המקורית/לנייד שלך לתוכנית מאוחדת"