From GameBrew - a wiki dedicated to Video Game Homebrew.

Author(s)Dominic Ludlam

DSVideo player is a DS Media Player offers a simple and intuitive interface.


  • Video playback up to 12.5 fps
  • Stereo Audio playback (MPEG-1 Layer 2 @ 112kbps / 32kHz)
  • Full seeking support
  • Feature-complete video playback controls
  • File browser


  1. Download and extract file
  2. DLDI patch .nds file and copy it to the root directory of the card

NOTE FOR THE R4: There is a special version of DSVideo for the R4, which has been patched with a slightly modifier version of the R4 dldi driver. If you have an R4, you'll need to use the r4tf7.dldi patch and stop the R4 from autopatching it when it boots. This can be done with the 'dldinoap' tool (source is in the thirdparty directory).

User guide

The top screen is devoted to video playback, and the bottom screen contains the touchscreen navigation interface. The DSVideo encoder is flexible, accommodates a wide variety of source material, and is based on the widely used and highly portable ffmpeg.

Encode videos

The encoder is a command line utility. The basic usage is very simple - the command:

dsvideo input_video.avi

will convert the file 'input_video.avi' into a file called 'input_video.dsv' which can then by copied onto your homebrew flashcard.

By default, 16:9 (or other widescreen sizes) will be encoded as centre-cut-out, meaning the height will fit the DS screen and the sides will be removed. The original video size can be kept by passing the "-l" option to the encoder, for example:

dsvideo -l input_video.avi

There are some other options to control the encoder which are explained (briefly) by running the encoder with no arguments. More details are available at the dsvideo website,


Stylus - full control of the application



Tested on: FlashCard DSTT / TTDS with 1.17a12 Firmware


Version 1.01


  • Update help information when the encoder is run with no arguments to include the version number, to clarify the usage of the "-w" option and to show some examples of common use.
  • Remove -s option on windows, as it doesn't work there yet.
  • Add support for videos at 23.97fps
  • Fix the makefile for x86_64 linux platforms.
  • Fix audio resampling bug when converting from sample rates lower than 32kHz.
  • Fix freezing / memory allocation problem with certain video inputs.
  • Change default output filename to be the input file name with the extension changed to '.dsv'

Decoder: Unchanged.


DSVideo was developed by Dominic Ludlam, with artwork and design by Denise Wilton, and additional artwork and the website by Nick Ludlam.

Nick also made the spiffy intro video. Many thanks to Lee Maguire for testing and feedback.

The sound track for the intro video is by James Tubbritt (Sharp), downloadable from

The following additional software is used:

devkitPro ( Used to build the decoder.
FFMpeg ( Used by the encoder to provide input video and audio data.
TwoLAME ( Used by the encoder for audio encoding.
Libfatdragon ( Used by the decoder to access the flash card on the DS.
Freetype2 ( Used during the build process to convert a freetype font to a bitmap font usable on the DS.
Libungif ( Used during the build process to convert images into a format usable on the DS.
Yasm ( Used while building the encoder.