Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

VideoStreamPlayer

Inherits: Control < CanvasItem < Node < Object

A control used for video playback.

Description

A control used for playback of VideoStream resources.

Supported video formats are Ogg Theora (.ogv, VideoStreamTheora) and any format exposed via a GDExtension plugin.

Warning: On Web, video playback will perform poorly due to missing architecture-specific assembly optimizations.

Tutorials

Properties

int

audio_track

0

bool

autoplay

false

int

buffering_msec

500

StringName

bus

&"Master"

bool

expand

false

bool

loop

false

bool

paused

false

VideoStream

stream

float

stream_position

float

volume

float

volume_db

0.0

Methods

float

get_stream_length ( ) const

String

get_stream_name ( ) const

Texture2D

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.


StringName bus = &"Master"

Audio bus to use for sound playback.


bool expand = false

  • 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 GDExtension 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

float get_stream_length ( ) const

The length of the current stream, in seconds.

Note: For VideoStreamTheora streams (the built-in format supported by Godot), this value will always be zero, as getting the stream length is not implemented yet. The feature may be supported by video formats implemented by a GDExtension add-on.


String get_stream_name ( ) const

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


Texture2D get_video_texture ( ) const

Returns the current frame as a Texture2D.


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.