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

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

Huib Kleinhout
Huib Kleinhout

กระบวนการกำหนดมาตรฐานเว็บเป็นกระบวนการที่ใช้เวลานาน ซึ่งดูแลให้เกิดประโยชน์ ความสอดคล้อง และความสามารถในการทำงานร่วมกับเบราว์เซอร์ ปัจจุบัน 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 มาพร้อมกับชุดการทดสอบแพลตฟอร์มเต็มรูปแบบและเครื่องมือที่ใช้แก้ปัญหาความเข้ากันได้ และเบราว์เซอร์ต่างๆ ได้ปรับเปลี่ยนการใช้งานตามความเหมาะสม จุดนี้ก้าวเข้าสู่ช่วงเวลาที่ท้าทายซึ่งนักพัฒนาเว็บต้องนำบริการของตนมาใช้อย่างต่อเนื่องกับการใช้งานเบราว์เซอร์และการเปลี่ยนแปลงข้อกำหนดต่างๆ

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

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), Network Traversal (ICE), Transport (RTP, SCTP) ไปจนถึงโปรโตคอลรายละเอียดสื่อ (SDP) ซึ่งเชื่อมโยงเข้าด้วยกันใน RFC กว่า 50 รายการ

กรณีการใช้งาน: เมื่อใช้เวลาในหน่วยมิลลิวินาที

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

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

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

อนาคตของ WebRTC

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