You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/communication-services/quickstarts/voice-video-calling/optimizing-video-placement.md
+24-1Lines changed: 24 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ description: This article describes how to place video on a web page based on re
5
5
author: sloanster
6
6
ms.author: micahvivion
7
7
services: azure-communication-services
8
-
ms.date: 06/26/2025
8
+
ms.date: 07/08/2025
9
9
ms.topic: quickstart
10
10
ms.service: azure-communication-services
11
11
ms.subservice: calling
@@ -169,6 +169,29 @@ getSupportedResolutions();
169
169
| 240p | 15 | 15 | 650 K |
170
170
| 180p | 7.5 | 15 | 250 K(350 K if 15 FPS)|
171
171
172
+
### How many videos to place in a grid at a time
173
+
As the Azure Communication Services WebJS Calling SDK continues to evolve, one of its key capabilities is supporting many incoming video streams in a grid layout on desktop and mobile browsers. This feature is particularly valuable for scenarios like virtual classrooms, large team meetings, or customer support centers where multiple participants need to be visible simultaneously.
174
+
175
+
However, this scalability introduces a trade-off between the number of video streams rendered and the visual quality of each stream. Since the total screen real estate is fixed, increasing the number of video tiles means each individual video renderer must occupy a smaller portion of the screen. To maintain performance and avoid overloading the browser’s rendering pipeline, the SDK dynamically adjusts the resolution of each incoming video stream based on its rendered size. This ensures that bandwidth and CPU usage remain within acceptable limits, but it also means that as more participants join, the resolution of each video may decrease to accommodate the grid.
176
+
177
+
This adaptive behavior is crucial for maintaining a smooth user experience. For example, in a 2x2 grid (4 participants), each video can be rendered at a relatively high resolution. But in a 5x5 grid (25 participants), each tile becomes significantly smaller, and the SDK may downscale the incoming video streams to match the reduced display size. This prevents unnecessary bandwidth consumption and reduces the likelihood of dropped frames or lag.
178
+
179
+
The following table illustrates how video resolution changes based on the number of participants displayed in the incoming video grid at any one time.
180
+
| 🧑 Participants | 📺 Video Resolution (p) |
181
+
|----------------|-------------------------|
182
+
| 1 | 1080 |
183
+
| 2 | 720 |
184
+
| 3 | 540 |
185
+
| 4–9 | 360 |
186
+
| 10–16 | 240 |
187
+
| 17 or more | 180 |
188
+
189
+
> [!NOTE]
190
+
> The GA version of the calling WebJS SDK allows for up to 16 incoming video streams (4x4 grid).
191
+
192
+
> [!NOTE]
193
+
> The public preview of the WebJS calling SDK currently supports up to 25 incoming video for Desktop browsers (5x5 grid).
194
+
172
195
## Conclusion
173
196
174
197
To determine how many videos to place on a web page, you need to carefully consider resolution, device type, bandwidth, and user experience. Follow these guidelines and best practices to create web apps that not only look appealing but also function seamlessly, providing an optimal viewing experience for users across various devices and connection speeds.
0 commit comments