গুগল মিট মিডিয়া এপিআই আপনাকে গুগল মিট কনফারেন্স থেকে রিয়েল-টাইম মিডিয়া অ্যাক্সেস করার সুযোগ দেয়। এটি বিভিন্ন ধরনের ব্যবহারের সুযোগ তৈরি করে, যেমন—অ্যাকশন আইটেম নথিভুক্ত করা, বর্তমান মিটিং সম্পর্কে রিয়েল-টাইম তথ্য দেওয়া, অথবা নতুন কোনো প্ল্যাটফর্মে অডিও ও ভিডিও স্ট্রিম করার মতো অ্যাপ তৈরি করা।
ব্যবহারের ক্ষেত্র
গুগল ক্লাউড কনসোলে নিবন্ধিত অ্যাপগুলি Meet Media API ব্যবহার করে Meet কনফারেন্সে সংযোগ করতে পারে, যা তাদের নিম্নলিখিত কাজগুলো করতে সক্ষম করে:
- ভিডিও স্ট্রিম উপভোগ করুন । উদাহরণস্বরূপ:
- Meet কনফারেন্সে তৈরি হওয়া ভিডিও স্ট্রিমগুলো আপনার নিজের AI মডেলে ফিড করুন।
- কাস্টম রেকর্ডিংয়ের জন্য স্ট্রিম ফিল্টার করুন।
- অডিও স্ট্রিম গ্রহণ করুন । উদাহরণস্বরূপ:
- সরাসরি জেমিনিতে অডিও ফিড করুন এবং আপনার নিজস্ব মিটিং এআই চ্যাটবট তৈরি করুন।
- Meet কনফারেন্সে তৈরি হওয়া অডিও স্ট্রিমগুলো আপনার নিজস্ব ট্রান্সক্রিপশন সার্ভিসে পাঠান।
- বিভিন্ন ভাষায় ক্যাপশন তৈরি করুন।
- ক্যাপচার করা অডিও থেকে মডেল-জেনারেটেড সাংকেতিক ভাষার ফিড তৈরি করুন।
- কনফারেন্স থেকে ব্যাকগ্রাউন্ড এবং নয়েজি আর্টিফ্যাক্ট দূর করতে আপনার নিজস্ব ডিনোইজার মডেল তৈরি করুন।
- অংশগ্রহণকারীর মেটাডেটা গ্রহণ করুন । উদাহরণস্বরূপ:
- সম্মেলনে কোন কোন অংশগ্রহণকারী আছেন তা শনাক্ত করুন, যা উন্নততর তথ্য ও বিশ্লেষণ প্রদানে সহায়তা করবে।
মিডিয়া এপিআই জীবনচক্রের সাথে পরিচিত হন
নিম্নলিখিত চিত্রগুলি মিট মিডিয়া এপিআই-এর জীবনচক্র দেখায়:

চিত্র ১. মিট মিডিয়া এপিআই বটটি তৃতীয় পক্ষের ওয়েবসাইটে যোগদানের চেষ্টা করে। অপ্রাপ্তবয়স্কদের অ্যাকাউন্ট উপস্থিত থাকলে সংযোগটি প্রত্যাখ্যাত হয়। 
চিত্র ২। মিটিংগুলোকে এনক্রিপ্টেড হিসেবে চিহ্নিত করা এবং সেগুলোতে ওয়াটারমার্ক থাকতে পারে। কোনো মিটিংয়ে এনক্রিপশন বা ওয়াটারমার্ক থাকলে Meet Media API-এর সাথে সংযোগ করা যায় না। 
চিত্র ৩। প্রশাসক সেটিংটি সঠিক আছে কিনা তা নিশ্চিত করুন। 
চিত্র ৪। ক্যালেন্ডারে মিটিংটি সেট আপ করুন। হোস্টকে ক্যালেন্ডার সেটিংসে থার্ড-পার্টি অ্যাপটিকে অনুমতি দিতে হবে, অন্যথায় সংযোগটি প্রত্যাখ্যাত হবে। 
চিত্র ৫. কল চলাকালীন সেটিং পরিবর্তন। যদি হোস্ট কল চলাকালীন Meet Media API সেটিংটি বন্ধ করার সিদ্ধান্ত নেন, তাহলে সংযোগটি বিচ্ছিন্ন হয়ে যায়। 
চিত্র ৬। যদি মিটিং মালিকের একটি কনজিউমার অ্যাকাউন্ট (যে অ্যাকাউন্টের শেষে @gmail.com থাকে) থাকে, তাহলে সম্মতি দেওয়ার জন্য মিটিং শুরুকারীকে অবশ্যই উপস্থিত থাকতে হবে, অন্যথায় সংযোগটি প্রত্যাখ্যান করা হবে। 
চিত্র ৭। সংযোগ স্থাপিত হয়ে গেলে, হোস্ট, কো-হোস্ট, বা হোস্টের একই সংস্থার যেকোনো অংশগ্রহণকারী সংযোগ শুরুর ডায়ালগটি দেখতে পান। 
চিত্র ৮। কল চলাকালীন যে কেউ Meet Media API বন্ধ করতে পারে।
সম্মতি প্রদানকারীর প্রয়োজনীয়তা
Meet Media API অ্যাপগুলিকে কোনো মিটিংয়ে তখনই যোগদানের অনুমতি দেওয়া হয়, যখন কলে এমন কেউ থাকেন যিনি মিটিংয়ের পক্ষ থেকে সম্মতি দেওয়ার জন্য অনুমোদিত।
গুগল ওয়ার্কস্পেস মিটিংয়ের জন্য
গুগল ওয়ার্কস্পেস মিটিংয়ে সম্মতি দেওয়ার জন্য, আপনাকে অবশ্যই মিটিংটির মালিক সংস্থার সদস্য হতে হবে। বেশিরভাগ ক্ষেত্রে, মিটিংয়ের মালিক এবং আয়োজক একই ব্যক্তি হন। যদি হোস্ট বা উদ্যোগী ব্যক্তি মিটিংয়ে উপস্থিত থাকেন এবং মিটিংটির মালিক সংস্থার সদস্য হন, তবে অগ্রাধিকার ভিত্তিতে তাদেরকেই মিটিং শুরুর ডায়ালগটি দেখানো হয়।
ভোক্তা সভাগুলির জন্য
জিমেইল অ্যাকাউন্ট দ্বারা আয়োজিত মিটিংয়ের ক্ষেত্রে, সম্মতি প্রদানের জন্য উদ্যোক্তাকে অবশ্যই মিটিংয়ে উপস্থিত থাকতে হবে।
সাধারণ পরিভাষা
- ক্লাউড প্রজেক্ট নম্বর
- একটি গুগল ক্লাউড প্রজেক্টের জন্য একটি অপরিবর্তনীয় জেনারেট করা
int64আইডেন্টিফায়ার। এই মানগুলি প্রতিটি নিবন্ধিত অ্যাপের জন্য গুগল ক্লাউড কনসোল দ্বারা জেনারেট করা হয়। - সম্মেলন
- মিটিং স্পেসের মধ্যে সার্ভার দ্বারা তৈরি একটি কলের দৃষ্টান্ত। ব্যবহারকারীরা সাধারণত এই পরিস্থিতিটিকে একটি একক মিটিং হিসেবে বিবেচনা করেন।
- সম্মেলন সম্পদ ডেটা চ্যানেল
Google Meet REST API-এর মতো HTTP-এর মাধ্যমে রিসোর্স অনুরোধ করার পরিবর্তে, Meet Media API ক্লায়েন্টরা ডেটা চ্যানেলের মাধ্যমে সার্ভার থেকে রিসোর্স অনুরোধ করে।
প্রতিটি রিসোর্স টাইপের জন্য একটি নির্দিষ্ট ডেটা চ্যানেল খোলা যেতে পারে। একবার খোলা হলে, ক্লায়েন্ট সেই চ্যানেলের মাধ্যমে অনুরোধ পাঠাতে পারে। রিসোর্স আপডেটগুলোও একই চ্যানেলের মাধ্যমে প্রেরণ করা হবে।
- অবদানকারী উৎস (CSRC)
ভার্চুয়াল মিডিয়া স্ট্রিমের ক্ষেত্রে, এটা ধরে নেওয়া যায় না যে একটি মিডিয়া স্ট্রিম সবসময় একই অংশগ্রহণকারীকে নির্দেশ করে। প্রতিটি RTP প্যাকেটের হেডারে থাকা CSRC ভ্যালুটি প্যাকেটটির প্রকৃত উৎস শনাক্ত করে।
Meet একটি কনফারেন্সে যোগদানের সময় প্রত্যেক অংশগ্রহণকারীকে একটি অনন্য CSRC মান প্রদান করে। তারা চলে না যাওয়া পর্যন্ত এই মান অপরিবর্তিত থাকে।
- ডেটা চ্যানেল
WebRTC ডেটা চ্যানেল অডিও এবং ভিডিও স্ট্রিম থেকে স্বাধীনভাবে যেকোনো ডেটা (টেক্সট, ফাইল ইত্যাদি) আদান-প্রদান করতে সক্ষম করে। ডেটা চ্যানেলগুলো মিডিয়া স্ট্রিমের মতোই একই সংযোগ ব্যবহার করে, যা WebRTC অ্যাপ্লিকেশনগুলোতে ডেটা আদান-প্রদান যুক্ত করার একটি কার্যকর উপায় প্রদান করে।
- ইন্টারেক্টিভ কানেক্টিভিটি এস্টাবলিশমেন্ট (ICE)
সংযোগ স্থাপনের একটি প্রোটোকল, যা পিয়ার-টু-পিয়ার (P2P) নেটওয়ার্কিংয়ের মাধ্যমে দুটি কম্পিউটারের একে অপরের সাথে যোগাযোগের জন্য সমস্ত সম্ভাব্য পথ খুঁজে বের করে এবং সংযোগটি বজায় রাখা নিশ্চিত করে।
- মিডিয়া স্ট্রিম
একটি WebRTC মিডিয়া স্ট্রিম হলো মিডিয়া ডেটার একটি প্রবাহ, যা সাধারণত অডিও বা ভিডিও হয়ে থাকে এবং ক্যামেরা বা মাইক্রোফোনের মতো কোনো ডিভাইস থেকে ধারণ করা হয়। এটি এক বা একাধিক মিডিয়া স্ট্রিম ট্র্যাক নিয়ে গঠিত, যার প্রতিটি মিডিয়ার একটি একক উৎসকে (যেমন একটি ভিডিও ট্র্যাক বা একটি অডিও ট্র্যাক) প্রতিনিধিত্ব করে।
- মিডিয়া স্ট্রিম ট্র্যাক
এটি আরটিপি (RTP) প্যাকেটের একটি একক, একমুখী প্রবাহ নিয়ে গঠিত। একটি মিডিয়া স্ট্রিম ট্র্যাক অডিও বা ভিডিও হতে পারে, কিন্তু উভয়ই একসাথে নয়। একটি দ্বিমুখী সিকিওর রিয়েল-টাইম ট্রান্সপোর্ট প্রোটোকল (SRTP) সংযোগে সাধারণত দুটি মিডিয়া স্ট্রিম ট্র্যাক থাকে: লোকাল পিয়ার থেকে রিমোট পিয়ারের দিকে নির্গমন এবং রিমোট পিয়ার থেকে লোকাল পিয়ারের দিকে প্রবেশ।
- মিটিং স্পেস
একটি ভার্চুয়াল স্থান বা স্থায়ী বস্তু (যেমন একটি মিটিং রুম) যেখানে একটি সম্মেলন অনুষ্ঠিত হয়। যেকোনো সময়ে একটি স্থানে কেবল একটি সক্রিয় সম্মেলনই অনুষ্ঠিত হতে পারে। একটি মিটিং স্পেস ব্যবহারকারীদের মিলিত হতে এবং সাধারণ রিসোর্স খুঁজে পেতেও সাহায্য করে।
- অংশগ্রহণকারী
একজন ব্যক্তি যিনি একটি কনফারেন্সে যোগদান করেছেন বা কম্প্যানিয়ন মোড ব্যবহার করছেন, দর্শক হিসেবে দেখছেন, অথবা কলের সাথে সংযুক্ত একটি রুম ডিভাইস ব্যবহার করছেন। যখন কোনো অংশগ্রহণকারী কনফারেন্সে যোগদান করেন, তখন তাকে একটি অনন্য আইডি বরাদ্দ করা হয়।
- প্রাসঙ্গিক ধারা
একজন ক্লায়েন্ট যতগুলো ভার্চুয়াল অডিও স্ট্রিম এবং ভার্চুয়াল ভিডিও স্ট্রিম খুলতে পারে, তার একটি সীমা রয়েছে।
একটি কনফারেন্সে অংশগ্রহণকারীর সংখ্যা এই সংখ্যাকে ছাড়িয়ে যাওয়া খুবই সম্ভব। এই পরিস্থিতিতে, Meet সার্ভারগুলো "সবচেয়ে প্রাসঙ্গিক" বলে বিবেচিত অংশগ্রহণকারীদের অডিও এবং ভিডিও স্ট্রিম প্রেরণ করে। প্রাসঙ্গিকতা বিভিন্ন বৈশিষ্ট্যের উপর ভিত্তি করে নির্ধারণ করা হয়, যেমন স্ক্রিন শেয়ারিং এবং একজন অংশগ্রহণকারী কত সম্প্রতি কথা বলেছেন।
- সিলেক্টিভ ফরোয়ার্ডিং ইউনিট (এসএফইউ)
সিলেক্টিভ ফরওয়ার্ডিং ইউনিট (SFU) হলো WebRTC কনফারেন্সিং-এর একটি সার্ভার-সাইড উপাদান যা মিডিয়া স্ট্রিম বিতরণ পরিচালনা করে। অংশগ্রহণকারীরা শুধুমাত্র SFU-এর সাথে সংযোগ স্থাপন করে, যা বেছে বেছে প্রাসঙ্গিক স্ট্রিমগুলো অন্যান্য অংশগ্রহণকারীদের কাছে ফরওয়ার্ড করে দেয়। এটি ক্লায়েন্টের প্রসেসিং এবং ব্যান্ডউইথের প্রয়োজনীয়তা হ্রাস করে, ফলে পরিবর্ধনযোগ্য কনফারেন্স সম্ভব হয়।
- সেশন বর্ণনা প্রোটোকল (এসডিপি)
P2P সংযোগ স্থাপনের জন্য WebRTC যে সিগন্যালিং পদ্ধতি ব্যবহার করে, তা
RFC 8866নিয়ন্ত্রিত হয়।- এসডিপি উত্তর
একটি SDP অফারের প্রতিক্রিয়া। এই উত্তরটি রিমোট পিয়ার থেকে প্রাপ্ত যেকোনো স্ট্রিমকে প্রত্যাখ্যান বা গ্রহণ করে। এটি অফারকারী পিয়ারের কাছে কোন স্ট্রিমগুলো ফেরত পাঠাবে, তা নিয়েও আলোচনা করে। এটি মনে রাখা গুরুত্বপূর্ণ যে, SDP উত্তরটি প্রাথমিক অফার থেকে সংকেত দেওয়া স্ট্রিমগুলো যোগ করতে পারে না। উদাহরণস্বরূপ, যদি কোনো অফারকারী পিয়ার তার রিমোট পিয়ারের কাছ থেকে সর্বোচ্চ তিনটি অডিও স্ট্রিম গ্রহণ করার সংকেত দেয়, তবে এই রিমোট পিয়ারটি প্রেরণের জন্য চারটি অডিও স্ট্রিমের সংকেত দিতে পারে না।
- এসডিপি অফার
অফার-উত্তর পিয়ার-টু-পিয়ার আলোচনা প্রক্রিয়ার প্রাথমিক SDP। অফারটি সূচনাকারী পিয়ার দ্বারা তৈরি করা হয় এবং এটি পিয়ার-টু-পিয়ার সেশনের শর্তাবলী নির্ধারণ করে। অফারটি সর্বদা Meet Media API ক্লায়েন্ট দ্বারা তৈরি করা হয় এবং Meet সার্ভারগুলিতে জমা দেওয়া হয়।
উদাহরণস্বরূপ, একটি অফারে উল্লেখ থাকতে পারে যে অফারকারী কতগুলো অডিও বা ভিডিও স্ট্রিম পাঠাচ্ছে (বা গ্রহণ করতে সক্ষম) এবং ডেটা চ্যানেল খোলা হবে কিনা।
- সিঙ্ক্রোনাইজেশন উৎস (SSRC)
এসএসআরসি (SSRC) হলো একটি ৩২-বিট শনাক্তকারী, যা একটি আরটিপি (রিয়েল-টাইম ট্রান্সপোর্ট প্রোটোকল) সেশনের মধ্যে কোনো মিডিয়া স্ট্রিমের একক উৎসকে অনন্যভাবে শনাক্ত করে। ওয়েবআরটিসি-তে (WebRTC), বিভিন্ন অংশগ্রহণকারীর থেকে আসা ভিন্ন ভিন্ন মিডিয়া স্ট্রিমের মধ্যে, এমনকি একই অংশগ্রহণকারীর ভিন্ন ভিন্ন ট্র্যাকের (যেমন ভিন্ন ভিন্ন ক্যামেরা) মধ্যে পার্থক্য করার জন্য এসএসআরসি ব্যবহৃত হয়।
- আরটিপি ট্রান্সসিভার
RFC 8829এ বিস্তারিতভাবে বলা হয়েছে যে, একটি ট্রান্সসিভার হলো পিয়ার-টু-পিয়ার সেশনে RTP স্ট্রিমগুলোর একটি অ্যাবস্ট্রাকশন।এসডিপি-তে একটি একক ট্রান্সসিভারকে একটি একক মিডিয়া ডেসক্রিপশনের সাথে ম্যাপ করা হয় এবং এর দ্বারা বর্ণনা করা হয়। একটি ট্রান্সসিভার একটি
RtpSenderএবং একটিRtpReceiverনিয়ে গঠিত।যেহেতু RTP দ্বিমুখী, তাই একই RTP সংযোগের জন্য প্রতিটি পিয়ারের নিজস্ব ট্রান্সসিভার ইনস্ট্যান্স থাকে। লোকাল পিয়ারের একটি নির্দিষ্ট ট্রান্সসিভারের
RtpSender, রিমোট পিয়ারের একটি নির্দিষ্ট ট্রান্সসিভারেরRtpReceiverএর সাথে ম্যাপ করা হয়। এর বিপরীতটিও সত্য। রিমোট পিয়ারের একই ট্রান্সসিভারেরRtpSender, লোকাল পিয়ারেরRtpReceiverএর সাথে ম্যাপ করা হয়।প্রতিটি মিডিয়া ডেসক্রিপশনের নিজস্ব ডেডিকেটেড ট্রান্সসিভার থাকে। তাই, একাধিক RTP স্ট্রিমযুক্ত একটি পিয়ার-টু-পিয়ার সেশনে প্রতিটি পিয়ারের জন্য একাধিক
RtpSendersএবংRtpReceiverসহ একাধিক ট্রান্সসিভার থাকে।- ভার্চুয়াল মিডিয়া স্ট্রিম
ভার্চুয়াল মিডিয়া স্ট্রিম হলো WebRTC কনফারেন্সে একটি সিলেক্টিভ ফরওয়ার্ডিং ইউনিট (SFU) দ্বারা তৈরি সমষ্টিগত মিডিয়া স্ট্রিম। প্রত্যেক অংশগ্রহণকারী অন্য সবার কাছে আলাদা আলাদা স্ট্রিম পাঠানোর পরিবর্তে, SFU নির্বাচিত অংশগ্রহণকারীদের স্ট্রিমগুলোকে মাল্টিপ্লেক্স করে কম সংখ্যক বহির্গামী ভার্চুয়াল স্ট্রিমে পরিণত করে। এটি সংযোগ টপোলজিকে সরল করে এবং অংশগ্রহণকারীদের উপর চাপ কমায়, যা পরিবর্ধনযোগ্য কনফারেন্সকে সম্ভব করে তোলে। প্রতিটি ভার্চুয়াল স্ট্রিমে একাধিক অংশগ্রহণকারীর মিডিয়া থাকতে পারে, যা SFU দ্বারা গতিশীলভাবে পরিচালিত হয়।
সম্পর্কিত বিষয়
মিট মিডিয়া এপিআই ক্লায়েন্ট তৈরি করা কীভাবে শুরু করবেন তা জানতে, ‘শুরু করুন’ অংশে দেওয়া ধাপগুলো অনুসরণ করুন।
একটি নমুনা Meet Media API রেফারেন্স ক্লায়েন্ট কীভাবে সেট আপ ও রান করতে হয় তা জানতে, C++ রেফারেন্স ক্লায়েন্ট কুইকস্টার্টটি পড়ুন।
একটি ধারণাগত সংক্ষিপ্ত বিবরণ পেতে, “Meet Media API concepts” দেখুন।
WebRTC সম্পর্কে আরও জানতে, WebRTC For The Curious দেখুন।
Google Workspace API ব্যবহার করে ডেভেলপ করা, যার মধ্যে অথেনটিকেশন এবং অথরাইজেশন পরিচালনাও অন্তর্ভুক্ত, সে সম্পর্কে জানতে Develop on Google Workspace দেখুন।