The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


SDL::Video - a SDL perl extension


  $video = new SDL::Video ( -name => 'pr0n.mpg' );


SDL::Video adds support for MPEG video to your SDL Perl application. Videos are objects bound to surfaces, whose playback is controled through the object's interface.


  • SDL::Video::error() returns any error messages associated with playback

  • SDL::Video::audio(bool) enables or disables audio playback, (on by default)

  • SDL::Video::video(bool) enables or disable video playback, (on by default)

  • SDL::Video::loop(bool) enables or disable playback looping (off by default)

  • SDL::Video::volume(int) set the volume as per the mixer volume

  • SDL::Video:display(surface) binds the clip to a display surface

  • SDL::Video::scale([x,y]|[surface]|int) scales the clip by either x,y factors, scales to the image dimensions, or a single scalar.

  • SDL::Video::play() plays the video clip, call SDL::Video::display() before playing

  • SDL::Video::pause() pauses video playback

  • SDL::Video::stop() stops video playback

  • SDL::Video::rewind() resets the clip to the beginning

  • SDL::Video::seek(offset) seeks to a particular byte offset

  • SDL::Video::skip(time) skips to a particular time

  • SDL::Video::region(rect) takes a SDL::Rect and defines the display area

  • SDL::Video::frame(int) renders a specific frame to the screen

  • SDL::Video::info() returns a new SDL::MPEG object reflecting the current status

  • SDL::Video::status() returns either SMPEG_PLAYING or SMPEG_STOPPED or SMPEG_ERROR


David J. Goehrig


perl(1) SDL::Surface(3) SDL::MPEG(3)