Skip to content

Commit 05bea10

Browse files
authored
Update media-quality-sdk.md
1 parent 6c95fb0 commit 05bea10

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

articles/communication-services/concepts/voice-video-calling/media-quality-sdk.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ms.subservice: calling
1414
---
1515

1616
# Media quality statistics
17-
When working with calls in Azure Communication Services, there will be times that you need to know the media quality statistics that are being generated within an Azure Communication Services call. To help understand these details, we have a feature called "Media quality statistics" that you can use to examine the low-level audio, video, and screen-sharing quality metrics.
17+
Do help understand media quality in VoIP and Video calls using Azure Communication Services, we have a feature called "Media quality statistics" that you can use to examine the low-level audio, video, and screen-sharing quality metrics for incoming and outgoing call metrics.
1818

1919
## Media quality statistics for ongoing call
2020
> **NOTE**
@@ -41,7 +41,7 @@ Where
4141
- `aggregationInterval` is the interval in seconds that the statistics will be aggregated.
4242
- `dataPointsPerAggregation` defines how many data points are there for each aggregation event.
4343

44-
After adding an event listener to media stats collector, you will receive `mediaStatsEmitted` event with stats every `aggregationInterval * dataPointsPerAggregation` seconds.
44+
After adding an event listener to media stats collector, you'll receive `mediaStatsEmitted` event with stats every `aggregationInterval * dataPointsPerAggregation` seconds.
4545

4646
Example:
4747
- If you set `aggregationInterval` = 1
@@ -78,36 +78,36 @@ mediaStatsCollector.dispose();
7878
We removed `disposeAllCollectors` method. The collectors will be reclaimed when mediaStatsFeature is disposed.
7979

8080
## Best practices
81-
If you want to collect this data for off-line inspection (after a call ends) it is recommended to collect this data and send it to your pipeline ingest after your call has ended. If you transmit this data during a call, it could use internet bandwidth that is needed to continue an Azure Communication Services call (especially when available bandwidth is low).
81+
If you want to collect this data for off-line inspection (after a call ends), it is recommended to collect this data and send it to your pipeline ingest after your call has ended. If you transmit this data during a call, it could use internet bandwidth that is needed to continue an Azure Communication Services call (especially when available bandwidth is low).
8282

8383
## MediaStats Metrics for SDK Version `>= 1.8.0`
8484

85-
The bandwidth metrics is now `availableBitrate` in Audio Send / Video Send metrics.
85+
The bandwidth metrics have changes to `availableBitrate` in Audio Send / Video Send metrics.
8686

8787
### Audio Send metrics
8888
| Metric Name | Description | Comments |
8989
| ----------- | ----------- | -------- |
9090
| id | stats id | It is used to identify stats across the events, especially when there are multiple stats with same media type and direction in an event. |
91-
| codecName | codec name | OPUS, G722, etc |
92-
| bitrate | audio send bitrate (bps) | General values are in the 24 kbps range (36-128kbps typical) |
91+
| codecName | codec name | OPUS, G722|
92+
| bitrate | audio send bitrate (bps) | General values are in the 24 kbps range (36-128 kbps typical) |
9393
| jitterInMs | packet jitter (milliseconds) | Lower is better. |
9494
| packetsPerSecond | packet rate (packets/sec) | |
9595
| packetsLostPerSecond | packet loss rate (packets/sec) | Lower is better. |
96-
| rttInMs | round-trip time (milliseconds) | Lower is better. It is calculated from RTCP Receiver Report. A round trip time of 200 ms or less is recommended. |
97-
| pairRttInMs | rount-trip time (milliseconds) | Lower is better. It is similar to rttInMS but is calculated from STUN connectivity check. A round trip time of 200 ms or less is recommended. |
96+
| rttInMs | round-trip time (milliseconds) | Lower is better. It's calculated from RTCP Receiver Report. A round trip time of 200 ms or less is recommended. |
97+
| pairRttInMs | round-trip time (milliseconds) | Lower is better. It's similar to rttInMS but is calculated from STUN connectivity check. A round trip time of 200 ms or less is recommended. |
9898
| availableBitrate | bandwidth estimation (bps) | |
9999
| audioInputLevel | audio volume level from microphone | The value ranges from 0-65536. 0 represents silence |
100100

101-
### Audio Recv metrics
101+
### Audio Receive metrics
102102
| Metric Name | Description | Comments |
103103
| ----------- | ----------- | -------- |
104104
| id | stats id | It is used to identify stats across the events, especially when there are multiple stats with same media type and direction in an event. |
105-
| codecName | codec name | OPUS, G722, etc |
106-
| bitrate | audio recv bitrate (bps) | General values are in the 24 kbps range (36-128kbps typical) |
105+
| codecName | codec name | OPUS, G722|
106+
| bitrate | audio receive bitrate (bps) | General values are in the 24 kbps range (36-128 kbps typical) |
107107
| jitterInMs | packet jitter (milliseconds) | Lower is better. |
108108
| packetsPerSecond | packet rate (packets/sec) | |
109109
| packetsLostPerSecond | packet loss rate (packets/sec) | Lower is better. |
110-
| pairRttInMs | rount-trip time (milliseconds) | Lower is better. It is calculated from STUN connectivity check. A round trip time of 200 ms or less is recommended. |
110+
| pairRttInMs | round-trip time (milliseconds) | Lower is better. It is calculated from STUN connectivity check. A round trip time of 200 ms or less is recommended. |
111111
| jitterBufferInMs | jitter buffer (milliseconds) | Lower is better. The jitter buffer is used for smooth playout. This value is how long the packets of the samples stay in the jitter buffer. |
112112
| audioOutputLevel | audio volume level from receiving stream | The value ranges from 0-65536. 0 represents silence. |
113113
| healedRatio | ratio of concealedSamples(except silentConcealedSamples) to total received samples | Information only. |
@@ -122,7 +122,7 @@ The bandwidth metrics is now `availableBitrate` in Audio Send / Video Send metri
122122
| packetsPerSecond | packet rate (packets/sec) | |
123123
| packetsLostPerSecond | packet loss rate (packets/sec) | Lower is better. |
124124
| rttInMs | round-trip time (milliseconds) | Lower is better. It is calculated from RTCP Receiver Report. A round trip time of 200 ms or less is recommended. |
125-
| pairRttInMs | rount-trip time (milliseconds) | Lower is better. It is similar to rttInMS but is calculated from STUN connectivity check. A round trip time of 200 ms or less is recommended. |
125+
| pairRttInMs | round-trip time (milliseconds) | Lower is better. It is similar to rttInMS but is calculated from STUN connectivity check. A round trip time of 200 ms or less is recommended. |
126126
| availableBitrate | bandwidth estimation (bps) | 1.5 Mbps or higher is recommended for high-quality video for upload/download. |
127127
| frameRateInput | frame rate originating from the video source (frames/sec) | |
128128
| frameWidthInput | frame width of the last frame originating from video source (pixel) | |
@@ -135,16 +135,16 @@ The bandwidth metrics is now `availableBitrate` in Audio Send / Video Send metri
135135
| framesEncoded | frames successfully encoded for the RTP stream | |
136136
| keyFramesEncoded | key frames successfully encoded for the RTP stream | |
137137

138-
### Video Recv metrics
138+
### Video Receive metrics
139139
| Metric Name | Description | Comments |
140140
| ----------- | ----------- | -------- |
141141
| id | stats id | It is used to identify stats across the events, especially when there are multiple stats with same media type and direction in an event. |
142142
| codecName | codec name | H264, VP8, VP9 |
143-
| bitrate | video recv bitrate (bps) | |
143+
| bitrate | video receive bitrate (bps) | |
144144
| jitterInMs | packet jitter (milliseconds) | Lower is better. |
145145
| packetsPerSecond | packet rate (packets/sec) | |
146146
| packetsLostPerSecond | packet loss rate (packets/sec) | Lower is better. |
147-
| pairRttInMs | rount-trip time (milliseconds) | Lower is better. A round trip time of 200 ms or less is recommended. |
147+
| pairRttInMs | round-trip time (milliseconds) | Lower is better. A round trip time of 200 ms or less is recommended. |
148148
| jitterBufferInMs | jitter buffer (milliseconds) | Lower is better. The jitter buffer is used for smooth playout. This value is the how long the packets of the frame stay in the jitter buffer. |
149149
| streamId | stream id | The streamId value corresponds to id in VideoStreamCommon. It can be used to match the sender. |
150150
| frameRateOutput | frame rate output (frames/sec) | |
@@ -162,11 +162,11 @@ The bandwidth metrics is now `availableBitrate` in Audio Send / Video Send metri
162162
### ScreenShare Send metrics
163163
Currently stats fields are the same as *Video Send metrics*
164164

165-
### ScreenShare Recv metrics
166-
Currently stats fields are the same as *Video Recv metrics*
165+
### ScreenShare Receive metrics
166+
Currently stats fields are the same as *Video Receive metrics*
167167

168168
### Using Media Quality Statics on SDK Version `< 1.8.0` or older
169-
If you are using an ACS SDK version of 1.8.0 or older please see below for documentation on how to use this functionality.
169+
If you are using an ACS SDK version of 1.8.0 or older, please see below for documentation on how to use this functionality.
170170

171171
As a developer you can invoke the `startCollector` method of `mediaStatsApi` with optional `mediaStatsSubscriptionOptions`.
172172

@@ -201,8 +201,8 @@ mediaStatsFeature.disposeAllCollectors();
201201
### Audio quality metrics
202202
| Metric Name | Purpose | Details | Comments |
203203
| ------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
204-
| audioSendBitrate | Sent bitrate | Send bitrate of audio (bits per second) | General values are in the 24 kbps range (36-128kbps typical) |
205-
| audioRecvBitrate | Received bitrate | Received bitrate of audio received (bits per second) | |
204+
| audioSendBitrate | Sent bitrate | Send bitrate of audio (bits per second) | General values are in the 24 kbps range (36-128 kbps typical) |
205+
| audioRecvBitrate | Received audio bitrate | Received bitrate of audio received (bits per second) | |
206206
| audioSendPackets | Sent packets | The number of audio packets sent in last second (packets per second) | |
207207
| audioRecvJitterBufferMs | Jitter buffer delay | The jitter buffer is used for smooth playout. This value is the how long the packets of the samples stay in the jitter buffer. (in milliseconds (ms)) | Lower is better. |
208208
| audioRecvPacketsLost | Received packet loss | The number of audio packets that were to be received but were lost. Results are packets per second (over the last second). | Lower is better. |
@@ -237,7 +237,7 @@ mediaStatsFeature.disposeAllCollectors();
237237
| VideoRecvPacketsLost | Received packet loss | The number of video packets that were to be received but were lost. Results are packets per second (over the last second). | Lower is better |
238238
| videoSendPacketsLost | Sent packet loss | The number of audio packets that were sent but were lost. Results are packets per second (over the last second). | Lower is better |
239239
| videoSendFrameRateInput | Sent framerate input | Framerate measurements from the stream input into peerConnection | Information only |
240-
| videoRecvFrameRateDecoded | Received decoded framerate | Framerate from decoder output. This takes videoSendFrameRateInput as an input, might be some loss in decoding | Information only |
240+
| videoRecvFrameRateDecoded | Received decoded framerate | Framerate from decoder output. This metric takes videoSendFrameRateInput as an input, might be some loss in decoding | Information only |
241241
| videoSendFrameWidthInput | Sent frame width input | Frame width of the stream input into peerConnection. This takes videoRecvFrameRateDecoded as an input, might be some loss in rendering. | 1920, 1280, 960, 640, 480, 320 |
242242
| videoSendFrameHeightInput | Sent frame height input | Frame height of the stream input into peerConnection | 1080, 720, 540, 360, 270, 240 |
243243
| videoRecvLongestFreezeDuration | Received longest freeze duration | How long was the longest freeze | Lower is better |

0 commit comments

Comments
 (0)