WebRTC कॉन्फ़्रेंसिंग के संदर्भ में वर्चुअल मीडिया स्ट्रीम, मीडिया स्ट्रीम होती हैं. इन्हें सिलेक्टिव फ़ॉरवर्डिंग यूनिट (एसएफ़यू) जनरेट करती है, ताकि कई प्रतिभागियों के मीडिया को इकट्ठा करके डिस्ट्रिब्यूट किया जा सके. पीयर-टू-पीयर मीडिया स्ट्रीम में, बड़े कॉन्फ़्रेंस में कनेक्शन का एक जटिल मेश बन जाता है. हालांकि, वर्चुअल मीडिया स्ट्रीम में ऐसा नहीं होता. SFU को हर हिस्सा लेने वाले व्यक्ति से अलग-अलग मीडिया स्ट्रीम मिलती हैं. इसके बाद, वह सक्रिय या काम की स्ट्रीम को अन्य हिस्सा लेने वाले व्यक्तियों को भेजता है. साथ ही, उन्हें वर्चुअल मीडिया की आउटगोइंग स्ट्रीम के छोटे और निश्चित किए गए सेट पर मल्टिप्लेक्सिंग करता है.
इस तरीके से, मीटिंग में हिस्सा लेने वाले हर व्यक्ति को एक साथ आने वाली स्ट्रीम की संख्या कम हो जाती है. इससे प्रोसेसिंग और बैंडविड्थ की ज़रूरत कम हो जाती है. हर वर्चुअल स्ट्रीम में, एक बार में एक ही हिस्सा लेने वाले व्यक्ति का मीडिया शामिल हो सकता है. एसएफ़यू, स्पीकर की ऐक्टिविटी या वीडियो असाइनमेंट जैसे फ़ैक्टर के आधार पर, इसे डाइनैमिक तरीके से अडजस्ट करता है. मीटिंग में शामिल लोगों को ये वर्चुअल स्ट्रीम मिलती हैं. इससे उन्हें कॉन्फ़्रेंस का कंपोज़ किया गया व्यू दिखता है. उन्हें मीटिंग में शामिल हर व्यक्ति की स्ट्रीम को अलग-अलग मैनेज करने की ज़रूरत नहीं पड़ती. वर्चुअल मीडिया स्ट्रीम से मिलने वाला यह ऐब्स्ट्रैक्शन, WebRTC कॉन्फ़्रेंस को ज़्यादा लोगों तक पहुंचाने के लिए ज़रूरी है.
ऑडियो पाने के लिए, क्लाइंट को ऑडियो फ़ॉर्मैट में जानकारी देने वाले तीन मीडिया ऑफ़र करने होंगे. इससे तीन लोकल ऑडियो ट्रांससीवर बन जाएंगे. वीडियो पाने के लिए, क्लाइंट को वीडियो मीडिया के बारे में एक से तीन ब्यौरे देने होंगे. इससे वीडियो ट्रांससीवर की संख्या तय होगी.
रिसीवर
क्लाइंट के मालिकाना हक वाले हर ट्रांससीवर में एक डेडीकेटेड RtpReceiver और एक डेडीकेटेड "मीडिया ट्रैक" होता है. यह Meet सर्वर से ऑडियो आरटीपी स्ट्रीम पाता है.
हर ट्रैक का एक यूनीक आईडी होता है. साथ ही, उसे उस मीडिया सोर्स से आरटीपी पैकेट की अपनी अलग स्ट्रीम मिलती है. उदाहरण के लिए, ट्रैक A को production-1 से ऑडियो मिल सकता है, जबकि ट्रैक B को production-2 से ऑडियो मिल सकता है.
एसएससी
हर आरटीपी पैकेट में, सिंक्रनाइज़ेशन सोर्स (एसएसआरसी) हेडर वैल्यू होती है. इससे पैकेट को किसी खास ट्रैक से जोड़ा जाता है.
Meet के Media API के ज़रिए ऑडियो सेशन में, तीन अलग-अलग मीडिया स्ट्रीम का इस्तेमाल किया जाता है. हर स्ट्रीम का अपना स्टैटिक एसएसआरसी होता है. एसएसआरसी वैल्यू तय हो जाने के बाद, सेशन की अवधि के दौरान ये कभी नहीं बदलतीं.
वर्चुअल स्ट्रीम
Meet Media API, वर्चुअल मीडिया स्ट्रीम का इस्तेमाल करता है. ये पूरे सेशन के दौरान स्टैटिक रहते हैं. हालांकि, पैकेट का सोर्स बदलकर सबसे काम के फ़ीड को दिखाया जा सकता है. वर्चुअल मीडिया स्ट्रीम, ऑडियो और वीडियो के लिए एक जैसा काम करती हैं.
आरटीपी पैकेट हेडर में मौजूद योगदान देने वाला सोर्स (सीएसआरसी), आरटीपी पैकेट के असली सोर्स की पहचान करता है. मीटिंग में शामिल होने पर, Meet हर हिस्सा लेने वाले व्यक्ति को एक यूनीक सीएसआरसी असाइन करता है. यह वैल्यू तब तक नहीं बदलती, जब तक वे ऐप्लिकेशन इस्तेमाल करते हैं.
मीटिंग के दौरान Meet Media API सेशन में एसएसआरसी की संख्या एक जैसी रहती है. इसलिए, यहां तीन संभावित स्थितियां दी गई हैं:
एसएसआरसी की संख्या से ज़्यादा लोगों ने मीटिंग में हिस्सा लिया है:
Meet, तीन सबसे ज़्यादा आवाज़ करने वाले लोगों की आवाज़ को तीन एसएसआरसी पर ट्रांसमिट करता है. हर आरटीपी स्ट्रीम अपने अलग एसएसआरसी पर होती है. इसलिए, स्ट्रीम के बीच कोई इंटरमिक्सिंग नहीं होती है.
पहली इमेज. Meet, तीन SSRCs में सबसे ज़्यादा आवाज़ करने वाले तीन लोगों की आवाज़ को ट्रांसमिट करता है. अगर कॉन्फ़्रेंस में मौजूद कोई भी ओरिजनल स्ट्रीम, सबसे ज़्यादा आवाज़ वाली स्ट्रीम नहीं रहती है, तो Meet, एसएसआरसी बनाने वाले आरटीपी पैकेट को सबसे ज़्यादा आवाज़ वाली स्ट्रीम पर स्विच कर देता है.
दूसरी इमेज. Meet, आरटीपी पैकेट को सबसे ज़्यादा आवाज़ वाले नए व्यक्ति पर स्विच कर देता है. मीटिंग में शामिल लोगों की संख्या, तीन ऑडियो एसएसआरसी से कम है:
अगर कॉन्फ़्रेंस में स्ट्रीम की संख्या से ज़्यादा एसएसआरसी उपलब्ध हैं, तो Meet सभी उपलब्ध ऑडियो पैकेट को अपने यूनीक एसएसआरसी पर मैप करता है. इस्तेमाल नहीं किए गए सभी SSRCs अब भी तैयार हैं और उपलब्ध हैं. हालांकि, कोई भी आरटीपी पैकेट ट्रांसमिट नहीं किया जाता है.
तीसरी इमेज. Meet, ऑडियो के उपलब्ध पैकेट को अपने यूनीक एसएसआरसी से जोड़ता है. मीटिंग में शामिल लोगों की संख्या, तीन ऑडियो एसएसआरसी के बराबर है:
अगर मीटिंग में हिस्सा लेने वाले लोगों की संख्या और उपलब्ध एसएसआरसी की संख्या बराबर है, तो मीटिंग में हिस्सा लेने वाले हर व्यक्ति के मीडिया को एक खास एसएसआरसी पर मैप किया जाता है. ये मैपिंग तब तक बनी रहती हैं, जब तक यह खास स्थिति बनी रहती है.
चौथी इमेज. Meet, मीटिंग में हिस्सा लेने वाले हर व्यक्ति के मीडिया को एक खास एसएसआरसी से मैप करता है.