VideoPlayer

Inherits: Control < CanvasItem < Node < Object

Control for playing video streams.

Description

Control node for playing video streams using VideoStream resources.

Supported video formats are WebM (.webm, VideoStreamWebm), Ogg Theora (.ogv, VideoStreamTheora), and any format exposed via a GDNative plugin using VideoStreamGDNative.

Note: Due to a bug, VideoPlayer does not support localization remapping yet.

Warning: On HTML5, video playback will perform poorly due to missing architecture-specific assembly optimizations, especially for VP8/VP9.

Properties

int

audio_track

0

bool

autoplay

false

int

buffering_msec

500

String

bus

"Master"

bool

expand

true

bool

loop

false

bool

paused

false

VideoStream

stream

float

stream_position

float

volume

float

volume_db

0.0

Methods

String

get_stream_name ( ) const

Texture

get_video_texture ( ) const

bool

is_playing ( ) const

void

play ( )

void

stop ( )


Signals

finished ( )

Emitted when playback is finished.


Property Descriptions

int audio_track = 0

  • void set_audio_track ( int value )

  • int get_audio_track ( )

The embedded audio track to play.


bool autoplay = false

  • void set_autoplay ( bool value )

  • bool has_autoplay ( )

If true, playback starts when the scene loads.


int buffering_msec = 500

  • void set_buffering_msec ( int value )

  • int get_buffering_msec ( )

Amount of time in milliseconds to store in buffer while playing.


String bus = "Master"

Audio bus to use for sound playback.


bool expand = true

  • void set_expand ( bool value )

  • bool has_expand ( )

If true, the video scales to the control size. Otherwise, the control minimum size will be automatically adjusted to match the video stream's dimensions.


bool loop = false

  • void set_loop ( bool value )

  • bool has_loop ( )

If true, the video restarts when it reaches its end.


bool paused = false

  • void set_paused ( bool value )

  • bool is_paused ( )

If true, the video is paused.


VideoStream stream

The assigned video stream. See description for supported formats.


float stream_position

  • void set_stream_position ( float value )

  • float get_stream_position ( )

The current position of the stream, in seconds.

Note: Changing this value won't have any effect as seeking is not implemented yet, except in video formats implemented by a GDNative add-on.


float volume

  • void set_volume ( float value )

  • float get_volume ( )

Audio volume as a linear value.


float volume_db = 0.0

  • void set_volume_db ( float value )

  • float get_volume_db ( )

Audio volume in dB.


Method Descriptions

String get_stream_name ( ) const

Returns the video stream's name, or "<No Stream>" if no video stream is assigned.


Texture get_video_texture ( ) const

Returns the current frame as a Texture.


bool is_playing ( ) const

Returns true if the video is playing.

Note: The video is still considered playing if paused during playback.


void play ( )

Starts the video playback from the beginning. If the video is paused, this will not unpause the video.


void stop ( )

Stops the video playback and sets the stream position to 0.

Note: Although the stream position will be set to 0, the first frame of the video stream won't become the current frame.