Meet Media API के बारे में खास जानकारी

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

उपयोग के उदाहरण

Google Cloud Console में रजिस्टर किए गए ऐप्लिकेशन, Meet के Media API का इस्तेमाल करके Meet कॉन्फ़्रेंस से कनेक्ट हो सकते हैं. इससे उन्हें ये काम करने में मदद मिलती है:

  • वीडियो स्ट्रीम देखना. उदाहरण के लिए:
    • मीटिंग में जनरेट हुई वीडियो स्ट्रीम को अपने एआई मॉडल में शामिल करें.
    • कस्टम रिकॉर्डिंग के लिए स्ट्रीम फ़िल्टर करें.
  • ऑडियो स्ट्रीम का इस्तेमाल करें. उदाहरण के लिए:
    • Gemini में सीधे तौर पर ऑडियो फ़ीड करें और मीटिंग के लिए एआई चैटबॉट बनाएं.
    • मीटिंग में जनरेट हुई ऑडियो स्ट्रीम को, ट्रांसक्रिप्ट बनाने वाली अपनी सेवा में भेजें
    • अलग-अलग भाषाओं में कैप्शन जनरेट करना.
    • कैप्चर किए गए ऑडियो से, मॉडल के ज़रिए जनरेट किए गए साइन लैंग्वेज फ़ीड बनाएं.
    • कॉन्फ़्रेंस से बैकग्राउंड और नॉइज़ी आर्टफ़ैक्ट हटाने के लिए, अपने हिसाब से डीनॉइज़र मॉडल बनाएं.
  • हिस्सा लेने वाले व्यक्ति का मेटाडेटा इस्तेमाल करना. उदाहरण के लिए:
    • यह पता लगाया जा सकता है कि कॉन्फ़्रेंस में कौन-कौन शामिल है. इससे बेहतर तरीके से इंटेलिजेंस और आंकड़ों का इस्तेमाल किया जा सकता है.

Meet Media API का लाइफ़साइकल

यहां दी गई इमेज में, Meet Media API के लाइफ़साइकल के बारे में बताया गया है:

  • Meet Media API बॉट, तीसरे पक्ष की वेबसाइट पर शामिल होने की कोशिश करता है.
    पहली इमेज. Meet Media API बॉट, तीसरे पक्ष की वेबसाइट पर शामिल होने की कोशिश करता है. अगर खाते में नाबालिगों के खाते मौजूद हैं, तो कनेक्शन अस्वीकार कर दिया जाता है.
  • क्रिप्ट की गई मीटिंग और वॉटरमार्क वाली मीटिंग.
    दूसरी इमेज. मीटिंग को एन्क्रिप्ट (सुरक्षित) किया जा सकता है और उसमें वॉटरमार्क जोड़ा जा सकता है. अगर किसी मीटिंग में एन्क्रिप्शन या वॉटरमार्क की सुविधा चालू है, तो Meet Media API को कनेक्ट नहीं किया जा सकता.
  • पक्का करें कि एडमिन की सेटिंग सही हो.
    तीसरी इमेज. पक्का करें कि एडमिन की सेटिंग सही हो.
  • Calendar में मीटिंग सेट अप करें.
    चौथी इमेज. Calendar में मीटिंग सेट अप करें. मीटिंग के होस्ट को Calendar की सेटिंग में जाकर, तीसरे पक्ष के ऐप्लिकेशन को अनुमति देनी होगी. ऐसा न करने पर, कनेक्शन का अनुरोध अस्वीकार कर दिया जाएगा.
  • कॉल के दौरान सेटिंग में बदलाव करना.
    पांचवीं इमेज. कॉल के दौरान सेटिंग में बदलाव किया गया हो. अगर होस्ट, कॉल के दौरान Meet Media API सेटिंग को बंद कर देता है, तो कनेक्शन बंद हो जाता है.
  • उपयोगकर्ता से जुड़ी मीटिंग के दौरान, अनुरोध करने वाले व्यक्ति का मौजूद रहना ज़रूरी है.
    छठी इमेज. अगर मीटिंग के मालिक के पास उपभोक्ता खाता (ऐसा खाता जिसका आखिरी हिस्सा @gmail.com से खत्म होता है) है, तो मीटिंग शुरू करने वाले व्यक्ति को मीटिंग में मौजूद रहना होगा, ताकि वह सहमति दे सके. ऐसा न होने पर, कनेक्शन अस्वीकार कर दिया जाएगा.
  • कनेक्शन बन गया है.
    सातवीं इमेज. कनेक्शन बन जाने के बाद, होस्ट, को-होस्ट या होस्ट के संगठन के किसी भी सदस्य को, लाइव स्ट्रीम शुरू करने का डायलॉग दिखता है.
  • कॉल के दौरान, कोई भी व्यक्ति Meet Media API को बंद कर सकता है.
    आठवीं इमेज. कॉल के दौरान, कोई भी व्यक्ति Meet Media API को बंद कर सकता है.

सहमति देने वाले व्यक्ति के लिए ज़रूरी शर्तें

Meet Media API वाले ऐप्लिकेशन को सिर्फ़ तब मीटिंग में शामिल होने की अनुमति मिलती है, जब कॉल में कोई ऐसा व्यक्ति मौजूद हो जिसे मीटिंग की ओर से सहमति देने की अनुमति हो.

Google Workspace की मीटिंग के लिए

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

उपभोक्ताओं के साथ होने वाली मीटिंग के लिए

Gmail खातों से बुलाई गई मीटिंग के लिए, मीटिंग शुरू करने वाले व्यक्ति को सहमति देनी होगी. इसके लिए, उसका मीटिंग में शामिल होना ज़रूरी है.

सामान्य शब्द

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

Google Meet REST API की तरह, Meet Media API क्लाइंट, एचटीटीपी पर संसाधनों का अनुरोध करने के बजाय, डेटा चैनलों पर सर्वर से संसाधनों का अनुरोध करते हैं.

हर संसाधन टाइप के लिए, एक अलग डेटा चैनल खोला जा सकता है. कनेक्शन खुलने के बाद, क्लाइंट चैनल पर अनुरोध भेज सकता है. संसाधन से जुड़े अपडेट, उसी चैनल पर भेजे जाएंगे.

योगदान देने वाला सोर्स (सीएसआरसी)

वर्चुअल मीडिया स्ट्रीम के साथ, यह नहीं माना जा सकता कि कोई मीडिया स्ट्रीम हमेशा एक ही उपयोगकर्ता की ओर इशारा करती है. हर आरटीपी पैकेट के हेडर में मौजूद सीएसआरसी वैल्यू से, पैकेट के असली सोर्स की पहचान होती है.

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

डेटा चैनल

WebRTC डेटा चैनल, ऑडियो और वीडियो स्ट्रीम से अलग किसी भी डेटा (टेक्स्ट, फ़ाइलें वगैरह) को शेयर करने की सुविधा देते हैं. डेटा चैनल, मीडिया स्ट्रीम की तरह ही कनेक्शन का इस्तेमाल करते हैं. इससे WebRTC ऐप्लिकेशन में डेटा एक्सचेंज को आसानी से जोड़ा जा सकता है.

इंटरैक्टिव कनेक्टिविटी इस्टैब्लिशमेंट (आईसीई)

यह कनेक्टिविटी बनाने का एक प्रोटोकॉल है. यह पीयर-टू-पीयर (पी2पी) नेटवर्किंग के ज़रिए, दो कंप्यूटरों के बीच कम्यूनिकेशन के सभी संभावित रास्ते ढूँढता है. इसके बाद, यह पक्का करता है कि आप कनेक्ट रहें.

मीडिया स्ट्रीम

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

मीडिया स्ट्रीम ट्रैक

इसमें आरटीपी पैकेट का एक ही यूनिडायरेक्शनल फ़्लो होता है. मीडिया स्ट्रीम ट्रैक, ऑडियो या वीडियो हो सकता है. हालांकि, दोनों नहीं हो सकते. दोनों दिशाओं में काम करने वाले सिक्योर रीयल-टाइम ट्रांसपोर्ट प्रोटोकॉल (एसआरटीपी) कनेक्शन में आम तौर पर दो मीडिया स्ट्रीम ट्रैक होते हैं. इनमें से एक ट्रैक, लोकल पीयर से रिमोट पीयर तक जाता है और दूसरा ट्रैक, रिमोट पीयर से लोकल पीयर तक आता है.

मीटिंग स्पेस

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

हिस्सा लेने वाला व्यक्ति

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

काम की स्ट्रीम

क्लाइंट के लिए, वर्चुअल ऑडियो स्ट्रीम और वर्चुअल वीडियो स्ट्रीम खोलने की सीमा तय की गई है.

ऐसा हो सकता है कि किसी कॉन्फ़्रेंस में शामिल होने वाले लोगों की संख्या, इस संख्या से ज़्यादा हो. इन स्थितियों में, Meet सर्वर "सबसे ज़्यादा काम के" माने जाने वाले लोगों की ऑडियो और वीडियो स्ट्रीम ट्रांसमिट करते हैं. मीटिंग में शामिल लोगों की दिलचस्पी का पता लगाने के लिए, कई बातों को ध्यान में रखा जाता है. जैसे, स्क्रीन शेयर करना और मीटिंग में शामिल किसी व्यक्ति ने हाल ही में कब बात की.

चुनिंदा फ़ॉरवर्डिंग यूनिट (एसएफ़यू)

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

सेशन डेस्क्रिप्शन प्रोटोकॉल (एसडीपी)

यह एक सिग्नलिंग मैकेनिज़्म है. इसका इस्तेमाल WebRTC, P2P कनेक्शन पर बातचीत करने के लिए करता है. RFC 8866 के तहत आता है.

एसडीपी जवाब

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

एसडीपी ऑफ़र

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

उदाहरण के लिए, किसी ऑफ़र में यह जानकारी हो सकती है कि ऑफ़र देने वाला व्यक्ति कितनी ऑडियो या वीडियो स्ट्रीम भेज रहा है या उसे कितनी स्ट्रीम मिल सकती हैं. साथ ही, यह भी बताया जा सकता है कि डेटा चैनल खोले जाने हैं या नहीं.

सिंक्रनाइज़ेशन सोर्स (एसएसआरसी)

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

RtpTransceiver

RFC 8829 में दी गई जानकारी के मुताबिक, ट्रांससीवर, पीयर-टू-पीयर सेशन में आरटीपी स्ट्रीम के आस-पास का ऐब्स्ट्रैक्शन होता है.

एसडीपी में, एक ट्रांससीवर को एक मीडिया ब्यौरे के साथ मैप किया जाता है और उसके बारे में बताया जाता है. ट्रांसीवर में RtpSender और RtpReceiver होता है.

आरटीपी दोतरफ़ा होता है. इसलिए, हर पीयर के पास एक ही आरटीपी कनेक्शन के लिए, अपना ट्रांससीवर इंस्टेंस होता है. लोकल पीयर के लिए, किसी दिए गए ट्रांसीवर का RtpSender, रिमोट पीयर में मौजूद किसी ट्रांसीवर के RtpReceiver पर मैप किया जाता है. इसका उल्टा भी सही है. रिमोट पीयर के एक ही ट्रांसीवर का RtpSender, लोकल पीयर के RtpReceiver पर मैप किया जाता है.

हर मीडिया ब्यौरे का अपना ट्रांससीवर होता है. इसलिए, कई आरटीपी स्ट्रीम वाले पीयर-टू-पीयर सेशन में, कई ट्रांससीवर होते हैं. साथ ही, हर पीयर के लिए कई RtpSenders और RtpReceiver होते हैं.

वर्चुअल मीडिया स्ट्रीम

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

  • Meet Media API क्लाइंट को डेवलप करने का तरीका जानने के लिए, शुरू करें में दिया गया तरीका अपनाएं.

  • Meet Media API के रेफ़रंस क्लाइंट का सैंपल सेट अप करने और उसे चलाने का तरीका जानने के लिए, C++ रेफ़रंस क्लाइंट के लिए क्विकस्टार्ट गाइड पढ़ें.

  • कॉन्सेप्ट के बारे में खास जानकारी पाने के लिए, Meet Media API के कॉन्सेप्ट देखें.

  • WebRTC के बारे में ज़्यादा जानने के लिए, WebRTC For The Curious लेख पढ़ें.

  • Google Workspace API का इस्तेमाल करके डेवलपमेंट करने के बारे में जानने के लिए, Google Workspace पर डेवलप करें लेख पढ़ें. इसमें पुष्टि करने और अनुमति देने की प्रोसेस को मैनेज करने के बारे में भी बताया गया है.