VideoCanvas

Attributes of the video canvas object.

@JsonSerializable(explicitToJson: true, includeIfNull: false)
class VideoCanvas {
  const VideoCanvas(
      {this.uid,
      this.subviewUid,
      this.view,
      this.backgroundColor,
      this.renderMode,
      this.mirrorMode,
      this.setupMode,
      this.sourceType,
      this.mediaPlayerId,
      this.cropArea,
      this.enableAlphaMask,
      this.position});

  @JsonKey(name: 'uid')
  final int? uid;

  @JsonKey(name: 'subviewUid')
  final int? subviewUid;

  @JsonKey(name: 'view')
  final int? view;

  @JsonKey(name: 'backgroundColor')
  final int? backgroundColor;

  @JsonKey(name: 'renderMode')
  final RenderModeType? renderMode;

  @JsonKey(name: 'mirrorMode')
  final VideoMirrorModeType? mirrorMode;

  @JsonKey(name: 'setupMode')
  final VideoViewSetupMode? setupMode;

  @JsonKey(name: 'sourceType')
  final VideoSourceType? sourceType;

  @JsonKey(name: 'mediaPlayerId')
  final int? mediaPlayerId;

  @JsonKey(name: 'cropArea')
  final Rectangle? cropArea;

  @JsonKey(name: 'enableAlphaMask')
  final bool? enableAlphaMask;

  @JsonKey(name: 'position')
  final VideoModulePosition? position;

  factory VideoCanvas.fromJson(Map<String, dynamic> json) =>
      _$VideoCanvasFromJson(json);

  Map<String, dynamic> toJson() => _$VideoCanvasToJson(this);
}

Attributes

uid
User ID that publishes the video source.
For Android and iOS platforms, when the video source is a mixed video stream ( videoSourceTranscoded), this parameter represents the ID of the user who publishes the mixed video stream.
subviewUid
The ID of the user who publishes a specific sub-video stream within the mixed video stream.
view
The video display window.
Attention: In one VideoCanvas, you can only choose to set either view or surfaceTexture. If both are set, only the settings in view take effect.
renderMode
The rendering mode of the video. See RenderModeType.
mirrorMode

The mirror mode of the view. See VideoMirrorModeType.

Attention:
  • For the mirror mode of the local video view: If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.
  • For the remote user: The mirror mode is disabled by default.
uid
The user ID.
sourceType
The type of the video source. See VideoSourceType.
setupMode
Setting mode of the view. See VideoViewSetupMode.
mediaPlayerId
The ID of the media player. You can get the Device ID by calling getMediaPlayerId.
This parameter is required when sourceType is videoSourceMediaPlayer.
cropArea
(Optional) Display area of the video frame, see Rectangle. width and height represent the video pixel width and height of the area. The default value is null (width or height is 0), which means that the actual resolution of the video frame is displayed.
backgroundColor
The background color of the video canvas in RGBA format. The default value is 0x00000000, which represents completely transparent black.
enableAlphaMask
(Optional) Whether the receiver enables alpha mask rendering:
  • true: The receiver enables alpha mask rendering.
  • false: (Default) The receiver disables alpha mask rendering.

Alpha mask rendering can create images with transparent effects and extract portraits from videos. When used in combination with other methods, you can implement effects such as portrait-in-picture and watermarking.

Attention:
  • The receiver can render alpha channel information only when the sender enables alpha transmission.
  • To enable alpha transmission, technical support.
position
The observation position of the video frame in the video link. See VideoModulePosition.