Constructor
(abstract) new BaseRtpEndpoint()
- Source:
Fires:
Extends
Members
(static) constructorParams
- Source:
(static) events
- Source:
Methods
Children of this MediaObject
.
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
Children of this MediaObject
.
Parameters:
- Inherited From:
- Deprecated:
- Source:
Returns:
-
Type
-
external:Promise
getConnectionState(callbackopt) → {external:Promise}
Parameters:
- Source:
Returns:
-
Type
-
external:Promise
getCreationTime(callbackopt) → {external:Promise}
MediaObject
creation time in seconds since Epoch.
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
getMaxAudioRecvBandwidth(callbackopt) → {external:Promise}
Maximum bitrate expected for the received audio stream.
This is used to put a limit on the bitrate that the remote peer will send
to
this endpoint. The net effect of setting this parameter is that
when Kurento generates an SDP Offer, an 'Application Specific' (AS)
maximum bandwidth attribute will be added to the SDP media section:
b=AS:{value}
.
Note: This parameter has to be set before the SDP is generated.
- Unit: kbps (kilobits per second).
- Default: 0.
- 0 = unconstrained.
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
getMaxOuputBitrate(callbackopt) → {external:Promise}
Maximum video bandwidth for transcoding.
Parameters:
- Inherited From:
- Deprecated:
- Deprecated due to a typo. Use module:core/abstracts.MediaElement#maxOutputBitrate instead of this
function.
- Source:
Returns:
-
Type
-
external:Promise
getMaxOutputBitrate(callbackopt) → {external:Promise}
Maximum video bitrate for transcoding.
- Unit: bps (bits per second).
- Default: MAXINT.
- 0 = unlimited.
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
getMaxVideoRecvBandwidth(callbackopt) → {external:Promise}
Maximum bitrate expected for the received video stream.
This is used to put a limit on the bitrate that the remote peer will send
to
this endpoint. The net effect of setting this parameter is that
when Kurento generates an SDP Offer, an 'Application Specific' (AS)
maximum bandwidth attribute will be added to the SDP media section:
b=AS:{value}
.
Note: This parameter has to be set before the SDP is generated.
- Unit: kbps (kilobits per second).
- Default: 0.
- 0 = unconstrained.
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
getMaxVideoSendBandwidth(callbackopt) → {external:Promise}
Maximum video bitrate sent to remote peer.
With this parameter you can control the maximum video quality that will be
sent when reacting to good network conditions. Setting this parameter to a
high value permits the video quality to raise when the network conditions
get
better.
This parameter provides a way to limit the bitrate requested by remote REMB
bandwidth estimations: the bitrate sent will be always equal or less than
this parameter, even if the remote peer requests higher bitrates.
Note that the default value of 500 kbps is a VERY
conservative one, and leads to a low maximum video quality. Most
applications
will probably want to increase this parameter to higher values such as 2000
mbps) or even 10000 (10 mbps).
The REMB congestion control algorithm works by gradually increasing the
output
video bitrate, until the available bandwidth is fully used or the maximum
send
bitrate has been reached. This is a slow, progressive change, which starts
at
300 kbps by default. You can change the default starting point of REMB
estimations, by setting RembParams.rembOnConnect
.
- Unit: kbps (kilobits per second).
- Default: 500.
-
0 = unconstrained: the video bitrate will grow until all the available
network bandwidth is used by the stream.
Note that this might have a bad effect if more than one stream is running
(as all of them would try to raise the video bitrate indefinitely, until
the
network gets saturated).
Parameters:
- Source:
Returns:
-
Type
-
external:Promise
MediaPipeline to which this
MediaObject
belongs. It returns itself when invoked for a
pipeline object.
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
Media flow state.
- CONNECTED: There is an RTCP flow.
- DISCONNECTED: No RTCP packets have been received for at least 5
sec.
Parameters:
- Source:
Returns:
-
Type
-
external:Promise
getMinOuputBitrate(callbackopt) → {external:Promise}
Minimum video bandwidth for transcoding.
Parameters:
- Inherited From:
- Deprecated:
- Deprecated due to a typo. Use module:core/abstracts.MediaElement#minOutputBitrate instead of this
function.
- Source:
Returns:
-
Type
-
external:Promise
getMinOutputBitrate(callbackopt) → {external:Promise}
Minimum video bitrate for transcoding.
- Unit: bps (bits per second).
- Default: 0.
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
getMinVideoRecvBandwidth(callbackopt) → {external:Promise}
Minimum bitrate requested on the received video stream.
This is used to set a minimum value of local REMB during bandwidth
estimation,
if supported by the implementing class. The REMB estimation will then be
sent
to remote peers, requesting them to send at least the indicated video
bitrate.
It follows that min values will only have effect in remote peers that
support
this congestion control mechanism, such as Chrome.
- Unit: kbps (kilobits per second).
- Default: 0.
-
Note: The absolute minimum REMB value is 30 kbps, even if a lower value
is
set here.
Parameters:
- Source:
Returns:
-
Type
-
external:Promise
getMinVideoSendBandwidth(callbackopt) → {external:Promise}
Minimum video bitrate sent to remote peer.
With this parameter you can control the minimum video quality that will be
sent when reacting to bad network conditions. Setting this parameter to a
low
value permits the video quality to drop when the network conditions get
worse.
This parameter provides a way to override the bitrate requested by remote
REMB
bandwidth estimations: the bitrate sent will be always equal or greater
than
this parameter, even if the remote peer requests even lower bitrates.
Note that if you set this parameter too high (trying to avoid bad video
quality altogether), you would be limiting the adaptation ability of the
congestion control algorithm, and your stream might be unable to ever
recover
from adverse network conditions.
- Unit: kbps (kilobits per second).
- Default: 100.
-
0 = unconstrained: the video bitrate will drop as needed, even to the
lowest possible quality, which might make the video completely blurry and
pixelated.
Parameters:
- Source:
Returns:
-
Type
-
external:Promise
Maximum Transmission Unit (MTU) used for RTP.
This setting affects the maximum size that will be used by RTP payloads.
You
can change it from the default, if you think that a different value would
be
beneficial for the typical network settings of your application.
The default value is 1200 Bytes. This is the same as in libwebrtc
(from
webrtc.org), as used by
Firefox
or
Chrome
. You can read more about this value in
Why RTP max packet size is 1200 in WebRTC?
.
WARNING: Change this value ONLY if you really know what you are
doing
and you have strong reasons to do so. Do NOT change this parameter just
because it seems to work better for some reduced scope tests. The
default value is a consensus chosen by people who have deep knowledge about
network optimization.
- Unit: Bytes.
- Default: 1200.
Parameters:
- Source:
Returns:
-
Type
-
external:Promise
This
MediaObject
's name.
This is just sugar to simplify developers' life debugging, it is not used
internally for indexing nor identifying the objects. By default, it's the
object's ID.
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
Advanced parameters to configure the congestion control algorithm.
Parameters:
- Source:
Returns:
-
Type
-
external:Promise
Flag activating or deactivating sending the element's tags in fired events.
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
setMaxAudioRecvBandwidth(maxAudioRecvBandwidth, callbackopt) → {external:Promise}
Maximum bitrate expected for the received audio stream.
This is used to put a limit on the bitrate that the remote peer will send
to
this endpoint. The net effect of setting this parameter is that
when Kurento generates an SDP Offer, an 'Application Specific' (AS)
maximum bandwidth attribute will be added to the SDP media section:
b=AS:{value}
.
Note: This parameter has to be set before the SDP is generated.
- Unit: kbps (kilobits per second).
- Default: 0.
- 0 = unconstrained.
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
setMaxOuputBitrate(maxOuputBitrate, callbackopt) → {external:Promise}
Maximum video bandwidth for transcoding.
Parameters:
- Inherited From:
- Deprecated:
- Deprecated due to a typo. Use module:core/abstracts.MediaElement#maxOutputBitrate instead of this
function.
- Source:
Returns:
-
Type
-
external:Promise
setMaxOutputBitrate(maxOutputBitrate, callbackopt) → {external:Promise}
Maximum video bitrate for transcoding.
- Unit: bps (bits per second).
- Default: MAXINT.
- 0 = unlimited.
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
setMaxVideoRecvBandwidth(maxVideoRecvBandwidth, callbackopt) → {external:Promise}
Maximum bitrate expected for the received video stream.
This is used to put a limit on the bitrate that the remote peer will send
to
this endpoint. The net effect of setting this parameter is that
when Kurento generates an SDP Offer, an 'Application Specific' (AS)
maximum bandwidth attribute will be added to the SDP media section:
b=AS:{value}
.
Note: This parameter has to be set before the SDP is generated.
- Unit: kbps (kilobits per second).
- Default: 0.
- 0 = unconstrained.
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
setMaxVideoSendBandwidth(maxVideoSendBandwidth, callbackopt) → {external:Promise}
Maximum video bitrate sent to remote peer.
With this parameter you can control the maximum video quality that will be
sent when reacting to good network conditions. Setting this parameter to a
high value permits the video quality to raise when the network conditions
get
better.
This parameter provides a way to limit the bitrate requested by remote REMB
bandwidth estimations: the bitrate sent will be always equal or less than
this parameter, even if the remote peer requests higher bitrates.
Note that the default value of 500 kbps is a VERY
conservative one, and leads to a low maximum video quality. Most
applications
will probably want to increase this parameter to higher values such as 2000
mbps) or even 10000 (10 mbps).
The REMB congestion control algorithm works by gradually increasing the
output
video bitrate, until the available bandwidth is fully used or the maximum
send
bitrate has been reached. This is a slow, progressive change, which starts
at
300 kbps by default. You can change the default starting point of REMB
estimations, by setting RembParams.rembOnConnect
.
- Unit: kbps (kilobits per second).
- Default: 500.
-
0 = unconstrained: the video bitrate will grow until all the available
network bandwidth is used by the stream.
Note that this might have a bad effect if more than one stream is running
(as all of them would try to raise the video bitrate indefinitely, until
the
network gets saturated).
Parameters:
- Source:
Returns:
-
Type
-
external:Promise
setMinOuputBitrate(minOuputBitrate, callbackopt) → {external:Promise}
Minimum video bandwidth for transcoding.
Parameters:
- Inherited From:
- Deprecated:
- Deprecated due to a typo. Use module:core/abstracts.MediaElement#minOutputBitrate instead of this
function.
- Source:
Returns:
-
Type
-
external:Promise
setMinOutputBitrate(minOutputBitrate, callbackopt) → {external:Promise}
Minimum video bitrate for transcoding.
- Unit: bps (bits per second).
- Default: 0.
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
setMinVideoRecvBandwidth(minVideoRecvBandwidth, callbackopt) → {external:Promise}
Minimum bitrate requested on the received video stream.
This is used to set a minimum value of local REMB during bandwidth
estimation,
if supported by the implementing class. The REMB estimation will then be
sent
to remote peers, requesting them to send at least the indicated video
bitrate.
It follows that min values will only have effect in remote peers that
support
this congestion control mechanism, such as Chrome.
- Unit: kbps (kilobits per second).
- Default: 0.
-
Note: The absolute minimum REMB value is 30 kbps, even if a lower value
is
set here.
Parameters:
- Source:
Returns:
-
Type
-
external:Promise
setMinVideoSendBandwidth(minVideoSendBandwidth, callbackopt) → {external:Promise}
Minimum video bitrate sent to remote peer.
With this parameter you can control the minimum video quality that will be
sent when reacting to bad network conditions. Setting this parameter to a
low
value permits the video quality to drop when the network conditions get
worse.
This parameter provides a way to override the bitrate requested by remote
REMB
bandwidth estimations: the bitrate sent will be always equal or greater
than
this parameter, even if the remote peer requests even lower bitrates.
Note that if you set this parameter too high (trying to avoid bad video
quality altogether), you would be limiting the adaptation ability of the
congestion control algorithm, and your stream might be unable to ever
recover
from adverse network conditions.
- Unit: kbps (kilobits per second).
- Default: 100.
-
0 = unconstrained: the video bitrate will drop as needed, even to the
lowest possible quality, which might make the video completely blurry and
pixelated.
Parameters:
- Source:
Returns:
-
Type
-
external:Promise
Maximum Transmission Unit (MTU) used for RTP.
This setting affects the maximum size that will be used by RTP payloads.
You
can change it from the default, if you think that a different value would
be
beneficial for the typical network settings of your application.
The default value is 1200 Bytes. This is the same as in libwebrtc
(from
webrtc.org), as used by
Firefox
or
Chrome
. You can read more about this value in
Why RTP max packet size is 1200 in WebRTC?
.
WARNING: Change this value ONLY if you really know what you are
doing
and you have strong reasons to do so. Do NOT change this parameter just
because it seems to work better for some reduced scope tests. The
default value is a consensus chosen by people who have deep knowledge about
network optimization.
- Unit: Bytes.
- Default: 1200.
Parameters:
- Source:
Returns:
-
Type
-
external:Promise
This
MediaObject
's name.
This is just sugar to simplify developers' life debugging, it is not used
internally for indexing nor identifying the objects. By default, it's the
object's ID.
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
setRembParams(rembParams, callbackopt) → {external:Promise}
Advanced parameters to configure the congestion control algorithm.
Parameters:
- Source:
Returns:
-
Type
-
external:Promise
Flag activating or deactivating sending the element's tags in fired events.
Parameters:
- Inherited From:
- Source:
Returns:
-
Type
-
external:Promise
Type Definitions
getConnectionStateCallback(error, result)
Parameters:
Name |
Type |
Description |
error |
external:Error
|
|
result |
module:core/complexTypes.ConnectionState
|
|
- Source:
getMaxVideoSendBandwidthCallback(error, result)
Parameters:
- Source:
Parameters:
Name |
Type |
Description |
error |
external:Error
|
|
result |
module:core/complexTypes.MediaState
|
|
- Source:
getMinVideoRecvBandwidthCallback(error, result)
Parameters:
- Source:
getMinVideoSendBandwidthCallback(error, result)
Parameters:
- Source:
getMtuCallback(error, result)
Parameters:
- Source:
getRembParamsCallback(error, result)
Parameters:
- Source:
setMaxVideoSendBandwidthCallback(error)
Parameters:
- Source:
setMinVideoRecvBandwidthCallback(error)
Parameters:
- Source:
setMinVideoSendBandwidthCallback(error)
Parameters:
- Source:
setMtuCallback(error)
Parameters:
- Source:
setRembParamsCallback(error)
Parameters:
- Source: