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

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

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

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

रिसीवर

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

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

एसएसआरसी

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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