WebRTC के इतिहास, आर्किटेक्चर, इस्तेमाल के उदाहरणों, और आने वाले समय में होने वाले बदलावों के बारे में खास जानकारी.
वेब स्टैंडर्ड तय करने की प्रोसेस लंबी होती है. इससे यह पक्का किया जाता है कि सभी ब्राउज़र पर यह स्टैंडर्ड काम का, एक जैसा, और काम करता हो. आज W3C और IETF ने महामारी के दौरान, शायद सबसे अहम मानकों में से एक को पूरा किया है: WebRTC.
इतिहास
WebRTC एक ऐसा प्लैटफ़ॉर्म है जो ब्राउज़र, मोबाइल ऐप्लिकेशन, और डेस्कटॉप ऐप्लिकेशन को रीयल-टाइम कम्यूनिकेशन की सुविधा देता है. आम तौर पर, इसका इस्तेमाल वीडियो कॉल के लिए किया जाता है. इस प्लैटफ़ॉर्म में कई तरह की टेक्नोलॉजी और स्टैंडर्ड शामिल हैं. Google ने 2009 में WebRTC बनाने का विचार शुरू किया था. यह Adobe Flash और उन डेस्कटॉप ऐप्लिकेशन के लिए एक विकल्प था जो ब्राउज़र में नहीं चल सकते थे. ब्राउज़र पर काम करने वाले प्रॉडक्ट की पिछली जनरेशन, लाइसेंस वाली मालिकाना टेक्नोलॉजी पर आधारित थी. इस टेक्नोलॉजी की मदद से, Hangouts के साथ-साथ कई प्रॉडक्ट बनाए गए थे. इसके बाद, Google ने उन कंपनियों को खरीद लिया जिनसे उसने टेक्नोलॉजी का लाइसेंस लिया था. साथ ही, इसे ओपन सोर्स WebRTC प्रोजेक्ट के तौर पर उपलब्ध कराया. यह कोडबेस, Chrome में इंटिग्रेट किया गया है. साथ ही, WebRTC का इस्तेमाल करने वाले ज़्यादातर ऐप्लिकेशन इसका इस्तेमाल करते हैं. Mozilla, Microsoft, Cisco, और Ericsson जैसे ब्राउज़र वेंडर और इंडस्ट्री के लीडर के साथ मिलकर, W3C और आईईटीएफ़, दोनों में WebRTC को स्टैंडर्ड के तौर पर इस्तेमाल करने की प्रोसेस शुरू की गई. साल 2013 में, Mozilla और Google ने अपने ब्राउज़र के बीच वीडियो कॉल करने की सुविधा को प्रज़ेंट किया था. स्टैंडर्ड के विकास के दौरान, आर्किटेक्चर से जुड़ी कई बातचीत की वजह से, अलग-अलग ब्राउज़र पर लागू करने के तरीके अलग-अलग हो गए. साथ ही, इस बात पर भी सवाल उठे कि यह सुविधा सभी ब्राउज़र के साथ काम करेगी या नहीं. पिछले कुछ सालों में, इस स्टैंडर्ड को फ़ाइनल कर दिया गया है. इसलिए, इनमें से ज़्यादातर मतभेदों को सुलझा लिया गया है. WebRTC स्पेसिफ़िकेशन के साथ अब प्लैटफ़ॉर्म टेस्ट का पूरा सेट और काम करने से जुड़ी समस्याओं को हल करने के लिए टूल भी उपलब्ध हैं. साथ ही, ब्राउज़र ने अपने लागू होने के तरीके को इसी हिसाब से अडजस्ट कर लिया है. इससे, वेब डेवलपर के लिए एक मुश्किल दौर खत्म हो गया है. इस दौरान, उन्हें अलग-अलग ब्राउज़र के लागू होने और स्पेसिफ़िकेशन में होने वाले बदलावों के हिसाब से अपनी सेवाओं में लगातार बदलाव करने पड़ते थे.
आर्किटेक्चर और फ़ंक्शन
RTCPeerConnection
API, WebRTC स्पेसिफ़िकेशन का मुख्य हिस्सा है. RTCPeerConnection
, पीयर-टू-पीयर प्रोटोकॉल का इस्तेमाल करके, अलग-अलग एंडपॉइंट पर दो ऐप्लिकेशन को जोड़ता है. PeerConnection
एपीआई, कैमरे और माइक्रोफ़ोन को ऐक्सेस करने के लिए getUserMedia
और स्क्रीन कॉन्टेंट को कैप्चर करने के लिए getDisplayMedia
के साथ मिलकर काम करता है. WebRTC की मदद से, ऑडियो और/या वीडियो कॉन्टेंट के साथ-साथ DataChannel
के ज़रिए मनमुताबिक बाइनरी डेटा भी भेजा और पाया जा सकता है. ऑडियो और वीडियो को प्रोसेस करने, कोड में बदलने, और डिकोड करने के लिए मीडिया फ़ंक्शन, WebRTC को लागू करने का मुख्य हिस्सा होता है.
WebRTC में कई ऑडियो कोडेक काम करते हैं. इनमें Opus सबसे ज़्यादा इस्तेमाल किया जाने वाला और बेहतरीन ऑडियो कोडेक है. वीडियो प्रोसेस करने के लिए, Google के बिना किसी शुल्क के इस्तेमाल किए जा सकने वाले VP8 वीडियो कोडेक और H.264, दोनों के साथ काम करने के लिए, WebRTC को लागू करना ज़रूरी है. WebRTC कनेक्शन हमेशा एन्क्रिप्ट रहते हैं. ऐसा दो मौजूदा प्रोटोकॉल की मदद से किया जाता है: DTLS और SRTP. WebRTC, मौजूदा स्टैंडर्ड और टेक्नोलॉजी पर बहुत ज़्यादा निर्भर करता है. जैसे, वीडियो कोडेक (VP8, H264), नेटवर्क ट्रैवल (ICE), ट्रांसपोर्ट (आरटीपी, एससीटीपी), और मीडिया डिस्क्रिप्शन प्रोटोकॉल (एसडीपी). यह 50 से ज़्यादा आरएफ़सी में शामिल है.
इस्तेमाल के उदाहरण: जब मिलीसेकंड का फ़र्क़ हो
WebRTC का इस्तेमाल, ज़रूरी ऐप्लिकेशन में बड़े पैमाने पर किया जाता है. जैसे, रिमोट सर्जरी, सिस्टम मॉनिटरिंग, और ऑटोमेटेड कार का रिमोट कंट्रोल. साथ ही, UDP पर आधारित वॉइस या वीडियो कॉल में भी इसका इस्तेमाल किया जाता है, जहां बफ़रिंग की सुविधा उपलब्ध नहीं होती. Google, Facebook, Cisco, RingCentral, और Jitsi जैसी कंपनियों की, ब्राउज़र पर काम करने वाली वीडियो कॉलिंग की सेवाएं, WebRTC का इस्तेमाल करती हैं. Google Stadia और NVIDIA GeForce NOW, WebRTC का इस्तेमाल करके गेमप्ले की स्ट्रीम को क्लाउड से वेब ब्राउज़र पर तुरंत पहुंचाते हैं.
महामारी की वजह से, वीडियो कॉलिंग की परफ़ॉर्मेंस पर फ़ोकस
पिछले साल, ब्राउज़र में वीडियो कॉल करने की सुविधा का इस्तेमाल बढ़ने की वजह से, Chrome में WebRTC के इस्तेमाल में 100 गुना की बढ़ोतरी हुई है. महामारी के दौरान, वीडियो कॉलिंग कई लोगों के जीवन का अहम हिस्सा बन गई है. इस बात को ध्यान में रखते हुए, ब्राउज़र वेंडर उन टेक्नोलॉजी को ऑप्टिमाइज़ करने लगे हैं जिन पर वीडियो कॉलिंग निर्भर करती है. यह सुविधा इसलिए ज़रूरी थी, क्योंकि जब कर्मचारी और छात्र-छात्राएं घर से काम करने और पढ़ाई करने लगे, तब बड़ी मीटिंग में ज़्यादा संसाधनों की ज़रूरत पड़ने लगी. साथ ही, वीडियो मीटिंग में वीडियो इफ़ेक्ट का इस्तेमाल भी ज़्यादा होने लगा. पिछले साल, Chrome में वीडियो कॉल के लिए बैटरी खर्च करने की क्षमता 30% तक कम हो गई है. आने वाले समय में, ज़्यादा इस्तेमाल के मामलों में इसे और भी बेहतर बनाया जाएगा. महामारी के दौरान, Mozilla, Apple, और Microsoft ने WebRTC को लागू करने के तरीके में काफ़ी सुधार किए हैं. खास तौर पर, वे यह पक्का करने में जुटे हैं कि वे अब आधिकारिक तौर पर लागू किए गए स्टैंडर्ड का पालन करें.
WebRTC का भविष्य
WebRTC को अब W3C स्टैंडर्ड के तौर पर पूरा कर लिया गया है. हालांकि, इसमें सुधार जारी हैं. WebRTC और वेब ब्राउज़र में, नया वीडियो कोडेक AV1 उपलब्ध हो रहा है. यह बैंडविड्थ में 50% तक की बचत करता है. ओपन सोर्स कोड के आधार में लगातार सुधार किए जा रहे हैं. इससे, वीडियो के आने में होने वाली देरी को और कम किया जा सकेगा. साथ ही, स्ट्रीम किए जा सकने वाले वीडियो की क्वालिटी को भी बेहतर बनाया जा सकेगा. WebRTC NV, नए इस्तेमाल के उदाहरणों को चालू करने के लिए, सहायक एपीआई बनाने की पहल करता है. इनमें मौजूदा एपीआई के एक्सटेंशन शामिल हैं, ताकि स्केलेबल वीडियो कोडिंग जैसी मौजूदा सुविधाओं पर ज़्यादा कंट्रोल दिया जा सके. साथ ही, इनमें ऐसे एपीआई भी शामिल हैं जो लोअर-लेवल कॉम्पोनेंट का ऐक्सेस देते हैं. बाद वाले विकल्प से वेब डेवलपर को ज़्यादा सुविधा मिलती है. वे बेहतर परफ़ॉर्मेंस वाले कस्टम WebAssembly कॉम्पोनेंट को इंटिग्रेट करके, नए तरीके आज़मा सकते हैं. आने वाले समय में, 5G नेटवर्क और ज़्यादा इंटरैक्टिव सेवाओं की मांग बढ़ने की वजह से, हमें उम्मीद है कि WebRTC के ज़रिए काम करने वाली सेवाओं की संख्या में बढ़ोतरी होगी.