Class: FaceOverlayFilter

filters.FaceOverlayFilter()

FaceOverlayFilter interface. This type of Filter detects faces in a video feed. The face is then overlaid with an image.

Constructor

new FaceOverlayFilter()

FaceOverlayFilter interface. This type of Filter detects faces in a video feed. The face is then overlaid with an image.
Source:

Extends

Members

(static) constructorParams

Properties:
Name Type Description
mediaPipeline module:core.MediaPipeline pipeline to which this Filter belons
Source:

(static) events

Source:

Methods

(static) setOverlayedImage(uri, offsetXPercent, offsetYPercent, widthPercent, heightPercent, callbackopt) → {external:Promise}

Sets the image to use as overlay on the detected faces.
Parameters:
Name Type Attributes Description
uri external:String URI where the image is located
offsetXPercent external:Number the offset applied to the image, from the X coordinate of the detected face upper right corner. A positive value indicates right displacement, while a negative value moves the overlaid image to the left. This offset is specified as a percentage of the face width. For example, to cover the detected face with the overlaid image, the parameter has to be 0.0. Values of 1.0 or -1.0 indicate that the image upper right corner will be at the face´s X coord, +- the face´s width.
Note The parameter name is misleading, the value is not a percent but a ratio
offsetYPercent external:Number the offset applied to the image, from the Y coordinate of the detected face upper right corner. A positive value indicates up displacement, while a negative value moves the overlaid image down. This offset is specified as a percentage of the face width. For example, to cover the detected face with the overlaid image, the parameter has to be 0.0. Values of 1.0 or -1.0 indicate that the image upper right corner will be at the face´s Y coord, +- the face´s width.
Note The parameter name is misleading, the value is not a percent but a ratio
widthPercent external:Number proportional width of the overlaid image, relative to the width of the detected face. A value of 1.0 implies that the overlaid image will have the same width as the detected face. Values greater than 1.0 are allowed, while negative values are forbidden.
Note The parameter name is misleading, the value is not a percent but a ratio
heightPercent external:Number proportional height of the overlaid image, relative to the height of the detected face. A value of 1.0 implies that the overlaid image will have the same height as the detected face. Values greater than 1.0 are allowed, while
Note The parameter name is misleading, the value is not a percent but a ratio
callback module:filters.FaceOverlayFilter~setOverlayedImageCallback <optional>
Source:
Returns:
Type
external:Promise

(static) unsetOverlayedImage(callbackopt) → {external:Promise}

Clear the image to be shown over each detected face. Stops overlaying the faces.
Parameters:
Name Type Attributes Description
callback module:filters.FaceOverlayFilter~unsetOverlayedImageCallback <optional>
Source:
Returns:
Type
external:Promise

getChildren(callbackopt) → {external:Promise}

Children of this MediaObject.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaObject~getChildrenCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getCreationTime(callbackopt) → {external:Promise}

MediaObject creation time in seconds since Epoch.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaObject~getCreationTimeCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getEncoderBitrate(callbackopt) → {external:Promise}

Target video bitrate for media transcoding.

The bitrate of a video has a direct impact on its perceived image quality. Higher bitrate means higher quality, but also a larger amount of bytes to transmit or store. Use this parameter to set the desired average bitrate in videos that are transcoded by the media server.

This parameter is most useful for :rom:cls:`RecorderEndpoint` and :rom:cls:`RtpEndpoint`: when media is being transcoded (either for streaming or storing on disk), the resulting quality is directly controlled with this value.

For :rom:cls:`WebRtcEndpoint`, this value should be left as default, as remote WebRTC receivers will already send feedback to inform the media server about what is the optimal bitrate to send.

Setting a value will only work if done before the media starts to flow.

  • Unit: bps (bits per second).
  • Default: 300000 (300 kbps).
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaElement~getEncoderBitrateCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getMaxEncoderBitrate(callbackopt) → {external:Promise}

Maximum video bitrate for media transcoding.

This parameter can be used to fine tune the automatic bitrate selection that normally takes place within elements that are able to dynamically change the encoding bitrate according to the conditions of the streaming, such as :rom:cls:`WebRtcEndpoint`.

This should be left as default in most cases, given that remote WebRTC receivers already send feedback to inform the media server about what is the optimal bitrate to send. Otherwise, this parameter could be used for example to limit the total bitrate that is handled by the server, by setting a low maximum output for all endpoints.

This should be left as default in most cases, given that remote WebRTC receivers already send feedback to inform the media server about what is the optimal bitrate to send. Otherwise, this parameter could be used for example to limit the total bitrate that is handled by the server, by setting a low maximum output for all endpoints.

Setting a value will only work if done before the media starts to flow.

  • Unit: bps (bits per second).
  • Default: 0.
  • 0 = unlimited. Encoding performed with bitrate as requested by receivers.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaElement~getMaxEncoderBitrateCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getMediaPipeline(callbackopt) → {external:Promise}

MediaPipeline to which this MediaObject belongs. It returns itself when invoked for a pipeline object.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaObject~getMediaPipelineCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getMinEncoderBitrate(callbackopt) → {external:Promise}

Minimum video bitrate for media transcoding.

This parameter can be used to fine tune the automatic bitrate selection that normally takes place within elements that are able to dynamically change the encoding bitrate according to the conditions of the streaming, such as :rom:cls:`WebRtcEndpoint`.

This should be left as default in most cases, given that remote WebRTC receivers already send feedback to inform the media server about what is the optimal bitrate to send. Otherwise, this parameter could be used for example to force a higher bitrate than what is being requested by receivers.

Setting a value will only work if done before the media starts to flow.

  • Unit: bps (bits per second).
  • Default: 0.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaElement~getMinEncoderBitrateCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getName(callbackopt) → {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:
Name Type Attributes Description
callback module:core/abstracts.MediaObject~getNameCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getParent(callbackopt) → {external:Promise}

Parent of this MediaObject.

The parent of a Hub or a MediaElement is its MediaPipeline. A MediaPipeline has no parent, so this property will be null.

Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaObject~getParentCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

getSendTagsInEvents(callbackopt) → {external:Promise}

Flag activating or deactivating sending the element's tags in fired events.
Parameters:
Name Type Attributes Description
callback module:core/abstracts.MediaObject~getSendTagsInEventsCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

setEncoderBitrate(encoderBitrate, callbackopt) → {external:Promise}

Target video bitrate for media transcoding.

The bitrate of a video has a direct impact on its perceived image quality. Higher bitrate means higher quality, but also a larger amount of bytes to transmit or store. Use this parameter to set the desired average bitrate in videos that are transcoded by the media server.

This parameter is most useful for :rom:cls:`RecorderEndpoint` and :rom:cls:`RtpEndpoint`: when media is being transcoded (either for streaming or storing on disk), the resulting quality is directly controlled with this value.

For :rom:cls:`WebRtcEndpoint`, this value should be left as default, as remote WebRTC receivers will already send feedback to inform the media server about what is the optimal bitrate to send.

Setting a value will only work if done before the media starts to flow.

  • Unit: bps (bits per second).
  • Default: 300000 (300 kbps).
Parameters:
Name Type Attributes Description
encoderBitrate external:Integer
callback module:core/abstracts.MediaElement~setEncoderBitrateCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

setMaxEncoderBitrate(maxEncoderBitrate, callbackopt) → {external:Promise}

Maximum video bitrate for media transcoding.

This parameter can be used to fine tune the automatic bitrate selection that normally takes place within elements that are able to dynamically change the encoding bitrate according to the conditions of the streaming, such as :rom:cls:`WebRtcEndpoint`.

This should be left as default in most cases, given that remote WebRTC receivers already send feedback to inform the media server about what is the optimal bitrate to send. Otherwise, this parameter could be used for example to limit the total bitrate that is handled by the server, by setting a low maximum output for all endpoints.

This should be left as default in most cases, given that remote WebRTC receivers already send feedback to inform the media server about what is the optimal bitrate to send. Otherwise, this parameter could be used for example to limit the total bitrate that is handled by the server, by setting a low maximum output for all endpoints.

Setting a value will only work if done before the media starts to flow.

  • Unit: bps (bits per second).
  • Default: 0.
  • 0 = unlimited. Encoding performed with bitrate as requested by receivers.
Parameters:
Name Type Attributes Description
maxEncoderBitrate external:Integer
callback module:core/abstracts.MediaElement~setMaxEncoderBitrateCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

setMinEncoderBitrate(minEncoderBitrate, callbackopt) → {external:Promise}

Minimum video bitrate for media transcoding.

This parameter can be used to fine tune the automatic bitrate selection that normally takes place within elements that are able to dynamically change the encoding bitrate according to the conditions of the streaming, such as :rom:cls:`WebRtcEndpoint`.

This should be left as default in most cases, given that remote WebRTC receivers already send feedback to inform the media server about what is the optimal bitrate to send. Otherwise, this parameter could be used for example to force a higher bitrate than what is being requested by receivers.

Setting a value will only work if done before the media starts to flow.

  • Unit: bps (bits per second).
  • Default: 0.
Parameters:
Name Type Attributes Description
minEncoderBitrate external:Integer
callback module:core/abstracts.MediaElement~setMinEncoderBitrateCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

setName(name, callbackopt) → {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:
Name Type Attributes Description
name external:String
callback module:core/abstracts.MediaObject~setNameCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

setSendTagsInEvents(sendTagsInEvents, callbackopt) → {external:Promise}

Flag activating or deactivating sending the element's tags in fired events.
Parameters:
Name Type Attributes Description
sendTagsInEvents external:Boolean
callback module:core/abstracts.MediaObject~setSendTagsInEventsCallback <optional>
Inherited From:
Source:
Returns:
Type
external:Promise

Type Definitions

setOverlayedImageCallback(error)

Parameters:
Name Type Description
error external:Error
Source:

unsetOverlayedImageCallback(error)

Parameters:
Name Type Description
error external:Error
Source: