Meet Media API में वर्चुअल मीडिया स्ट्रीम मैनेज करना

वेबआरटीसी कॉन्फ़्रेंसिंग के संदर्भ में, वर्चुअल मीडिया स्ट्रीम ऐसी मीडिया स्ट्रीम होती हैं जिन्हें सिलेक्टिव फ़ॉरवर्डिंग यूनिट (एसएफ़यू) जनरेट करती है. इनका मकसद, एक से ज़्यादा लोगों के मीडिया को इकट्ठा और डिस्ट्रिब्यूट करना होता है. वर्चुअल मीडिया स्ट्रीम, टॉपोलॉजी को आसान बनाती हैं. ये स्ट्रीम, डायरेक्ट पीयर-टू-पीयर मीडिया स्ट्रीम से अलग होती हैं. डायरेक्ट पीयर-टू-पीयर मीडिया स्ट्रीम, बड़ी कांफ़्रेंस में कनेक्शन का जटिल नेटवर्क बनाती हैं. SFU, मीटिंग में हिस्सा लेने वाले हर व्यक्ति से अलग-अलग मीडिया स्ट्रीम पाता है. साथ ही, वह चुनिंदा स्ट्रीम को दूसरे लोगों को फ़ॉरवर्ड करता है. इसके लिए, वह स्ट्रीम को आउटगोइंग वर्चुअल मीडिया स्ट्रीम के छोटे और तय किए गए सेट पर मल्टीप्लेक्स करता है.

इस तरीके से, मीटिंग में हिस्सा लेने वाले हर व्यक्ति को एक साथ आने वाली स्ट्रीम की संख्या कम मैनेज करनी पड़ती है. इससे प्रोसेसिंग और बैंडविड्थ की ज़रूरतें कम हो जाती हैं. हर वर्चुअल स्ट्रीम में, एक बार में एक व्यक्ति का मीडिया शामिल हो सकता है. स्पीकर की गतिविधि या वीडियो असाइनमेंट जैसे फ़ैक्टर के आधार पर, एसएफ़यू इसे डाइनैमिक तौर पर अडजस्ट करता है. मीटिंग में हिस्सा लेने वाले लोगों को ये वर्चुअल स्ट्रीम मिलती हैं. इससे उन्हें मीटिंग का एक बेहतरीन व्यू दिखता है. साथ ही, उन्हें हर व्यक्ति की अलग-अलग स्ट्रीम मैनेज करने की ज़रूरत नहीं पड़ती. वर्चुअल मीडिया स्ट्रीम की मदद से मिलने वाला यह एब्स्ट्रैक्शन, WebRTC कॉन्फ़्रेंस में बड़ी संख्या में लोगों को शामिल करने के लिए ज़रूरी है.

ऑडियो पाने के लिए, क्लाइंट को तीन ऑडियो मीडिया के ब्यौरे ऑफ़र करने होंगे. इसके लिए, तीन स्थानीय ऑडियो ट्रांसीवर बनाए जाएंगे. वीडियो पाने के लिए, क्लाइंट को एक से तीन वीडियो मीडिया डिस्क्रिप्शन देने होंगे. इससे, वीडियो ट्रांसीवर की संख्या तय होगी.

रिसीवर

क्लाइंट के मालिकाना हक वाले हर ट्रांसीवर में एक खास RtpReceiver और एक खास "मीडिया ट्रैक" होता है. इससे Meet के सर्वर से ऑडियो आरटीपी स्ट्रीम मिलती हैं.

हर ट्रैक का एक यूनीक आईडी होता है. साथ ही, उसे उस मीडिया सोर्स से आरटीपी पैकेट की अपनी अलग स्ट्रीम मिलती है. उदाहरण के लिए, ट्रैक A को production-1 से ऑडियो मिल सकता है, जबकि ट्रैक B को production-2 से ऑडियो मिल सकता है.

एसएसआरसी

हर आरटीपी पैकेट में सिंक्रोनाइज़ेशन सोर्स (एसएसआरसी) हेडर वैल्यू होती है, जो इसे किसी खास ट्रैक से जोड़ती है.

Meet के Media API की मदद से ऑडियो सेशन चलाने के लिए, तीन अलग-अलग मीडिया स्ट्रीम का इस्तेमाल किया जाता है. इनमें से हर स्ट्रीम का अपना स्टैटिक एसएसआरसी होता है. एक बार सेट होने के बाद, ये SSRC वैल्यू, पूरे सेशन के दौरान कभी नहीं बदलती हैं.

वर्चुअल स्ट्रीम

Meet Media API, वर्चुअल मीडिया स्ट्रीम का इस्तेमाल करता है. ये पैकेट, पूरे सेशन के दौरान एक जैसे रहते हैं. हालांकि, सबसे काम के फ़ीड दिखाने के लिए, पैकेट का सोर्स बदल सकता है. वर्चुअल मीडिया स्ट्रीम, ऑडियो और वीडियो के लिए एक जैसी काम करती हैं.

आरटीपी पैकेट के हेडर में मौजूद योगदान देने वाले सोर्स (CSRC) से, आरटीपी पैकेट के असल सोर्स की पहचान की जाती है. Meet, कॉन्फ़्रेंस में शामिल होने वाले हर व्यक्ति को एक यूनीक सीएसआरसी असाइन करता है. यह वैल्यू तब तक स्थिर रहती है, जब तक वे साइट छोड़ नहीं देते.

Meet Media API सेशन के दौरान, SSRC की संख्या में कोई बदलाव नहीं होता. इसलिए, यहां तीन संभावित स्थितियां दी गई हैं:

  1. उपलब्ध एसएसआरसी की तुलना में ज़्यादा लोग:

    Meet, तीन एसएसआरसी में उन तीन लोगों की आवाज़ को सबसे ज़्यादा तेज़ी से ट्रांसमिट करता है जिनकी आवाज़ सबसे ज़्यादा तेज़ होती है. हर आरटीपी स्ट्रीम का अपना एसएसआरसी होता है. इसलिए, स्ट्रीम आपस में नहीं मिलती हैं.

    Meet, तीन एसएसआरसी में उन तीन लोगों की आवाज़ को ट्रांसमिट करता है जिनकी आवाज़ सबसे ज़्यादा तेज़ होती है.
    पहली इमेज. Meet, तीन एसएसआरसी में उन तीन लोगों की आवाज़ को ट्रांसमिट करता है जिनकी आवाज़ सबसे ज़्यादा तेज़ होती है.

    अगर कॉन्फ़्रेंस में मौजूद किसी ओरिजनल स्ट्रीम की आवाज़ अब सबसे ज़्यादा नहीं है, तो Meet सबसे ज़्यादा आवाज़ वाले RTP पैकेट को SSRC में बदल देता है.

    Meet, आरटीपी पैकेट को उस व्यक्ति पर स्विच कर देता है जो सबसे ज़्यादा आवाज़ में बोल रहा है.
    दूसरी इमेज. Meet, आरटीपी पैकेट को उस व्यक्ति पर स्विच कर देता है जो सबसे ज़्यादा आवाज़ में बोल रहा है.
  2. सक्रिय उपयोगकर्ताओं की संख्या, ऑडियो के तीन एसएसआरसी से कम है:

    अगर कॉन्फ़्रेंस में स्ट्रीम की संख्या से ज़्यादा एसआरएससी उपलब्ध हैं, तो Meet उपलब्ध ऑडियो पैकेट को अपने यूनीक एसआरएससी पर मैप करता है. इस्तेमाल नहीं किए गए SSRC अब भी तैयार और उपलब्ध हैं, लेकिन कोई आरटीपी पैकेट ट्रांसमिट नहीं किया जाता.

    Meet, उपलब्ध ऑडियो पैकेट को अपने यूनीक एसएसआरसी से मैप करता है.
    तीसरी इमेज. Meet, उपलब्ध ऑडियो पैकेट को अपने यूनीक एसएसआरसी से मैप करता है.
  3. सक्रिय उपयोगकर्ताओं की संख्या, तीन ऑडियो एसएसआरसी के बराबर है:

    अगर मीटिंग में हिस्सा लेने वाले लोगों की संख्या और उपलब्ध एसएसआरसी की संख्या बराबर है, तो मीटिंग में हिस्सा लेने वाले हर व्यक्ति के मीडिया को किसी खास एसएसआरसी से मैप किया जाता है. ये मैपिंग तब तक बनी रहती हैं, जब तक यह खास स्थिति बनी रहती है.

    Meet, मीटिंग में हिस्सा लेने वाले हर व्यक्ति के मीडिया को एक खास एसएसआरसी से मैप करता है.
    चौथी इमेज. Meet, मीटिंग में हिस्सा लेने वाले हर व्यक्ति के मीडिया को एक खास एसएसआरसी से मैप करता है.