Tuna-viDS is an Xvid video player for the Nintendo DS. It plays AVI files that contain Xvid encoded video and MP3 encoded audio.
The newest release is available to download from the Tuna-viDS web page.
Either touch the controls on screen, or use the following buttons:
- B: Play/Pause
- X: Toggle bottom backlight
- Left: Increase video delay by one frame
- Right: Decrease video delay by one frame
Tuna-viDS plays videos with the following format:
- Video: 256px wide, up to 192px tall, up to 12fps, Xvid encoded, non-interlaced
- Audio: Stereo or mono MP3
- Container: AVI with chunk index, video must be the first stream (fourcc 00dc)
You can use FFmpeg to convert videos for Tuna-viDS with this command:
ffmpeg -i <input-file> -f avi -r 10 -s 256x192 -b 192k -bt 64k \ -vcodec mpeg4 -deinterlace \ -acodec libmp3lame -ar 32000 -ab 96k -ac 2 tuna-vids.avi
This encodes the video as Xvid at 256×192px, 10fps, 192±64kbps. You can try up
to 12fps, but anything higher will slow down the decoder too much. It encodes
the audio as stereo MP3 at 32kHz, 96kbps. It muxes it into an AVI container with
tuna-vids.avi. Feel free to experiment with bit rates, sample
rates, and frame rates. Just keep the video exactly 256px wide and no more than
Tuna-viDS will load files from the path supplied by a homebrew loader. One such loader is NDS Homebrew Menu.
Install NDS Hombrew Menu to your flash card.
ndsfolder on your flash card.
Create a file called
ndsfolder on your flash card with the following contents:
Put converted AVI files on your flash card.
Thanks to (in no particular order):
- Xvid team - The Xvid codec
- Christoph Lampert - video playback example
- Robin Watts, Sophie Wilson & Paul Gardiner - YUV to RGB colour space converter
- HelixCommunity - MP3 decoder
- ThomasS, LiraNuna, strager & DarkEz - Helix MP3 decoder port
- Costas - changes necessary for stereo MP3 support
- Thoduv & ecurtz - stereo audio deinterleaver
- Noda - some MP3 player ideas
- abraxas - giving me the idea to port Xvid to the DS
- Ferrie - GUI's skin.
The ARM9 binary is licensed under GPL v2. The ARM7 binary is licensed under GPL v2 and RealNetworks Public Source License.