WebRTC เป็นมาตรฐาน W3C และ IETF แล้ว

ภาพรวมคร่าวๆ เกี่ยวกับประวัติ สถาปัตยกรรม กรณีการใช้งาน และอนาคตของ WebRTC

ฮุบ ไคลน์เฮอร์
Huib Kleinhout

กระบวนการกำหนดมาตรฐานเว็บเป็นกระบวนการที่ใช้เวลานานเพื่อรับรองประโยชน์ ความสอดคล้อง และเข้ากันได้กับเบราว์เซอร์ต่างๆ วันนี้ W3C และ IETF ทำเครื่องหมายว่า WebRTC เป็นมาตรฐานของการทำงานมาตรฐานที่สำคัญที่สุดอย่างหนึ่งในช่วงการแพร่ระบาด

ประวัติ

WebRTC เป็นแพลตฟอร์มที่ทำให้เบราว์เซอร์ แอปบนอุปกรณ์เคลื่อนที่ และแอปเดสก์ท็อปมีความสามารถในการสื่อสารแบบเรียลไทม์ ซึ่งโดยทั่วไปจะใช้สำหรับวิดีโอคอล แพลตฟอร์มนี้ประกอบด้วยชุดเทคโนโลยีและมาตรฐานที่ครอบคลุม Google เริ่มต้นแนวคิดในการสร้าง WebRTC ในปี 2009 เพื่อเป็นอีกทางเลือกหนึ่งสำหรับ Adobe Flash และแอปพลิเคชันเดสก์ท็อปที่ทำงานในเบราว์เซอร์ไม่ได้ ผลิตภัณฑ์บนเบราว์เซอร์รุ่นก่อนหน้านี้สร้างขึ้นบนพื้นฐานของเทคโนโลยีที่เป็นกรรมสิทธิ์ที่ได้รับอนุญาต เทคโนโลยีนี้ สร้างขึ้นด้วยเทคโนโลยีหลายอย่าง รวมถึง Hangouts จากนั้น Google ได้เข้าซื้อบริษัทที่ขอใบอนุญาตเทคโนโลยี และทำให้พร้อมใช้งานเป็นโครงการ WebRTC แบบโอเพนซอร์ส Codebase นี้ผสานรวมอยู่ใน Chrome และใช้โดยแอปพลิเคชันส่วนใหญ่ที่ใช้ WebRTC เราได้ร่วมมือกับผู้ให้บริการเบราว์เซอร์และผู้นำในอุตสาหกรรมรายอื่น เช่น Mozilla, Microsoft, Cisco และ Ericsson เพื่อเริ่มมาตรฐานของ WebRTC ทั้งใน W3C และ IETF ในปี 2013 Mozilla และ Google ได้แสดงให้เห็นถึงการเรียกใช้วิดีโอ ระหว่างเบราว์เซอร์ต่างๆ กัน จากการพัฒนามาตรฐาน การพูดคุยเรื่องสถาปัตยกรรมมากมายนำไปสู่ความแตกต่างในการใช้งานเบราว์เซอร์ต่างๆ และขัดขวางความเข้ากันได้และความสามารถในการทำงานร่วมกัน ความขัดแย้งส่วนใหญ่เหล่านี้ได้รับการตัดสินในที่สุดเมื่อมาตรฐานสิ้นสุดลงในช่วงหลายปีที่ผ่านมา ตอนนี้ข้อกำหนด WebRTC มาพร้อมกับชุดการทดสอบแพลตฟอร์มเต็มรูปแบบและเครื่องมือเพื่อจัดการความเข้ากันได้ และเบราว์เซอร์ที่มีการปรับเปลี่ยนการติดตั้งใช้งานส่วนใหญ่ตามความเหมาะสม เหตุการณ์เช่นนี้ทำให้เขาต้องเผชิญกับช่วงเวลาอันยากลำบากที่นักพัฒนาเว็บต้องพัฒนาบริการของตนอย่างต่อเนื่อง ตามการใช้งานเบราว์เซอร์ต่างๆ และการเปลี่ยนแปลงข้อกำหนด

สถาปัตยกรรมและฟังก์ชันการทำงาน

RTCPeerConnection API เป็นส่วนหลักของข้อกำหนด WebRTC RTCPeerConnection จะจัดการกับการเชื่อมต่อ 2 แอปพลิเคชันในปลายทางที่ต่างกันเพื่อสื่อสารโดยใช้โปรโตคอลแบบเพียร์ทูเพียร์ PeerConnection API ทำงานอย่างใกล้ชิดกับ getUserMedia เพื่อ เข้าถึงกล้องและไมโครโฟน และ getDisplayMedia สำหรับ การบันทึกเนื้อหาบนหน้าจอ WebRTC อนุญาตให้คุณส่งและรับสตรีมที่มีเนื้อหาที่เป็นเสียงและ/หรือวิดีโอ รวมถึงข้อมูลไบนารีที่กำหนดเองผ่าน DataChannel ฟังก์ชันสื่อสำหรับการประมวลผล เข้ารหัส และถอดรหัสเสียงและวิดีโอเป็นหัวใจสำคัญของการใช้งาน WebRTC WebRTC รองรับตัวแปลงสัญญาณเสียงที่หลากหลาย โดยที่ Opus เป็นโซลูชันที่มีการใช้งานมากที่สุดและอเนกประสงค์ การใช้งาน WebRTC จำเป็นต้องรองรับทั้งตัวแปลงรหัสวิดีโอ VP8 แบบใช้งานฟรีของ Google และ H.264 สำหรับการประมวลผลวิดีโอ การเชื่อมต่อ WebRTC จะได้รับการเข้ารหัสเสมอ ซึ่งทำได้ผ่านโปรโตคอล 2 รายการที่มีอยู่คือ DTLS และ SRTP WebRTC ให้ความสำคัญกับมาตรฐานและเทคโนโลยีที่มีอยู่อย่างมาก ตั้งแต่ตัวแปลงสัญญาณวิดีโอ (VP8, H264), การส่งผ่านเครือข่าย (ICE), การขนส่ง (RTP, SCTP) ไปจนถึงโปรโตคอลคำอธิบายสื่อ (SDP) ซึ่งเชื่อมโยงกันใน RFC มากกว่า 50 รายการ

Use Case: เมื่อคำนึงถึงเวลาเป็นมิลลิวินาที

WebRTC มีการใช้อย่างแพร่หลายในแอปพลิเคชันที่ต้องใช้งานในช่วงเวลาสำคัญ เช่น การผ่าตัดระยะไกล การตรวจสอบระบบ และรีโมตคอนโทรลในรถยนต์ที่ทำงานด้วยตนเอง และการโทรด้วยเสียงหรือวิดีโอคอลที่สร้างบน UDP ซึ่งไม่สามารถบัฟเฟอร์ได้ บริการวิดีโอคอลบนเบราว์เซอร์เกือบทั้งหมดจากบริษัทต่างๆ เช่น Google, Facebook, Cisco, RingCentral และ Jitsi ใช้ WebRTC Google Stadia และ NVIDIA GeForce NOW ใช้ WebRTC เพื่อรับสตรีมเกมเพลย์จากระบบคลาวด์ไปยังเว็บเบราว์เซอร์โดยไม่รับรู้ความล่าช้า

การแพร่ระบาดของโควิด-19 ให้ความสำคัญกับประสิทธิภาพวิดีโอคอล

ในปีที่ผ่านมา WebRTC พบว่ามีการใช้งานใน Chrome เพิ่มขึ้น 100 เท่าเนื่องจากมีวิดีโอคอลจากภายในเบราว์เซอร์เพิ่มขึ้น เมื่อตระหนักว่าวิดีโอคอลได้กลายเป็นพื้นฐานในชีวิตของผู้คนจำนวนมากในช่วงการแพร่ระบาด ผู้ให้บริการเบราว์เซอร์จึงเริ่มเพิ่มประสิทธิภาพเทคโนโลยีที่วิดีโอคอลต้องใช้ สิ่งนี้มีความสำคัญมาก เนื่องจากพนักงานและนักเรียนเริ่มทำงานและเรียนที่บ้านกันมากขึ้น เนื่องจากต้องใช้ทรัพยากรในการประชุมจำนวนมาก และมีการใช้เอฟเฟกต์วิดีโอในการประชุมทางวิดีโอ ในปีที่ผ่านมา Chrome สามารถประหยัดแบตเตอรี่มากขึ้นถึง 30% สำหรับวิดีโอคอล พร้อมด้วยการเพิ่มประสิทธิภาพเพิ่มเติมสำหรับสถานการณ์การใช้งานจำนวนมาก Mozilla, Apple และ Microsoft ล้วนได้ทำการปรับปรุงอย่างมากในการใช้งาน WebRTC ในช่วงการแพร่ระบาด โดยเฉพาะเพื่อให้เป็นไปตามมาตรฐานอย่างเป็นทางการในปัจจุบัน

อนาคตของ WebRTC

แม้ว่า WebRTC จะเสร็จสมบูรณ์ตามมาตรฐาน W3C แล้ว แต่การปรับปรุงจะยังคงดำเนินต่อไป ตัวแปลงรหัสวิดีโอ AV1 ใหม่ ซึ่งประหยัดแบนด์วิดท์ได้ถึง 50% พร้อมให้ใช้งานใน WebRTC และเว็บเบราว์เซอร์แล้ว การปรับปรุงฐานของโค้ดโอเพนซอร์สอย่างต่อเนื่องจะช่วยลดความล่าช้าและปรับปรุงคุณภาพของวิดีโอที่สตรีมได้ WebRTC NV รวบรวมโครงการริเริ่มในการสร้าง API เสริมเพื่อรองรับ Use Case ใหม่ๆ โดยจะประกอบไปด้วยส่วนขยายที่ไปยัง API ที่มีอยู่เพื่อเพิ่มการควบคุมฟังก์ชันการทำงานที่มีอยู่ เช่น การเขียนโค้ดวิดีโอที่ปรับขนาดได้ รวมถึง API ที่ให้สิทธิ์เข้าถึงคอมโพเนนต์ระดับล่าง โซลูชันหลังนี้ช่วยให้นักพัฒนาเว็บมีความยืดหยุ่นมากขึ้นในการสร้างสรรค์นวัตกรรมด้วยการผสานรวมคอมโพเนนต์ WebAssembly แบบกำหนดเองที่มีประสิทธิภาพสูง ในส่วนของเครือข่าย 5G ที่กำลังเกิดขึ้นและความต้องการบริการแบบอินเทอร์แอกทีฟมากขึ้น เราคาดว่าในปีถัดไปจะมีการให้บริการเพิ่มขึ้นอย่างต่อเนื่องเมื่อเทียบกับ WebRTC