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