div-video

Video.

JSON

{
  type*: "video",
  accessibility: {
    description: "string",
    hint: "string",
    mode: "string",
    mute_after_action: "bool_int",
    state_description: "string",
    type: "string"
  },
  alignment_horizontal: "string",
  alignment_vertical: "string",
  alpha: "number",
  aspect: {
    ratio*: "number"
  },
  autostart: "bool_int",
  background: [ div-background, ... ],
  border: {
    corner_radius: "int",
    corners_radius: {
      bottom-left: "int",
      bottom-right: "int",
      top-left: "int",
      top-right: "int"
    },
    has_shadow: "bool_int",
    shadow: {
      alpha: "number",
      blur: "int",
      color: "string",
      offset*: {
        x*: {
          unit: "string",
          value*: "number"
        },
        y*: {
          unit: "string",
          value*: "number"
        }
      }
    },
    stroke: {
      color*: "string",
      unit: "string",
      width: "int"
    }
  },
  buffering_actions: [
    {
      download_callbacks: {
        on_fail_actions: [ div-action, ... ],
        on_success_actions: [ div-action, ... ]
      },
      is_enabled: "bool_int",
      log_id*: "string",
      log_url: "string",
      menu_items: [
        {
          action: div-action,
          actions: [ div-action, ... ],
          text*: "string"
        },
        ...
      ],
      payload: "object",
      referer: "string",
      target: "string",
      typed: div-action-typed,
      url: "string"
    },
    ...
  ],
  column_span: "int",
  disappear_actions: [
    {
      disappear_duration: "int",
      download_callbacks: {
        on_fail_actions: [
          {
            download_callbacks: div-download-callbacks,
            is_enabled: "bool_int",
            log_id*: "string",
            log_url: "string",
            menu_items: [
              {
                action: div-action,
                actions: [ div-action, ... ],
                text*: "string"
              },
              ...
            ],
            payload: "object",
            referer: "string",
            target: "string",
            typed: div-action-typed,
            url: "string"
          },
          ...
        ],
        on_success_actions: [
          {
            download_callbacks: div-download-callbacks,
            is_enabled: "bool_int",
            log_id*: "string",
            log_url: "string",
            menu_items: [
              {
                action: div-action,
                actions: [ div-action, ... ],
                text*: "string"
              },
              ...
            ],
            payload: "object",
            referer: "string",
            target: "string",
            typed: div-action-typed,
            url: "string"
          },
          ...
        ]
      },
      is_enabled: "bool_int",
      log_id*: "string",
      log_limit: "int",
      payload: "object",
      referer: "string",
      typed: div-action-typed,
      url: "string",
      visibility_percentage: "int"
    },
    ...
  ],
  elapsed_time_variable: "string",
  end_actions: [
    {
      download_callbacks: {
        on_fail_actions: [ div-action, ... ],
        on_success_actions: [ div-action, ... ]
      },
      is_enabled: "bool_int",
      log_id*: "string",
      log_url: "string",
      menu_items: [
        {
          action: div-action,
          actions: [ div-action, ... ],
          text*: "string"
        },
        ...
      ],
      payload: "object",
      referer: "string",
      target: "string",
      typed: div-action-typed,
      url: "string"
    },
    ...
  ],
  extensions: [
    {
      id*: "string",
      params: "object"
    },
    ...
  ],
  fatal_actions: [
    {
      download_callbacks: {
        on_fail_actions: [ div-action, ... ],
        on_success_actions: [ div-action, ... ]
      },
      is_enabled: "bool_int",
      log_id*: "string",
      log_url: "string",
      menu_items: [
        {
          action: div-action,
          actions: [ div-action, ... ],
          text*: "string"
        },
        ...
      ],
      payload: "object",
      referer: "string",
      target: "string",
      typed: div-action-typed,
      url: "string"
    },
    ...
  ],
  focus: {
    background: [ div-background, ... ],
    border: {
      corner_radius: "int",
      corners_radius: {
        bottom-left: "int",
        bottom-right: "int",
        top-left: "int",
        top-right: "int"
      },
      has_shadow: "bool_int",
      shadow: {
        alpha: "number",
        blur: "int",
        color: "string",
        offset*: {
          x*: {
            unit: "string",
            value*: "number"
          },
          y*: {
            unit: "string",
            value*: "number"
          }
        }
      },
      stroke: {
        color*: "string",
        unit: "string",
        width: "int"
      }
    },
    next_focus_ids: {
      down: "string",
      forward: "string",
      left: "string",
      right: "string",
      up: "string"
    },
    on_blur: [
      {
        download_callbacks: {
          on_fail_actions: [ div-action, ... ],
          on_success_actions: [ div-action, ... ]
        },
        is_enabled: "bool_int",
        log_id*: "string",
        log_url: "string",
        menu_items: [
          {
            action: div-action,
            actions: [ div-action, ... ],
            text*: "string"
          },
          ...
        ],
        payload: "object",
        referer: "string",
        target: "string",
        typed: div-action-typed,
        url: "string"
      },
      ...
    ],
    on_focus: [
      {
        download_callbacks: {
          on_fail_actions: [ div-action, ... ],
          on_success_actions: [ div-action, ... ]
        },
        is_enabled: "bool_int",
        log_id*: "string",
        log_url: "string",
        menu_items: [
          {
            action: div-action,
            actions: [ div-action, ... ],
            text*: "string"
          },
          ...
        ],
        payload: "object",
        referer: "string",
        target: "string",
        typed: div-action-typed,
        url: "string"
      },
      ...
    ]
  },
  height: div-size,
  id: "string",
  margins: {
    bottom: "int",
    end: "int",
    left: "int",
    right: "int",
    start: "int",
    top: "int",
    unit: "string"
  },
  muted: "bool_int",
  paddings: {
    bottom: "int",
    end: "int",
    left: "int",
    right: "int",
    start: "int",
    top: "int",
    unit: "string"
  },
  pause_actions: [
    {
      download_callbacks: {
        on_fail_actions: [ div-action, ... ],
        on_success_actions: [ div-action, ... ]
      },
      is_enabled: "bool_int",
      log_id*: "string",
      log_url: "string",
      menu_items: [
        {
          action: div-action,
          actions: [ div-action, ... ],
          text*: "string"
        },
        ...
      ],
      payload: "object",
      referer: "string",
      target: "string",
      typed: div-action-typed,
      url: "string"
    },
    ...
  ],
  player_settings_payload: "object",
  preload_required: "bool_int",
  preview: "string",
  repeatable: "bool_int",
  resume_actions: [
    {
      download_callbacks: {
        on_fail_actions: [ div-action, ... ],
        on_success_actions: [ div-action, ... ]
      },
      is_enabled: "bool_int",
      log_id*: "string",
      log_url: "string",
      menu_items: [
        {
          action: div-action,
          actions: [ div-action, ... ],
          text*: "string"
        },
        ...
      ],
      payload: "object",
      referer: "string",
      target: "string",
      typed: div-action-typed,
      url: "string"
    },
    ...
  ],
  row_span: "int",
  scale: "string",
  selected_actions: [
    {
      download_callbacks: {
        on_fail_actions: [ div-action, ... ],
        on_success_actions: [ div-action, ... ]
      },
      is_enabled: "bool_int",
      log_id*: "string",
      log_url: "string",
      menu_items: [
        {
          action: div-action,
          actions: [ div-action, ... ],
          text*: "string"
        },
        ...
      ],
      payload: "object",
      referer: "string",
      target: "string",
      typed: div-action-typed,
      url: "string"
    },
    ...
  ],
  tooltips: [
    {
      animation_in: {
        duration: "int",
        end_value: "number",
        interpolator: "string",
        items: [ div-animation, ... ],
        name*: "string",
        repeat: div-count,
        start_delay: "int",
        start_value: "number"
      },
      animation_out: {
        duration: "int",
        end_value: "number",
        interpolator: "string",
        items: [ div-animation, ... ],
        name*: "string",
        repeat: div-count,
        start_delay: "int",
        start_value: "number"
      },
      div*: div,
      duration: "int",
      id*: "string",
      offset: {
        x*: {
          unit: "string",
          value*: "number"
        },
        y*: {
          unit: "string",
          value*: "number"
        }
      },
      position*: "string"
    },
    ...
  ],
  transform: {
    pivot_x: div-pivot,
    pivot_y: div-pivot,
    rotation: "number"
  },
  transition_change: div-change-transition,
  transition_in: div-appearance-transition,
  transition_out: div-appearance-transition,
  transition_triggers: [ "string", ... ],
  video_sources*: [
    {
      type*: "video_source",
      bitrate: "int",
      mime_type*: "string",
      resolution: {
        type*: "resolution",
        height*: "int",
        width*: "int"
      },
      url*: "string"
    },
    ...
  ],
  visibility: "string",
  visibility_action: {
    download_callbacks: {
      on_fail_actions: [
        {
          download_callbacks: div-download-callbacks,
          is_enabled: "bool_int",
          log_id*: "string",
          log_url: "string",
          menu_items: [
            {
              action: div-action,
              actions: [ div-action, ... ],
              text*: "string"
            },
            ...
          ],
          payload: "object",
          referer: "string",
          target: "string",
          typed: div-action-typed,
          url: "string"
        },
        ...
      ],
      on_success_actions: [
        {
          download_callbacks: div-download-callbacks,
          is_enabled: "bool_int",
          log_id*: "string",
          log_url: "string",
          menu_items: [
            {
              action: div-action,
              actions: [ div-action, ... ],
              text*: "string"
            },
            ...
          ],
          payload: "object",
          referer: "string",
          target: "string",
          typed: div-action-typed,
          url: "string"
        },
        ...
      ]
    },
    is_enabled: "bool_int",
    log_id*: "string",
    log_limit: "int",
    payload: "object",
    referer: "string",
    typed: div-action-typed,
    url: "string",
    visibility_duration: "int",
    visibility_percentage: "int"
  },
  visibility_actions: [
    {
      download_callbacks: {
        on_fail_actions: [
          {
            download_callbacks: div-download-callbacks,
            is_enabled: "bool_int",
            log_id*: "string",
            log_url: "string",
            menu_items: [
              {
                action: div-action,
                actions: [ div-action, ... ],
                text*: "string"
              },
              ...
            ],
            payload: "object",
            referer: "string",
            target: "string",
            typed: div-action-typed,
            url: "string"
          },
          ...
        ],
        on_success_actions: [
          {
            download_callbacks: div-download-callbacks,
            is_enabled: "bool_int",
            log_id*: "string",
            log_url: "string",
            menu_items: [
              {
                action: div-action,
                actions: [ div-action, ... ],
                text*: "string"
              },
              ...
            ],
            payload: "object",
            referer: "string",
            target: "string",
            typed: div-action-typed,
            url: "string"
          },
          ...
        ]
      },
      is_enabled: "bool_int",
      log_id*: "string",
      log_limit: "int",
      payload: "object",
      referer: "string",
      typed: div-action-typed,
      url: "string",
      visibility_duration: "int",
      visibility_percentage: "int"
    },
    ...
  ],
  width: div-size
}

Parameters

selected_actions

array

List of actions to be executed when selecting an element in pager.

An array must not be empty.

tooltips

array

Tooltips linked to an element. A tooltip can be shown by div-action://show_tooltip?id=, hidden by div-action://hide_tooltip?id= where id — tooltip id.

An array must not be empty.

transform

object

Applies the passed transformation to the element. Content that doesn't fit into the original view area is cut off.

The value has the type div-transform.

transition_change

object

Change animation. It is played when the position or size of an element changes in the new layout.

The value has the type div-change-transition.

transition_in

object

Appearance animation. It is played when an element with a new ID appears. To learn more about the concept of transitions, see Animated transitions.

The value has the type div-appearance-transition.

transition_out

object

Disappearance animation. It is played when an element disappears in the new layout.

The value has the type div-appearance-transition.

transition_triggers

array

Animation starting triggers. Default value: [state_change, visibility_change].

An array must not be empty.

type

string

Required parameter.

The value must always be video.

video_sources

array

Required parameter.

An array must not be empty.

visibility

string

Element visibility.

Possible values: visible, invisible, gone.

Default value: visible.

visibility_action

object

Tracking visibility of a single element. Not used if the visibility_actions parameter is set.

The value has the type div-visibility-action.

visibility_actions

array

Actions when an element appears on the screen.

An array must not be empty.

width

object

Element width.

The value has the type div-size.

Default value: {"type": "match_parent"}.

ParametersDescription
accessibility

object

Accessibility settings.

The value has the type div-accessibility.

alignment_horizontal

string

Horizontal alignment of an element inside the parent element.

Possible values: left, center, right, start, end.

alignment_vertical

string

Vertical alignment of an element inside the parent element.

Possible values: top, center, bottom, baseline.

alpha

number

Sets transparency of the entire element: 0 — completely transparent, 1 — opaque.

Restriction for the value x: x >= 0.0 && x <= 1.0.

Default value: 1.0.

aspect

object

Fixed aspect ratio. The element's height is calculated based on the width, ignoring the height value.

The value has the type div-aspect.

autostart

bool_int

This option turns on automatic video playback. On the web, the video starts if muted playback is turned on.

Default value: false.

background

array

Element background. It can contain multiple layers.

An array must not be empty.

border

object

Element stroke.

The value has the type div-border.

buffering_actions

array

Actions performed during video loading.

An array must not be empty.

column_span

int

Merges cells in a column of the grid element.

Restriction for the value x: x >= 0.

disappear_actions

array

Actions when an element disappears from the screen.

An array must not be empty.

elapsed_time_variable

string

Time interval from the video beginning to the current position in milliseconds.

end_actions

array

Actions performed after the video ends.

An array must not be empty.

extensions

array

Extensions for additional processing of an element. The list of extensions is given in DivExtension.

An array must not be empty.

fatal_actions

array

Actions performed when playback can't be continued due to a player error.

An array must not be empty.

focus

object

Parameters when focusing on an element or losing focus.

The value has the type div-focus.

height

object

Element height. For Android: if there is text in this or in a child element, specify height in sp to scale the element together with the text. To learn more about units of size measurement, see Layout inside the card.

The value has the type div-size.

Default value: {"type": "wrap_content"}.

id

string

Element ID. It must be unique within the root element. It is used as accessibilityIdentifier on iOS.

margins

object

External margins from the element stroke.

The value has the type div-edge-insets.

muted

bool_int

This option mutes video.

Default value: false.

paddings

object

Internal margins from the element stroke.

The value has the type div-edge-insets.

pause_actions

array

Actions performed when playback is paused.

An array must not be empty.

player_settings_payload

object

Additional information that can be used in the player.

Available platforms: Android, iOS.

preload_required

bool_int

This option turns on preloading of video sources.

Default value: false.

Available platforms: Android.

preview

string

Video preview encoded in base64. Will be shown until the video is ready to play. Data url format: data:[;base64],<data>

repeatable

bool_int

This option turns on video repeat.

Default value: false.

resume_actions

array

Actions performed when video playback resumes.

An array must not be empty.

row_span

int

Merges cells in a string of the grid element.

Restriction for the value x: x >= 0.

scale

string

Video scaling:
  • 'fit' places the entire video into the element (free space is filled with background);
  • 'fill scales the video to the element size and cuts off anything that's extra.</li></p><p>Possible values: fill, no_scale, fit.</p><p>Default value: fit`.
  • ParametersDescription
    accessibility

    object

    Accessibility settings.

    The value has the type div-accessibility.

    alignment_horizontal

    string

    Horizontal alignment of an element inside the parent element.

    Possible values: left, center, right, start, end.

    alignment_vertical

    string

    Vertical alignment of an element inside the parent element.

    Possible values: top, center, bottom, baseline.

    alpha

    number

    Sets transparency of the entire element: 0 — completely transparent, 1 — opaque.

    Restriction for the value x: x >= 0.0 && x <= 1.0.

    Default value: 1.0.

    aspect

    object

    Fixed aspect ratio. The element's height is calculated based on the width, ignoring the height value.

    The value has the type div-aspect.

    autostart

    bool_int

    This option turns on automatic video playback. On the web, the video starts if muted playback is turned on.

    Default value: false.

    background

    array

    Element background. It can contain multiple layers.

    An array must not be empty.

    border

    object

    Element stroke.

    The value has the type div-border.

    buffering_actions

    array

    Actions performed during video loading.

    An array must not be empty.

    column_span

    int

    Merges cells in a column of the grid element.

    Restriction for the value x: x >= 0.

    disappear_actions

    array

    Actions when an element disappears from the screen.

    An array must not be empty.

    elapsed_time_variable

    string

    Time interval from the video beginning to the current position in milliseconds.

    end_actions

    array

    Actions performed after the video ends.

    An array must not be empty.

    extensions

    array

    Extensions for additional processing of an element. The list of extensions is given in DivExtension.

    An array must not be empty.

    fatal_actions

    array

    Actions performed when playback can't be continued due to a player error.

    An array must not be empty.

    focus

    object

    Parameters when focusing on an element or losing focus.

    The value has the type div-focus.

    height

    object

    Element height. For Android: if there is text in this or in a child element, specify height in sp to scale the element together with the text. To learn more about units of size measurement, see Layout inside the card.

    The value has the type div-size.

    Default value: {"type": "wrap_content"}.

    id

    string

    Element ID. It must be unique within the root element. It is used as accessibilityIdentifier on iOS.

    margins

    object

    External margins from the element stroke.

    The value has the type div-edge-insets.

    muted

    bool_int

    This option mutes video.

    Default value: false.

    paddings

    object

    Internal margins from the element stroke.

    The value has the type div-edge-insets.

    pause_actions

    array

    Actions performed when playback is paused.

    An array must not be empty.

    player_settings_payload

    object

    Additional information that can be used in the player.

    Available platforms: Android, iOS.

    preload_required

    bool_int

    This option turns on preloading of video sources.

    Default value: false.

    Available platforms: Android.

    preview

    string

    Video preview encoded in base64. Will be shown until the video is ready to play. Data url format: data:[;base64],<data>

    repeatable

    bool_int

    This option turns on video repeat.

    Default value: false.

    resume_actions

    array

    Actions performed when video playback resumes.

    An array must not be empty.

    row_span

    int

    Merges cells in a string of the grid element.

    Restriction for the value x: x >= 0.

    scale

    string

    Video scaling:
  • 'fit' places the entire video into the element (free space is filled with background);
  • 'fill scales the video to the element size and cuts off anything that's extra.</li></p><p>Possible values: fill, no_scale, fit.</p><p>Default value: fit`.