WebRTC הוא עכשיו תקן W3C ו-IETF

סקירה קצרה על ההיסטוריה, הארכיטקטורה, מקרי השימוש והעתיד של WebRTC.

הואיב קליינהאוט
הויב קליינהאוט

תהליך ההגדרה של תקן אינטרנט הוא תהליך ארוך שמבטיח תועלת, עקביות ותאימות בין הדפדפנים. כיום, ה-W3C וה-IETF מציינים את השלמת אחד מהתקנים החשובים ביותר במהלך המגפה: WebRTC.

היסטוריה

WebRTC היא פלטפורמה שמאפשרת לדפדפנים, אפליקציות לנייד ואפליקציות למחשב יכולות תקשורת בזמן אמת, שמשמשות בדרך כלל לשיחות וידאו. הפלטפורמה כוללת מערך מקיף של טכנולוגיות וסטנדרטים. Google יזמה את הרעיון ליצירת WebRTC ב-2009, כחלופה ל-Adobe Flash וליישומי שולחן עבודה שלא יכולים לפעול בדפדפן. הדור הקודם של מוצרים מבוססי-דפדפן נבנה על גבי טכנולוגיה קניינית מורשית. מוצרים שונים נבנו באמצעות הטכנולוגיה הזו, כולל Hangouts. לאחר מכן, Google רכשה את החברות שמהן רכשה רישיונות לטכנולוגיה, והפכה אותה לזמינה כפרויקט WebRTC בקוד פתוח. בסיס הקוד הזה משולב ב-Chrome ומשמש את רוב האפליקציות שמשתמשות ב-WebRTC. יחד עם ספקי דפדפנים אחרים ומובילים בתחום כמו Mozilla, Microsoft, Cisco ו-Ericsson, החלה התקינה של WebRTC ב-W3C וב-IETF. ב-2013, Mozilla ו-Google הראו שיחות וידאו בין הדפדפנים שלהן. במהלך הפיתוח של התקן, הרבה דיונים בנושא ארכיטקטורה הובילו להבדלים בהטמעה בדפדפנים שונים, ואתגרו את התאימות ואת יכולת הפעולה ההדדית. רוב המחלוקות האלה הוכרעו בסופו של דבר, כשהתקן הפך לסופי בשנים האחרונות. המפרט של WebRTC כולל עכשיו קבוצה מלאה של בדיקות פלטפורמות וכלים לטיפול בתאימות, והדפדפנים התאימו במידה רבה את ההטמעות שלהם בהתאם. בתקופה המאתגרת הזו מסתיימת התקופה המאתגרת שבה מפתחי אתרים נאלצו לאמץ את השירותים שלהם באופן קבוע בהטמעות שונות של דפדפנים ובמפרטים שונים.

ארכיטקטורה ופונקציונליות

ה-API של RTCPeerConnection הוא החלק המרכזי במפרט של WebRTC. המאמר RTCPeerConnection מטפל בחיבור שתי אפליקציות בנקודות קצה שונות כדי לתקשר באמצעות פרוטוקול מקצה לקצה (P2P). ה-API PeerConnection מקיים אינטראקציה הדוקה עם getUserMedia בקשר לגישה למצלמה ולמיקרופון, ועם getDisplayMedia לצילום תוכן במסך. WebRTC מאפשר לשלוח ולקבל שידורים שכוללים תוכן אודיו ו/או וידאו, וגם נתונים בינאריים שרירותיים דרך DataChannel. פונקציונליות המדיה לעיבוד, לקידוד ולפענוח של אודיו ווידאו היא הבסיס לכל הטמעה של WebRTC. WebRTC תומך בקודקי אודיו שונים, ו-Opus הוא הכלי הנפוץ ביותר ורב-השימושי. הטמעות של WebRTC נדרשות לתמוך גם בקודק הווידאו VP8 החינמי של Google וגם ב-H.264 לעיבוד סרטונים. חיבורי WebRTC תמיד מוצפנים, דרך שני פרוטוקולים קיימים: DTLS ו-SRTP. WebRTC נסמך בעיקר על תקנים וטכנולוגיות קיימים, מקודקי וידאו (VP8, H264), מעבר רשת (ICE), העברה (RTP, SCTP) ופרוטוקולים לתיאור מדיה (SDP). הנתונים האלה קשורים זה לזה ביותר מ-50 RFC.

תרחישים לדוגמה: כשהעניין הוא של אלפיות שנייה

השימוש ב-WebRTC בשימוש נרחב באפליקציות קריטיות כמו ניתוח מרחוק, ניטור מערכת ושליטה מרחוק במכוניות אוטונומיות, ושיחות קוליות או שיחות וידאו שמבוססות על UDP שבהן לא ניתן לאחסן במאגר נתונים זמני. כמעט כל שירותי שיחות הווידאו מבוססי-הדפדפן של חברות כמו Google, Facebook, Cisco, RingCentral ו-Jitsi משתמשים ב-WebRTC. Google Stadia ו-NVIDIA GeForce NOW משתמשים ב-WebRTC כדי להעביר את הסטרימינג של הגיימפליי מהענן לדפדפן האינטרנט ללא עיכוב ניכר.

מגפה שמה דגש על הביצועים של שיחות וידאו

בשנה האחרונה הייתה עלייה של פי 100 בשימוש ב-WebRTC ב-Chrome כתוצאה מעלייה בשיחות הווידאו מתוך הדפדפן. לאור ההכרה בכך ששיחות וידאו הפכו לחלק מהותי בחייהם של אנשים רבים במהלך המגפה, ספקי דפדפנים התחילו לשפר את הטכנולוגיות ששיחות הווידאו תלויות בהן. הדבר היה חשוב במיוחד כאשר פגישות גדולות צורכות משאבים ואפקטים בווידאו בפגישות וידאו הפכו להיות נפוצים יותר כשהעובדים והתלמידים התחילו לעבוד וללמוד מהבית. בשנה האחרונה Chrome הפך לידידותי יותר לסוללה ב-30% יותר עבור שיחות וידאו, ובקרוב נוסיף עוד אופטימיזציות לתרחישי שימוש כבדים. Mozilla, Apple ו-Microsoft שיפרו באופן משמעותי את ההטמעה של WebRTC בתקופת המגפה, ובמיוחד כדי לוודא שהן פועלות בהתאם לתקן הרשמי הנוכחי.

העתיד של WebRTC

WebRTC הושלם כתקן W3C, אבל השיפורים ממשיכים. קודק הווידאו החדש AV1, שחוסך עד 50% מרוחב הפס, הופך לזמין ב-WebRTC ובדפדפני אינטרנט. שיפורים נוספים בבסיס של קוד הקוד הפתוח צפויים לצמצם עוד יותר את העיכובים ולשפר את איכות הסרטונים שניתן לשדר. ב-WebRTC NV נאסף היוזמה ליצירת ממשקי API משלימים כדי להפעיל תרחישים חדשים לדוגמה. הגרסאות האלה כוללות תוספים לממשקי API קיימים, שנועדו לתת לכם יותר שליטה על פונקציונליות קיימת כמו Scalable Video Coding, כמו גם ממשקי API שנותנים גישה לרכיבים ברמה נמוכה יותר. באמצעות הממשק השני, מפתחי אתרים יכולים לחדש על ידי שילוב רכיבי WebAssembly מותאמים אישית בעלי ביצועים גבוהים. לאור רשתות 5G המתפתחות והביקוש לשירותים אינטראקטיביים יותר, אנחנו צופים עלייה מתמשכת בשירותים שנוספים ל-WebRTC במהלך השנה.