مدیریت تخصیص ویدئو در Meet Media API، مدیریت تخصیص ویدئو در Meet Media API، مدیریت تخصیص ویدئو در Meet Media API
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
پس از اتصال به یک کنفرانس ، هر صدای درخواستی بلافاصله ارسال و در دسترس است. با این حال، برای دریافت ویدیو، مشتری باید ابتدا بومهایی را برای هر جریان ویدیویی تعریف کند.
بومها به Meet کمک میکنند تا بفهمد مشتری شما چگونه جریان ویدیویی را مصرف میکند، وضوح آن را بر حسب پیکسل (مثلاً ۱۲۸۰ × ۷۲۰)، فریم در ثانیه (FPS) مشخص میکند و پروتکل تخصیص را انتخاب میکند. پروتکل تخصیص مشخص میکند که Meet چگونه باید جریانهای ویدیویی را انتخاب کند، وقتی تعداد شرکتکنندگان بیشتر از SSRC باشد.
درخواستهای اختصاص ویدیو
برای دریافت ویدیو، مشتریان ابتدا درخواستتخصیص ویدیو را از طریق کانال داده VideoAssignment ارسال میکنند و بومهایی را برای جریانهای ویدیویی مورد مذاکره تعریف میکنند.
شکل 1. درخواست تخصیص ویدیو را از طریق کانال داده اختصاص ویدیو ارسال کنید.
هنگامی که Meet درخواست را دریافت کرد، بر اساس عواملی مانند :
آیا شرکت کننده صحبت می کند؟
آیا شرکت کننده ارائه می دهد؟
آیا اشتراکگذاری صفحه نمایش شرکتکننده؟
سپس، Meet «مرتبطترین» شرکتکنندگان را به SSRCهای ویدیویی موجود نقشهبرداری میکند و شروع به انتقال ویدیو میکند و تا حد امکان با پارامترهای بوم مطابقت دارد.
اگر تعداد شرکتکنندگان در کنفرانس از تعداد SSRCها بیشتر شود، Meet به مرور زمان جریانها را جایگزین میکند تا با مرتبطترین شرکتکنندگان مطابقت داشته باشد.
شکل 2. سرورهای Meet درخواست ها را دریافت کرده و جریان های ویدئویی را اختصاص می دهند.
پس از اینکه Meet درخواست تخصیص ویدیو را اعمال کرد، بهروزرسانی منبع را در کانال داده VideoAssignment ارسال میکند. این به روز رسانی شامل نگاشت SSRC-to-canvas است. با استفاده از این نگاشت، مشتریان می توانند وضوح و FPS جریان ویدئو را برای هر SSRC شناسایی کنند. برعکس، مشتری می داند که هنگام جستجوی وضوح و FPS خاص از کدام SSRC استفاده کند.
شکل 3. به روز رسانی منبع را از طریق کانال داده تخصیص ویدئو ارسال کنید.
ملاحظات
Meet درباره ارتباط بین SSRC و canvas تصمیم می گیرد. مشتری این را در درخواست مشخص نمی کند.
Meet به طور قطعی SSRC ها را اختصاص نمی دهد. به عنوان مثال، اولین SSRC را «مرتبط ترین» شرکت کننده فرض نکنید.
مشتریان نباید بیش از آنچه نیاز دارند، درخواست حل کنند. به عنوان مثال، زمانی که مدل شما فقط از 480p استفاده می کند، ویدیوی 1080p درخواست نکنید.
تطبیق وضوح دقیق ممکن است همیشه امکان پذیر نباشد.
مشتریان نباید درخواست های تخصیص ویدیویی بیش از حد ارسال کنند. اینها نادیده گرفته می شوند یا نادیده گرفته می شوند.
تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Manage video assignment in Meet Media API\n\n| **Developer Preview:** Available as part of the [Google Workspace Developer Preview Program](https://developers.google.com/workspace/preview), which grants early access to certain features. \n|\n| **To use the Meet Media API to access real-time media from a conference, the Google Cloud project, OAuth principal, and all participants in the conference must be enrolled in the Developer Preview Program.**\n\nOnce connected to a [conference](/workspace/meet/media-api/guides/overview#conference),\nany [requested](/workspace/meet/media-api/guides/concepts#media-descriptions) audio is\nimmediately transmitted and available. However, to receive video, the client\nmust first define canvases for each video stream.\n\nCanvases help Meet understand how your client will consume a\nvideo stream, specifying its resolution in pixels (for example, 1280 × 720),\nframes per second (FPS), and selecting an assignment protocol. The assignment\nprotocol specifies how Meet should choose video streams when\nthere are more [participants](/workspace/meet/media-api/guides/overview#participant) than\n[SSRCs](/workspace/meet/media-api/guides/overview#ssrc).\n\nVideo assignment requests\n-------------------------\n\nTo receive video, clients first send a *video assignment*\n[request](/workspace/meet/media-api/reference/dc/media_api.setvideoassignmentrequest) over\nthe\n[`VideoAssignment`](/workspace/meet/media-api/reference/dc/media_api.videoassignmentchannelfromclient)\ndata channel, defining canvases for the negotiated video streams.\n**Figure 1.** Send a video assignment request over the video assignment data channel.\n\nOnce Meet receives the request, it begins selecting \"relevant\"\n[participant](/workspace/meet/media-api/guides/overview#participant) videos, based on\nfactors such as:\n\n- Is the participant speaking?\n- Is the participant presenting?\n- Is the participant screen sharing?\n\nThen, Meet maps the \"most relevant\" participants to the available\nvideo SSRCs and begins transmitting video, matching the canvas parameters as\nclosely as possible.\n\nIf the number of participants in a conference exceeds the number of SSRCs,\nMeet will replace the streams over time to match the most\nrelevant participants.\n**Figure 2.** Meet servers receive the requests and assign the video streams.\n\nAfter Meet applies the video assignment request, it pushes a\n[resource update](/workspace/meet/media-api/reference/dc/media_api.videoassignmentchanneltoclient.resources)\nacross the\n[`VideoAssignment`](/workspace/meet/media-api/reference/dc/media_api.videoassignmentchanneltoclient)\ndata channel. This update includes SSRC-to-canvas mapping. Using this mapping,\nclients can identify the resolution and FPS of the video stream for each SSRC.\nConversely, the client knows which SSRC to use when looking for a specific\nresolution and FPS.\n**Figure 3.** Send the resource update over the video assignment data channel.\n\nConsiderations\n--------------\n\n- Meet decides the association between SSRC and canvas. The\n client does not specify this in the request.\n\n- Meet does not deterministically assign SSRCs. For example,\n don't assume the first SSRC is the \"most relevant\" participant.\n\n- Clients shouldn't request more resolution than they need. For example, don't\n request 1080p video when your model only uses 480p.\n\n- Matching exact resolutions may not always be possible.\n\n- Clients shouldn't send excessive video assignment requests. These will be\n throttled or ignored.\n\nRelated topics\n--------------\n\n- [Get started](/workspace/meet/media-api/guides/get-started)"]]