Skip to content

Commit

Permalink
Code autogenerated from Kurento/doc-kurento@5e85230
Browse files Browse the repository at this point in the history
  • Loading branch information
jenkinskurento committed Sep 13, 2022
1 parent 7c72b2b commit 0d20a28
Show file tree
Hide file tree
Showing 218 changed files with 392 additions and 373 deletions.
14 changes: 6 additions & 8 deletions source/knowledge/browser.rst
Original file line number Diff line number Diff line change
Expand Up @@ -359,30 +359,28 @@ Video Encoding
Video Bitrate
-------------

Web browsers will adapt their output video quality according to what they detect is the network quality. Most browsers will adapt the **video bitrate**; in addition, Chrome also adapts the **video resolution**.
Web browsers will try to estimate the real performance of the network, and with this information they adapt their video output quality. Most browsers are able to adjust the **video bitrate**; in addition, Chrome also dynamically adapts the **resolution** and **framerate** of its video output.

The **maximum video bitrate** is calculated by the WebRTC stack, by following a simple rule based on the video dimensions:
The **maximum video bitrate** is calculated for WebRTC by following a simple rule based on the dimensions of the video source:

* 600 kbps if ``width * height <= 320 * 240``.
* 1700 kbps if ``width * height <= 640 * 480``.
* 2000 kbps (2 Mbps) if ``width * height <= 960 * 540``.
* 2500 kbps (2.5 Mbps) for bigger video sizes.
* 1200 kbps in any case, if the video is a screen capture.
* Never less than 1200 kbps, if the video is a screen capture.

Source: The ``GetMaxDefaultVideoBitrateKbps()`` function in `libwebrtc source code <https://webrtc.googlesource.com/src/+/d82a02c837d33cdfd75121e40dcccd32515e42d6/media/engine/webrtc_video_engine.cc#231>`__.

Browsers offer internal stats through a special web address that you can use to verify what is really being sent by their WebRTC stack.

For example, to check the outbound stats in Chrome:
To verify what is exactly being sent by your web browser, check its internal WebRTC stats. For example, to check the outbound stats in Chrome:

#. Open this URL: ``chrome://webrtc-internals/``.
#. Look for the stat name "*Stats graphs for RTCOutboundRTPVideoStream (outbound-rtp)*".
#. You will find the effective output video bitrate in ``[bytesSent_in_bits/s]``, and the output resolution in ``frameWidth`` and ``frameHeight``.
#. You will find the effective output bitrate in ``[bytesSent_in_bits/s]``, and the output resolution in ``frameWidth`` and ``frameHeight``.

You can also check what is the network bandwidth estimation in Chrome:

#. Look for the stat name "*Stats graphs for RTCIceCandidatePair (candidate-pair)*". Note that there might be several of these, but only one will be active.
#. Find the output network bandwidth estimation in ``availableOutgoingBitrate``. Chrome will try to slowly increase its output bitrate, until it reaches this estimation.
#. Find the output network bandwidth estimation in ``availableOutgoingBitrate``. Chrome will try to slowly increase its effective output bitrate, until it reaches this estimation.



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,21 +96,21 @@ <h3>Uses of <a href="../../../../org/kurento/client/IceComponentState.html" titl
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/kurento/client/IceComponentState.html" title="enum in org.kurento.client">IceComponentState</a></code></td>
<td class="colLast"><span class="typeNameLabel">IceComponentStateChangedEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/IceComponentStateChangedEvent.html#getState--">getState</a></span>()</code>
<div class="block">Getter for the state property</div>
<td class="colLast"><span class="typeNameLabel">IceConnection.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/IceConnection.html#getState--">getState</a></span>()</code>
<div class="block">get The state of the component</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/kurento/client/IceComponentState.html" title="enum in org.kurento.client">IceComponentState</a></code></td>
<td class="colLast"><span class="typeNameLabel">IceComponentStateChangeEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/IceComponentStateChangeEvent.html#getState--">getState</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<td class="colLast"><span class="typeNameLabel">IceComponentStateChangedEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/IceComponentStateChangedEvent.html#getState--">getState</a></span>()</code>
<div class="block">Getter for the state property</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/kurento/client/IceComponentState.html" title="enum in org.kurento.client">IceComponentState</a></code></td>
<td class="colLast"><span class="typeNameLabel">IceConnection.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/IceConnection.html#getState--">getState</a></span>()</code>
<div class="block">get The state of the component</div>
<td class="colLast"><span class="typeNameLabel">IceComponentStateChangeEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/IceComponentStateChangeEvent.html#getState--">getState</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<div class="block">Getter for the state property</div>
</td>
</tr>
<tr class="altColor">
Expand Down Expand Up @@ -144,21 +144,21 @@ <h3>Uses of <a href="../../../../org/kurento/client/IceComponentState.html" titl
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">IceComponentStateChangedEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/IceComponentStateChangedEvent.html#setState-org.kurento.client.IceComponentState-">setState</a></span>(<a href="../../../../org/kurento/client/IceComponentState.html" title="enum in org.kurento.client">IceComponentState</a>&nbsp;state)</code>
<div class="block">Setter for the state property</div>
<td class="colLast"><span class="typeNameLabel">IceConnection.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/IceConnection.html#setState-org.kurento.client.IceComponentState-">setState</a></span>(<a href="../../../../org/kurento/client/IceComponentState.html" title="enum in org.kurento.client">IceComponentState</a>&nbsp;state)</code>
<div class="block">set The state of the component</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">IceComponentStateChangeEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/IceComponentStateChangeEvent.html#setState-org.kurento.client.IceComponentState-">setState</a></span>(<a href="../../../../org/kurento/client/IceComponentState.html" title="enum in org.kurento.client">IceComponentState</a>&nbsp;state)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<td class="colLast"><span class="typeNameLabel">IceComponentStateChangedEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/IceComponentStateChangedEvent.html#setState-org.kurento.client.IceComponentState-">setState</a></span>(<a href="../../../../org/kurento/client/IceComponentState.html" title="enum in org.kurento.client">IceComponentState</a>&nbsp;state)</code>
<div class="block">Setter for the state property</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">IceConnection.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/IceConnection.html#setState-org.kurento.client.IceComponentState-">setState</a></span>(<a href="../../../../org/kurento/client/IceComponentState.html" title="enum in org.kurento.client">IceComponentState</a>&nbsp;state)</code>
<div class="block">set The state of the component</div>
<td class="colLast"><span class="typeNameLabel">IceComponentStateChangeEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/IceComponentStateChangeEvent.html#setState-org.kurento.client.IceComponentState-">setState</a></span>(<a href="../../../../org/kurento/client/IceComponentState.html" title="enum in org.kurento.client">IceComponentState</a>&nbsp;state)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<div class="block">Setter for the state property</div>
</td>
</tr>
</tbody>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -217,14 +217,14 @@ <h3>Uses of <a href="../../../../org/kurento/client/MediaElement.html" title="in
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/kurento/client/MediaElement.html" title="interface in org.kurento.client">MediaElement</a></code></td>
<td class="colLast"><span class="typeNameLabel">ElementConnectedEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/ElementConnectedEvent.html#getSink--">getSink</a></span>()</code>
<div class="block">Getter for the sink property</div>
<td class="colLast"><span class="typeNameLabel">ElementConnectionData.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/ElementConnectionData.html#getSink--">getSink</a></span>()</code>
<div class="block">get The sink element in the connection</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/kurento/client/MediaElement.html" title="interface in org.kurento.client">MediaElement</a></code></td>
<td class="colLast"><span class="typeNameLabel">ElementConnectionData.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/ElementConnectionData.html#getSink--">getSink</a></span>()</code>
<div class="block">get The sink element in the connection</div>
<td class="colLast"><span class="typeNameLabel">ElementConnectedEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/ElementConnectedEvent.html#getSink--">getSink</a></span>()</code>
<div class="block">Getter for the sink property</div>
</td>
</tr>
<tr class="altColor">
Expand Down Expand Up @@ -462,14 +462,14 @@ <h3>Uses of <a href="../../../../org/kurento/client/MediaElement.html" title="in
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">ElementConnectedEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/ElementConnectedEvent.html#setSink-org.kurento.client.MediaElement-">setSink</a></span>(<a href="../../../../org/kurento/client/MediaElement.html" title="interface in org.kurento.client">MediaElement</a>&nbsp;sink)</code>
<div class="block">Setter for the sink property</div>
<td class="colLast"><span class="typeNameLabel">ElementConnectionData.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/ElementConnectionData.html#setSink-org.kurento.client.MediaElement-">setSink</a></span>(<a href="../../../../org/kurento/client/MediaElement.html" title="interface in org.kurento.client">MediaElement</a>&nbsp;sink)</code>
<div class="block">set The sink element in the connection</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">ElementConnectionData.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/ElementConnectionData.html#setSink-org.kurento.client.MediaElement-">setSink</a></span>(<a href="../../../../org/kurento/client/MediaElement.html" title="interface in org.kurento.client">MediaElement</a>&nbsp;sink)</code>
<div class="block">set The sink element in the connection</div>
<td class="colLast"><span class="typeNameLabel">ElementConnectedEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/ElementConnectedEvent.html#setSink-org.kurento.client.MediaElement-">setSink</a></span>(<a href="../../../../org/kurento/client/MediaElement.html" title="interface in org.kurento.client">MediaElement</a>&nbsp;sink)</code>
<div class="block">Setter for the sink property</div>
</td>
</tr>
<tr class="altColor">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,14 +89,14 @@ <h3>Uses of <a href="../../../../org/kurento/client/MediaFlowState.html" title="
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/kurento/client/MediaFlowState.html" title="enum in org.kurento.client">MediaFlowState</a></code></td>
<td class="colLast"><span class="typeNameLabel">MediaFlowInStateChangeEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/MediaFlowInStateChangeEvent.html#getState--">getState</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<td class="colLast"><span class="typeNameLabel">MediaFlowOutStateChangedEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/MediaFlowOutStateChangedEvent.html#getState--">getState</a></span>()</code>
<div class="block">Getter for the state property</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/kurento/client/MediaFlowState.html" title="enum in org.kurento.client">MediaFlowState</a></code></td>
<td class="colLast"><span class="typeNameLabel">MediaFlowOutStateChangedEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/MediaFlowOutStateChangedEvent.html#getState--">getState</a></span>()</code>
<td class="colLast"><span class="typeNameLabel">MediaFlowInStateChangeEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/MediaFlowInStateChangeEvent.html#getState--">getState</a></span>()</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<div class="block">Getter for the state property</div>
</td>
</tr>
Expand Down Expand Up @@ -137,14 +137,14 @@ <h3>Uses of <a href="../../../../org/kurento/client/MediaFlowState.html" title="
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">MediaFlowInStateChangeEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/MediaFlowInStateChangeEvent.html#setState-org.kurento.client.MediaFlowState-">setState</a></span>(<a href="../../../../org/kurento/client/MediaFlowState.html" title="enum in org.kurento.client">MediaFlowState</a>&nbsp;state)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<td class="colLast"><span class="typeNameLabel">MediaFlowOutStateChangedEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/MediaFlowOutStateChangedEvent.html#setState-org.kurento.client.MediaFlowState-">setState</a></span>(<a href="../../../../org/kurento/client/MediaFlowState.html" title="enum in org.kurento.client">MediaFlowState</a>&nbsp;state)</code>
<div class="block">Setter for the state property</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">MediaFlowOutStateChangedEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/MediaFlowOutStateChangedEvent.html#setState-org.kurento.client.MediaFlowState-">setState</a></span>(<a href="../../../../org/kurento/client/MediaFlowState.html" title="enum in org.kurento.client">MediaFlowState</a>&nbsp;state)</code>
<td class="colLast"><span class="typeNameLabel">MediaFlowInStateChangeEvent.</span><code><span class="memberNameLink"><a href="../../../../org/kurento/client/MediaFlowInStateChangeEvent.html#setState-org.kurento.client.MediaFlowState-">setState</a></span>(<a href="../../../../org/kurento/client/MediaFlowState.html" title="enum in org.kurento.client">MediaFlowState</a>&nbsp;state)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
<div class="block">Setter for the state property</div>
</td>
</tr>
Expand Down

0 comments on commit 0d20a28

Please sign in to comment.