Skip to content

Commit 90d447e

Browse files
authored
Update optimizing-video-placement.md
1 parent 80187c8 commit 90d447e

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

articles/communication-services/quickstarts/voice-video-calling/optimizing-video-placement.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: This article describes how to place video on a web page based on re
55
author: sloanster
66
ms.author: micahvivion
77
services: azure-communication-services
8-
ms.date: 06/26/2025
8+
ms.date: 07/08/2025
99
ms.topic: quickstart
1010
ms.service: azure-communication-services
1111
ms.subservice: calling
@@ -169,6 +169,29 @@ getSupportedResolutions();
169169
| 240p | 15 | 15 | 650 K |
170170
| 180p | 7.5 | 15 | 250 K(350 K if 15 FPS)|
171171

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+
172195
## Conclusion
173196

174197
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

Comments
 (0)