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

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

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

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

रिसीवर

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

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

एसएससी

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

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

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

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

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

मीटिंग के मीडिया एपीआई सेशन के दौरान, एसएसआरसी की संख्या एक जैसी रहती है. इसलिए, यहां तीन संभावित स्थितियां दी गई हैं:

  1. एसएसआरसी की संख्या से ज़्यादा लोगों को मीटिंग में शामिल किया गया है:

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

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

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

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

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

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

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

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