Inherits: Control < CanvasItem < Node < Object

Control for playing video streams.


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.


String get_stream_name ( ) const
Texture get_video_texture ( ) const
bool is_playing ( ) const
void play ( )
void stop ( )


  • finished ( )

Emitted when playback is finished.

Property Descriptions

  • int audio_track
Default 0
Setter set_audio_track(value)
Getter get_audio_track()

The embedded audio track to play.

Default false
Setter set_autoplay(value)
Getter has_autoplay()

If true, playback starts when the scene loads.

  • int buffering_msec
Default 500
Setter set_buffering_msec(value)
Getter get_buffering_msec()

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

Default "Master"
Setter set_bus(value)
Getter get_bus()

Audio bus to use for sound playback.

Default true
Setter set_expand(value)
Getter 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.

Default false
Setter set_paused(value)
Getter is_paused()

If true, the video is paused.

Setter set_stream(value)
Getter get_stream()

The assigned video stream. See description for supported formats.

Setter set_stream_position(value)
Getter get_stream_position()

The current position of the stream, in seconds.

Setter set_volume(value)
Getter get_volume()

Audio volume as a linear value.

Default 0.0
Setter set_volume_db(value)
Getter 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.