Skip to content

Commit 803f898

Browse files
authored
Merge pull request #301947 from vac0224/vc-toc-reconcileX-2025-06-28
Reconcile titles with TOC (10)
2 parents 09e9da8 + ce16dec commit 803f898

23 files changed

+322
-246
lines changed

articles/communication-services/concepts/voice-video-calling/simulcast.md

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,40 @@
11
---
2-
title: Azure Communication Services Simulcast
3-
titleSuffix: An Azure Communication Services concept document
4-
description: Overview of Simulcast - how sending multiple video quality streams helps overall call quality.
2+
title: Simulcast
3+
titleSuffix: An Azure Communication Services article
4+
description: This article describes how to send multiple video quality streams helps overall call quality.
55
author: sloanster
66
manager: chpalm
77
services: azure-communication-services
88

99
ms.author: micahvivion
10-
ms.date: 02/19/2024
10+
ms.date: 06/26/2025
1111
ms.topic: conceptual
1212
ms.subservice: calling
1313
ms.service: azure-communication-services
1414
---
15-
# What is Simulcast?
16-
Simulcast is a technique that allows video streaming applications to send multiple versions of the same video content at different resolutions and bitrates. This way, the receiver can choose the most suitable version based on their network conditions and device capabilities.
15+
# Simulcast
1716

18-
The lack of simulcast support leads to a degraded video experience in calls with three or more participants. If a video receiver with poor network conditions joins the conference, it impacts the quality of video received from the sender without simulcast support for all other participants. The video sender optimizes its video feed against the lowest common denominator. When simulcast streaming is available the potential impact of one person affecting the entire streaming quality experience is minimized.
17+
Simulcast is a technique that enables video streaming applications to send multiple versions of the same video content at different resolutions and bitrates. This way, the receiver can choose the most suitable version based on their network conditions and device capabilities.
1918

20-
Simulcast is supported on Azure Communication Services SDK for WebJS (1.9.1-beta.1+) and native SDK for Android, iOS, and Windows. Currently, simulcast on the sender side is supported on following desktop browsers - Chrome and Edge. Simulcast on receiver side is supported on all platforms that Azure Communication Services Calling supports. Support for Sender side Simulcast capability from mobile browsers will be added in the future.
19+
The lack of simulcast support leads to a degraded video experience in calls with three or more participants. If a video receiver with poor network conditions joins the conference, it impacts the quality of video received from the sender without simulcast support for all other participants. The video sender optimizes its video feed against the lowest common denominator. When simulcast streaming is available, the potential impact of one person affecting the entire streaming quality experience is minimized.
2120

22-
## How Simulcast works
23-
Simulcast is a feature that allows a publisher, in this case the Azure Communication Services calling SDK, to send different qualities of the same video to the SFU. The SFU then forwards the most suitable quality to each other endpoint on a call, based on their bandwidth, CPU, and resolution preferences. This way, the publisher can save resources and the subscribers can receive the best possible quality. The SFU doesn't change the video quality, it only selects which one to forward.
21+
Simulcast is supported on Azure Communication Services SDK for WebJS (1.9.1-beta.1+) and native SDK for Android, iOS, and Windows. Currently, simulcast on the sender side is supported on following desktop browsers - Chrome and Microsoft Edge. Simulcast on receiver side is supported on all platforms that Azure Communication Services Calling supports. Support for Sender side Simulcast capability from mobile browsers is planned for a future release.
22+
23+
## How simulcast works
24+
25+
The simulcast feature enables a publisher, in this case the Azure Communication Services calling SDK, to send different qualities of the same video to the selective forwarding unit (SFU). The SFU then forwards the most suitable quality to each other endpoint on a call, based on their bandwidth, CPU, and resolution preferences. This way, the publisher can save resources and the subscribers can receive the best possible quality. The SFU doesn't change the video quality. The SFU only selects which one to forward.
26+
27+
## Supported number of video qualities available with Simulcast
2428

25-
## Supported number of video qualities available with Simulcast.
2629
Simulcast streaming from a web endpoint supports a maximum two video qualities. There aren't API controls needed to enable Simulcast for Azure Communication Services. Simulcast is enabled and available for all video calls.
2730

2831
## Available video resolutions
29-
When streaming with simulcast, there are no set resolutions for high or low quality simulcast video streams. Instead, based on many different variables, either a single or multiple video steams are delivered. If every subscriber to video is requesting and capable of receiving maximum resolution what publisher can provide, only that maximum resolution will be sent. The following resolutions are supported:
30-
- 1080P
32+
33+
When a participant is streaming with simulcast, there are no set resolutions for high or low quality simulcast video streams. Instead, based on many different variables, either a single or multiple video steams are delivered. If every subscriber to video is requesting and capable of receiving maximum resolution what publisher can provide, only that it sends maximum resolution.
34+
35+
Simulcast supports the following resolutions:
36+
37+
- 1080p
3138
- 720p
3239
- 540p
3340
- 360p

articles/communication-services/how-tos/calling-sdk/powerpoint-live.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ ms.custom: template-how-to
1414

1515
# View PowerPoint Live presentations
1616

17-
This article describes how to enable meeting participants to view [PowerPoint Live presentations in Microsoft Teams](https://support.microsoft.com/en-us/office/present-from-powerpoint-live-in-microsoft-teams-28b20e74-7165-499c-9bd4-0ad975d448ad) using the Azure Communication Services Calling SDKs.
17+
This article describes how to enable meeting participants to view [PowerPoint Live presentations in Microsoft Teams](https://support.microsoft.com/office/present-from-powerpoint-live-in-microsoft-teams-28b20e74-7165-499c-9bd4-0ad975d448ad) using the Azure Communication Services Calling SDKs.
1818

19-
Attendees who use Azure Communication Services Calling SDKs to [join a Microsoft Teams meeting](./teams-interoperability.md) can view PowerPoint Live presentations and interact with [reactions](./reactions.md) and [raise hand](./raise-hand.md). The attendee view automatically maintains synchronization with the current slide of the Microsoft Teams presenter.
19+
Attendees who use Azure Communication Services Calling SDKs to [join a Microsoft Teams meeting](./teams-interoperability.md) can view PowerPoint Live presentations and interact with [reactions](./reactions.md) and [raise hand](./raise-hand.md). The attendee view automatically synchronizes with the current slide of the Microsoft Teams presenter.
2020

2121
## Prerequisites
2222

articles/communication-services/quickstarts/voice-video-calling/get-started-video-constraints.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
---
2-
ms.author: micahvivion
3-
title: Quickstart - Set video constraints in your calling app
4-
titleSuffix: An Azure Communication Services quickstart
5-
description: In this quickstart, you learn how to set video constraints in your existing calling app using Azure Communication Services.
2+
3+
title: Set video constraints in a calling app
4+
titleSuffix: An Azure Communication Services article
5+
description: This article describes how to set video constraints in your existing calling app using Azure Communication Services.
66
author: sloanster
7+
ms.author: micahvivion
78
services: azure-communication-services
8-
ms.date: 02/18/2024
9+
ms.date: 06/26/2025
910
ms.topic: quickstart
1011
ms.service: azure-communication-services
1112
ms.subservice: calling
1213
zone_pivot_groups: acs-plat-web-ios-android-windows
1314
ms.custom: mode-other, devx-track-js
1415
---
1516

16-
# Quickstart: Set video constraints in your calling app
17+
# Set video constraints in a calling app
1718

1819
::: zone pivot="platform-windows"
1920
[!INCLUDE [Set video constraints with Windows](./includes/video-constraints/video-constraints-windows.md)]
@@ -30,9 +31,9 @@ ms.custom: mode-other, devx-track-js
3031
::: zone pivot="platform-web"
3132
[!INCLUDE [Set video constraints with JavaScript](./includes/video-constraints/video-constraints-javascript.md)]
3233
::: zone-end
33-
## Next steps
3434

35-
For more information, see the following articles:
35+
36+
## Next steps
3637

3738
- Learn about [Video Constraints concept document](../../concepts/voice-video-calling/video-constraints.md)
3839
- Learn more about [Calling SDK capabilities](./getting-started-with-calling.md)

articles/communication-services/quickstarts/voice-video-calling/get-started-video-effects.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
title: Add video effects to your video calls
2+
title: Enable video background effects
33
titleSuffix: An Azure Communication Services article
4-
description: Learn how to add video effects in your video calls using Azure Communication Services.
4+
description: This article describes how to add video effects in your video calls using Azure Communication Services.
55
author: sloanster
66

77
ms.author: micahvivion
@@ -14,7 +14,7 @@ zone_pivot_groups: acs-plat-web-ios-android-windows
1414
ms.custom: mode-other, devx-track-js
1515
---
1616

17-
# Add video effects to your video calls
17+
# Enable video background effects
1818

1919
::: zone pivot="platform-web"
2020
[!INCLUDE [Video effects with JavaScript](./includes/video-effects/video-effects-javascript.md)]
@@ -32,10 +32,9 @@ ms.custom: mode-other, devx-track-js
3232
[!INCLUDE [Video effects with Android](./includes/video-effects/video-effects-windows.md)]
3333
::: zone-end
3434

35-
3635
## Next steps
3736

38-
- Check out our [calling hero sample](../../samples/calling-hero-sample.md)
39-
- Get started with the [UI Library](../../concepts/ui-library/ui-library-overview.md)
40-
- Learn about [Calling SDK capabilities](./getting-started-with-calling.md?pivots=platform-web)
41-
- Learn more about [how calling works](../../concepts/voice-video-calling/about-call-types.md)
37+
- Check out our [calling hero sample](../../samples/calling-hero-sample.md).
38+
- Get started with the [UI Library](../../concepts/ui-library/ui-library-overview.md).
39+
- Learn about [Calling SDK capabilities](./getting-started-with-calling.md?pivots=platform-web).
40+
- Learn more about [how calling works](../../concepts/voice-video-calling/about-call-types.md).

articles/communication-services/quickstarts/voice-video-calling/includes/local-preview-mirroring/local-preview-mirroring-android.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
title: Quickstart - Turn off local preview mirroring
3-
titleSuffix: An Azure Communication Services Quickstart
4-
description: This quickstart describes how to turn off local preview mirroring
2+
title: Turn off local preview mirroring
3+
titleSuffix: An Azure Communication Services article
4+
description: This article describes how to turn off local preview mirroring
55
author: yassirbisteni
66
manager: gaobob
77

88
ms.author: yassirb
9-
ms.date: 2/21/2025
9+
ms.date: 6/26/2025
1010
ms.topic: quickstart
1111
ms.service: azure-communication-services
1212
ms.subservice: calling
@@ -15,7 +15,7 @@ ms.custom: mode-other, devx-track-js
1515
zone_pivot_groups: acs-plat-web-windows-android-ios
1616
---
1717

18-
### Turn off local preview mirroring
18+
### Code to turn off local preview mirroring
1919

2020
````java
2121
VideoStreamRenderer renderer = new VideoStreamRenderer(localVideoStream, this);

articles/communication-services/quickstarts/voice-video-calling/includes/local-preview-mirroring/local-preview-mirroring-ios.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
title: Quickstart - Turn off local preview mirroring
3-
titleSuffix: An Azure Communication Services Quickstart
4-
description: This quickstart describes how to turn off local preview mirroring
2+
title: Turn off local preview mirroring
3+
titleSuffix: An Azure Communication Services article
4+
description: This article describes how to turn off local preview mirroring.
55
author: yassirbisteni
66
manager: gaobob
77

88
ms.author: yassirb
9-
ms.date: 2/21/2025
9+
ms.date: 6/26/2025
1010
ms.topic: quickstart
1111
ms.service: azure-communication-services
1212
ms.subservice: calling
@@ -15,7 +15,7 @@ ms.custom: mode-other, devx-track-js
1515
zone_pivot_groups: acs-plat-web-windows-android-ios
1616
---
1717

18-
### Turn off local preview mirroring
18+
### Code to turn off local preview mirroring
1919

2020
````swift
2121
var renderer = try VideoStreamRenderer(localVideoStream: localVideoStream)

articles/communication-services/quickstarts/voice-video-calling/includes/local-preview-mirroring/local-preview-mirroring-windows.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
title: Quickstart - Turn off local preview mirroring
3-
titleSuffix: An Azure Communication Services Quickstart
4-
description: This quickstart describes how to turn off local preview mirroring
2+
title: Turn off local preview mirroring
3+
titleSuffix: An Azure Communication Services article
4+
description: This article describes how to turn off local preview mirroring.
55
author: yassirbisteni
66
manager: gaobob
77

88
ms.author: yassirb
9-
ms.date: 2/21/2025
9+
ms.date: 6/26/2025
1010
ms.topic: quickstart
1111
ms.service: azure-communication-services
1212
ms.subservice: calling
@@ -15,7 +15,7 @@ ms.custom: mode-other, devx-track-js
1515
zone_pivot_groups: acs-plat-web-windows-android-ios
1616
---
1717

18-
### Turn off local preview mirroring
18+
### Code to turn off local preview mirroring
1919

2020
````csharp
2121
var uri = await localOutgoingVideoStream.StartPreviewAsync();

articles/communication-services/quickstarts/voice-video-calling/includes/video-constraints/video-constraints-android.md

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
ms.author: chengyuanlai
3-
title: Quickstart - Set video constraints in your Android calling app
4-
titleSuffix: An Azure Communication Services document
5-
description: In this quickstart, you learn how to set video constraints in your existing Android calling app using Azure Communication Services.
3+
title: Set video constraints in an Android calling app
4+
titleSuffix: An Azure Communication Services article
5+
description: This article describes how to set video constraints in your existing Android calling app using Azure Communication Services.
66
author: sloanster
77
services: azure-communication-services
8-
ms.date: 07/10/2023
8+
ms.date: 06/26/2025
99
ms.topic: include
1010
ms.service: azure-communication-services
1111
ms.subservice: calling
@@ -14,25 +14,29 @@ ms.subservice: calling
1414
[!INCLUDE [Public Preview](../../../../includes/public-preview-include-document.md)]
1515

1616
## Overview
17-
The Video Constraints API enables developers to control the video quality from within their video calls. In this quickstart guide, we illustrate how to use the API to set the constraints.
17+
18+
The Video Constraints API enables developers to control the video quality from within their video calls. In this article, we illustrate how to use the API to set the constraints.
1819

1920
### Prerequisites
21+
2022
Refer to the [Voice Calling Quickstart](../../getting-started-with-calling.md?pivots=platform-android) to set up a sample app with voice calling.
2123

2224
### Classes
25+
2326
| Name | Description |
24-
| - | - |
27+
| --- | --- |
2528
| VideoConstraints | Used to hold both incoming video constraints and outgoing video constraints. |
26-
| OutgoingVideoConstraints | Used to specify constraints (`maxWidth | maxHeight | maxFrameRate`) for outgoing video streams. |
27-
| IncomingVideoConstraints | Used to specify constraints (`maxWidth | maxHeight`) for incoming video streams. |
29+
| OutgoingVideoConstraints | Used to specify constraints (`maxWidth \| maxHeight \| maxFrameRate`) for outgoing video streams. |
30+
| IncomingVideoConstraints | Used to specify constraints (`maxWidth \| maxHeight`) for incoming video streams. |
2831

2932
### Using video constraints
3033

3134
The following sections explain how the video constraints can be set for incoming and/or outgoing video streams at different times of a call.
3235

3336
#### Set video constraints before starting a call
3437

35-
For *incoming* video streams, an `IncomingVideoConstraints` needs to be added to the `IncomingVideoOptions`.
38+
For *incoming* video streams, you need to add an `IncomingVideoConstraints` to the `IncomingVideoOptions`.
39+
3640
```java
3741
IncomingVideoConstraints incomingVideoConstraints = new IncomingVideoConstraints();
3842
incomingVideoConstraints.setMaxWidth(/*value*/);
@@ -44,7 +48,8 @@ For *incoming* video streams, an `IncomingVideoConstraints` needs to be added to
4448
incomingVideoOptions.setConstraints(incomingVideoConstraints);
4549
```
4650

47-
For *outgoing* video streams, an `OutgoingVideoConstraints` needs to be added to the `OutgoingVideoOptions`.
51+
For *outgoing* video streams, add an `OutgoingVideoConstraints` to the `OutgoingVideoOptions`.
52+
4853
```java
4954
OutgoingVideoConstraints outgoingVideoConstraints = new OutgoingVideoConstraints()
5055
outgoingVideoConstraints.setMaxWidth(/*value*/);
@@ -57,7 +62,8 @@ For *outgoing* video streams, an `OutgoingVideoConstraints` needs to be added to
5762
outgoingVideoOptions.setConstraints(outgoingVideoConstraints);
5863
```
5964

60-
Since the options are used to start/join a call, the constraints can then be applied to the streams automatically. For example:
65+
Since the options are used to start/join a call, you can apply the constraints to the streams automatically. For example:
66+
6167
```java
6268
JoinCallOptions joinCallOptions = new JoinCallOptions();
6369
joinCallOptions.setIncomingVideoOptions(incomingVideoOptions);
@@ -66,7 +72,9 @@ Since the options are used to start/join a call, the constraints can then be app
6672
```
6773

6874
#### Set video constraints during a call
75+
6976
Instead of setting the video constraints before starting a call, you can also dynamically adjust the video constraints during a call. You need to call `setVideoConstraints` on your `Call` type class and provide the constraints.
77+
7078
```java
7179

7280
OutgoingVideoConstraints outgoingVideoConstraints = new OutgoingVideoConstraints();
@@ -85,23 +93,23 @@ Instead of setting the video constraints before starting a call, you can also dy
8593
call.setVideoConstraints(constraints);
8694
```
8795

88-
To reset/remove the video constraints you previously set, you have to follow the above pattern and provide `0` as a constraint value. Providing `null` values for either `IncomingVideoConstraints` or `OutgoingVideoConstraints` won't reset/remove the constraints and the constraints with a `null` value will be ignored.
96+
To reset/remove the video constraints you previously set, follow the preceding pattern and provide `0` as a constraint value. Providing `null` values for either `IncomingVideoConstraints` or `OutgoingVideoConstraints` doesn't reset/remove the constraints and the constraints with a `null` value are ignored.
8997

9098
### Limitations
9199

92100
> [!NOTE]
93-
> Please make sure you are aware of these limitations when using the Video Constraints API.
94-
> Some of the limitations will be removed in future releases.
101+
> Be aware of these limitations when using the Video Constraints API. Some of the limitations should be resolved in future releases.
95102
96103
There are some known limitations to the current Video Constraints API.
97104

98105
* The constraint is a **max** constraint, which means the possible constraint value can be the specified value or smaller. There's no guarantee that the actual value remains the same as user-specified.
99106

100-
* When the user sets a constraint value that is too small, the SDK will use the smallest available value that is supported.
107+
* When the user sets a constraint value that is too small, the SDK uses the smallest available value that is supported.
101108

102109
* For setting `OutgoingVideoConstraints` during a call, the current ongoing video stream doesn't automatically pick up the constraints specified. In order to make the constraints take effect, you need to stop and restart the outgoing video.
103110

104-
* `IncomingVideoConstraints` currently is a user-preferred constraint instead of a hard constraint, which means that depending on your network and hardware, the actual value received may still exceed the constraint set.
111+
* `IncomingVideoConstraints` currently is a user-preferred constraint instead of a hard constraint, which means that depending on your network and hardware, the actual value received might still exceed the constraint set.
105112

106113
### Media stats
107-
To evaluate and compare the video quality after applying the video constraints, you can access [MediaStats API](../../../../concepts/voice-video-calling/media-quality-sdk.md) to get video resolution and bitrate information of the stream. The media stats also include other granular stats related to the streams, such as jitter, packet loss, round trip time, etc.
114+
115+
To evaluate and compare the video quality after applying the video constraints, you can access [MediaStats API](../../../../concepts/voice-video-calling/media-quality-sdk.md) to get video resolution and bitrate information of the stream. The media stats also include other granular stats related to the streams, such as jitter, packet loss, round trip time, and so on.

0 commit comments

Comments
 (0)