WebRTC अब W3C और IETF का स्टैंडर्ड वर्शन है

WebRTC के इतिहास, संरचना, इस्तेमाल के उदाहरणों, और आने वाले समय के बारे में खास जानकारी.

Huib Kleinhout
Huib Kleinhout

वेब मानक तय करने की प्रोसेस एक लंबी प्रक्रिया है. इससे यह पक्का किया जाता है कि सभी ब्राउज़र पर वेब स्टैंडर्ड की उपयोगिता, एक जैसा और एक जैसा हो. आज W3C और IETF ने महामारी के दौर में, सबसे अहम मानकों में से एक WebRTC को पूरा कर लिया है.

इतिहास

WebRTC एक ऐसा प्लैटफ़ॉर्म है जो ब्राउज़र, मोबाइल ऐप्लिकेशन, और डेस्कटॉप ऐप्लिकेशन के लिए, रीयल-टाइम में कम्यूनिकेशन करने की सुविधा देता है. इनका इस्तेमाल आम तौर पर, वीडियो कॉलिंग के लिए किया जाता है. इस प्लैटफ़ॉर्म में कई तरह की टेक्नोलॉजी और मानक हैं. Google ने Adobe Flash और डेस्कटॉप ऐप्लिकेशन के विकल्प के तौर पर, 2009 में WebRTC बनाने की शुरुआत की थी, जो ब्राउज़र पर नहीं चल सकते थे. ब्राउज़र पर आधारित प्रॉडक्ट की पिछली जनरेशन, लाइसेंस वाली मालिकाना हक वाली टेक्नोलॉजी के आधार पर बनाई गई थी. इस तकनीक की मदद से कई प्रॉडक्ट बनाए गए, जिनमें Hangouts शामिल हैं. इसके बाद Google ने उन कंपनियों को खरीद लिया जिनसे यह प्रौद्योगिकी का लाइसेंस लिया जा रहा था और उसे ओपन सोर्स WebRTC प्रोजेक्ट के रूप में उपलब्ध कराया गया. यह कोड बेस, Chrome में इंटिग्रेट किया जाता है और WebRTC का इस्तेमाल करने वाले ज़्यादातर ऐप्लिकेशन इसका इस्तेमाल करते हैं. दूसरे ब्राउज़र वेंडर के साथ-साथ Mozilla, Microsoft, Cisco, और Ericsson जैसे इंडस्ट्री लीडर के साथ, WebRTC को W3C और IETF, दोनों में मानक तय किया गया. 2013 में, Mozilla और Google ने अपने ब्राउज़र के बीच वीडियो कॉलिंग को दिखाया. स्टैंडर्ड के विकास के दौरान, कई आर्किटेक्चर पर होने वाली चर्चाओं की वजह से, अलग-अलग ब्राउज़र पर सुविधाओं को लागू करने में अंतर देखने को मिला. साथ ही, इस वर्शन के साथ काम करने और इंटरऑपरेबिलिटी (दूसरे सिस्टम के साथ काम करना) को भी चुनौती मिली. पिछले कुछ सालों में मानक तय होने के बाद, इनमें से ज़्यादातर सहमति को सुलझा लिया गया. WebRTC की विशेषताओं के साथ-साथ प्लैटफ़ॉर्म के सभी टेस्ट और टूल भी शामिल किए गए हैं, ताकि यह पता किया जा सके कि वे इस सुविधा के साथ काम कर सकते हैं या नहीं. साथ ही, ब्राउज़र ने इसको इस तरह से भी लागू किया है. इस वजह से, एक चुनौती भरी अवधि खत्म हो गई है. इस दौरान, वेब डेवलपर को ब्राउज़र को लागू करने और निर्देशों में बदलाव करने के लिए, लगातार अपनी सेवाओं को अपनाना पड़ा.

आर्किटेक्चर और फ़ंक्शन

RTCPeerConnection एपीआई, WebRTC के स्पेसिफ़िकेशन का मुख्य हिस्सा है. RTCPeerConnection, पीयर-टू-पीयर प्रोटोकॉल का इस्तेमाल करके कम्यूनिकेट करने के लिए, दो ऐप्लिकेशन को अलग-अलग एंडपॉइंट पर कनेक्ट करने का काम करता है. PeerConnection एपीआई, कैमरा और माइक्रोफ़ोन ऐक्सेस करने के लिए getUserMedia और स्क्रीन पर मौजूद कॉन्टेंट कैप्चर करने के लिए getDisplayMedia के साथ बारीकी से इंटरैक्ट करता है. WebRTC आपको ऐसी स्ट्रीम भेजने और पाने की अनुमति देता है जिनमें ऑडियो और/या वीडियो कॉन्टेंट के साथ-साथ, DataChannel के ज़रिए आर्बिट्रेरी बाइनरी डेटा भी शामिल होता है. ऑडियो और वीडियो को प्रोसेस करने, कोड में बदलने, और डिकोड करने की मीडिया सुविधा, WebRTC को लागू करने के सबसे अहम तरीके हैं. WebRTC कई तरह के ऑडियो कोडेक पर काम करता है. इनमें Opus का इस्तेमाल सबसे ज़्यादा किया जाता है और कई तरह के काम करते हैं. वीडियो प्रोसेस करने के लिए, WebRTC लागू करने की ज़रूरत है, ताकि Google के मुफ़्त में इस्तेमाल किए जाने वाले VP8 वीडियो कोडेक और H.264 दोनों की सुविधाओं का इस्तेमाल किया जा सके. WebRTC कनेक्शन हमेशा एन्क्रिप्ट किए जाते हैं, जो दो मौजूदा प्रोटोकॉल से किया जाता है: DTLS और SRTP. WebRTC मौजूदा मानकों और टेक्नोलॉजी पर ज़्यादा निर्भर करता है. इनमें वीडियो कोडेक (VP8, H264), नेटवर्क ट्रेवर्सल (ICE), ट्रांसपोर्ट (आरटीपी, SCTP) से लेकर मीडिया की जानकारी वाले प्रोटोकॉल (SDP) तक, सभी तरह के स्टैंडर्ड और टेक्नोलॉजी शामिल हैं. इसे 50 से ज़्यादा आरएफ़सी में एक साथ जोड़ा जाता है.

इस्तेमाल के उदाहरण: जब मिलीसेकंड की हो

WebRTC का इस्तेमाल, समय के हिसाब से बहुत ज़रूरी ऐप्लिकेशन में किया जाता है. जैसे, रिमोट सर्जरी, सिस्टम मॉनिटरिंग, और ऑटोनोमस कारों के रिमोट कंट्रोल के साथ-साथ, यूडीपी पर वॉइस या वीडियो कॉल करने के लिए भी जहां बफ़र करना संभव नहीं है. Google, Facebook, Cisco, RingCentral, और Jitsi जैसी कंपनियों की तकरीबन सभी ब्राउज़र आधारित वीडियो कॉलिंग सेवाएं, WebRTC का इस्तेमाल करती हैं. Google Stadia और NVIDIA GeForce NOW, WebRTC का इस्तेमाल करके, गेमप्ले की स्ट्रीमिंग को क्लाउड से वेब ब्राउज़र पर ले जाते हैं. साथ ही, इस प्रोसेस में कोई देरी नहीं होती है.

महामारी से, वीडियो कॉलिंग की परफ़ॉर्मेंस पर फ़ोकस होता है

पिछले साल, ब्राउज़र से वीडियो कॉल करने की सुविधा में बढ़ोतरी की वजह से, WebRTC का इस्तेमाल करने में Chrome का इस्तेमाल 100 गुना बढ़ गया है. यह मानते हुए कि महामारी के दौरान वीडियो कॉलिंग, कई लोगों की ज़िंदगी का अहम हिस्सा बन गई है, ब्राउज़र वेंडर ने उन टेक्नोलॉजी को ऑप्टिमाइज़ करना शुरू कर दिया है जिन पर वीडियो कॉलिंग निर्भर करती है. यह खास तौर पर अहम था, क्योंकि वीडियो मीटिंग में बड़ी मीटिंग और वीडियो इफ़ेक्ट की ज़रूरत होने वाले संसाधन आम तौर पर तब सामने आते हैं, जब कर्मचारी और छात्र-छात्राएं घर से काम करना और पढ़ाई करना शुरू करते हैं. पिछले साल, Chrome में वीडियो कॉल करने के लिए, बैटरी 30% तक ज़्यादा इस्तेमाल की जा चुकी है. साथ ही, ज़्यादा बैटरी इस्तेमाल करने के मामलों में, और ऑप्टिमाइज़ेशन किए जाने हैं. Mozilla, Apple, और Microsoft ने महामारी के दौरान, WebRTC को लागू करने की प्रोसेस में अहम सुधार किए. खास तौर पर, उन्होंने यह पक्का किया है कि वे अब फ़ॉर्मल स्टैंडर्ड का पालन करते हैं.

WebRTC का भविष्य

जबकि WebRTC को अब W3C मानक के रूप में पूरा कर लिया गया है, फिर भी सुधार जारी हैं. नया वीडियो कोडेक AV1 50% तक बैंडविथ सेव करता है. यह WebRTC और वेब ब्राउज़र में उपलब्ध हो रहा है. ओपन सोर्स कोड बेस में लगातार सुधार होने से, देरी में और कम समय लग सकता है. साथ ही, स्ट्रीम किए जा सकने वाले वीडियो की क्वालिटी में सुधार हो सकता है. WebRTC NV ज़रूरी एपीआई बनाने के लिए इस पहल को इकट्ठा करता है, ताकि इस्तेमाल के नए उदाहरणों को चालू किया जा सके. इनमें मौजूदा फ़ंक्शन पर ज़्यादा कंट्रोल देने के लिए, मौजूदा एपीआई के एक्सटेंशन शामिल हैं. जैसे, स्केलेबल वीडियो कोडिंग और लोअर-लेवल कॉम्पोनेंट का ऐक्सेस देने वाले एपीआई. बाद वाला मॉडल, वेब डेवलपर को बेहतर परफ़ॉर्मेंस देने वाले कस्टम WebAssembly कॉम्पोनेंट को इंटिग्रेट करने की सुविधा देता है. उभरते हुए 5G नेटवर्क और ज़्यादा इंटरैक्टिव सेवाओं की मांग को देखते हुए, हमें उम्मीद है कि आने वाले साल में भी WebRTC के ऊपर सेवाओं का दायरा लगातार बढ़ जाएगा.