[null,null,["อัปเดตล่าสุด 2025-08-29 UTC"],[],[],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)"]]