PDA

View Full Version : Tuna vids v1.0 - Xvid/AVI Player for DS



wraggster
February 20th, 2008, 20:07
News/release from Chism: (http://forum.gbadev.org/viewtopic.php?t=14720&start=105)


Tuna-viDS version 1.0 is out now. Source is available on the web page. It includes a skin by Ferrie, a file chooser and fixes a few bugs.

Tuna-viDS plays AVI files that contain Xvid encoded video and MP3 encoded audio

Controls
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
Instructions
Copy tuna-viDS.nds to the root of your flash card or to /DS/tuna-viDS/tuna-viDS.nds or to /data/tuna-viDS/tuna-viDS.nds
DLDI patch tuna-open.nds and copy it to your flash card
Run tuna-open.nds
Select an AVI file to play

Download and Give Feedback Via Comments

pas
February 20th, 2008, 20:58
You forgot a H in chishm.

Anyway... the GUI is nice, but I can't get the filebrowsing to work... I did anything stated on the website, but it keeps halting at:

Opening blablabla.avi with /:fat0 tuna-viDS.nds

Anyone got this baby working with a M3 Simply / R4 ?

iofthestorm
February 20th, 2008, 23:48
Daaammnn, yesterday I just commented about how we have so many homebrew video players now, and I forgot about this and now we've got a final version of this. Amazing! Is there a specific encoder for the videos for this, or do we have to encode to the right specifications ourselves?

Also, it would be amazing if someone would integrate all the video codecs that people have made for DS and put them in one player, so we could use DPG, DSV, Xvid, DSM, etc. all in one player. These guys should collaborate or something and come up with a killer GUI. Maybe they can write moonshell plugins for their respective codecs, but moonshell's GUI is not as streamlined as DSVideo's GUI.

Omnislash124
February 21st, 2008, 00:08
I can't get this to load correctly. It loads the video, plays one frame of it, and then insists that the video has finished playing.

As for encoding videos, I used xvid mpeg-4 since I don't have any other encoder. You also have to resize the video to the DS resolutions (256x192 for fullscreen and 256x144 for widescreen) or else the program will blow up.

iofthestorm
February 21st, 2008, 06:06
Hmm, I tried encoding with SUPER (a GUI frontend for ffmpeg) and I tried to load the file with the tuna-opener or whatever but it just said that the file was loading and did nothing for a while, so I just restarted by DS. DSVideo seems the best video player so far except the encoder crashed on my computer with one of my videos. Moonshell is nice but kind of unreliable and sometimes the audio seems desynched, and sometimes it seems to crash or not seek properly.

adhdyoshi
February 23rd, 2008, 03:40
If you have Linux and use the command on his site, then it works deliciously :P

I just converted some videos today, it works excellently.

DanTheManMS
February 23rd, 2008, 03:47
I made it easy on myself and made a few batch files for Windows. I just drag-and-drop my video file onto the batch file and it executes the conversion command for me. I had to make a few separate batch files depending on the output quality I wanted, but that wasn't a big deal.

The ability to fix out-of-sync issues alone makes this a useful video player.

Omnislash124
February 24th, 2008, 02:00
Wow, I just tried it again using SUPER to encode, and it seems that the running framerate for this is 12.12FPS. The audio is indeed synced with the video and the video quality is amazing, but it's running REALLY slow.

DanTheManMS
February 24th, 2008, 04:33
Well yeah. Chishm has stated several times that 12 fps is basically the max Tuna-viDS can handle. Encode anything at a higher framerate than that and you're going to have some serious problems. I personally use 10 fps so that I can get up to ~344 kbps bitrate without it choking.

psycoblaster
February 24th, 2008, 04:57
http://chishm.drunkencoders.com/tuna-vids/index.html

visit here for instructions

he also stated


Tuna-viDS plays videos with the following format:

Video: 256px wide, up to 192px tall, up to 12fps, Xvid encoded, non-interlaced
Audio: Mono MP3
Container: AVI with chunk index, video must be the first stream (fourcc 00dc)
You can use ffmpeg to convert videos with this command (all one line):

ffmpeg -i <infile> -f avi -r 10 -s 256x192 -b 192k -bt 64k -vcodec libxvid -deinterlace
-acodec libmp3lame -ar 32000 -ab 96k -ac 1 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 MP3 at monaural, 32kHz, 96kbps. It muxes it into an AVI container with the filename "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 192px tall.


tuna-vids.nds needs to be in the root of your flash cart, and tuna-open.nds can be anywhere, just make sure you run tuna-open.nds, not tuna-vids.nds on your DS.


Oh and I forgot to add, but I use ImTOO mp4 converter, where you can easily change the settings to the requirements, and converting FFVII advent children only took about 10~20 minutes :D and it runs perfectly

Da_ALC
February 24th, 2008, 12:06
Okay okay, first of all thanks a ton Chishm this is great!
Im running a R4DS with a 2gb Sandisk MicroSD in FAT on a DS:Lite.

Got a couple of probs tho.
As people have stated, I cant get the loader working (tuna-open.nds). It loads and lets me choose a file but wont load it.
Everything is setup perfectly as stated in the instruction
As long as videos are named as tuna-vids.avi then I can get it loaded fine just running tuna-vids.nds.
I use DSOrganize to rename the file as needed and then run it with no probs.

So far I have only been runnign cartoon on it, family guy n such, which run great but suffer a bit with the frame rates.
With this I find myself allways having to to change the sync to +1, allways. Not that its a problem, but I noticed it.

Other than that its all pretty perfect. I would love to see this as a plugin for DSOrganiser and moonshell (DSO especially for me).

Oh I am converting videos using ffmpeg and the command line as specified on the site, and it works great. 4-5 mins tops to convert an episode of family guy.. sweet as.

If somebody could make a batch-converter so I can leave it to convert a series over night that would be great. Nothing fancy needed.

Thanks again Chishm!

Omnislash124
February 24th, 2008, 18:28
Ah, that's much better.

But I found something rather odd.

I have a lot of encodes of the same video, just testing out settings. It seems that, at 10fps and 192kbps video, the video ends with an almost -30 skew with the audio. But at 12fps, at the same 192kbps video, the skew is actually +3, putting the audio ahead of the video.

DanTheManMS
February 24th, 2008, 21:46
Have you tried using FFMPEG and the same settings to convert these video files? I use FFMPEG and haven't come across that issue.

Omnislash124
February 24th, 2008, 22:03
I always get an error with ffmpeg, so I end up using MEncoder.

SGRAND
March 30th, 2008, 03:02
You forgot a H in chishm.

Anyway... the GUI is nice, but I can't get the filebrowsing to work... I did anything stated on the website, but it keeps halting at:

Opening blablabla.avi with /:fat0 tuna-viDS.nds

Anyone got this baby working with a M3 Simply / R4 ?

Hi there,
player works perfect for me when I load it directly without loader which means i can play only one tuna-vids.avi. When I use loader it works but it can't find the player because path is "fat0:/" instead of "fat:/".
I have tried to compile tuna loader without success.
The error is something related with getFatInterface function :confused::confused:.

Is it possible co compile it with following main.c for arm9?


#ifndef SELECT_DOCUMENT
const char DEFAULT_FILE[] = "fat:/_BOOT_DS.NDS";

#else/
const char HANDLER_NAME[] = "Tuna-viDS";

const char* HANDLER_LOCATIONS [] = {
"fat:/DS/tuna-viDS/tuna-viDS.nds",
"fat:/tuna-viDS.nds",
"fat:/data/tuna-viDS.nds",
};

const char DOCUMENT_EXT[] = ".avi";
#endif


Thanks

P.S I am using R4

Narutonoor
March 31st, 2008, 01:11
So this doesn't play AVI's? I'm not understanding it, why do I need to convert a file if it is already an AVI file, I understand there are multiple types of AVI, but can someone explain to me what do I have to do if I already have an AVI. Take it from there for me please. PM or post here would be very appreciated :>

DanTheManMS
March 31st, 2008, 08:02
It plays AVI files, but they have to be in a specific format first (specific width, height, audio etc). Unless your current AVI files happen to be in that format, you will have to convert them first.

Narutonoor
March 31st, 2008, 22:23
Ok so how do I convert them?

FrozenLight
April 1st, 2008, 00:51
this looks really good but i think ima stick with dpg files for moonshell

Mini Moose
April 10th, 2008, 07:31
Wow! This is really great! I just can't get sound to work....

I'm encoding via Quicktime Pro using DIVX Pro Codec.

DanTheManMS
April 11th, 2008, 00:27
Try using ffmpeg or the SUPER converter with equivalent settings checked.

mike3667
April 18th, 2008, 07:24
I used tunebite to convert works fine.. Only problem is, sound is off (I synced it for that.) And..it's in slow motion. Why is it in slow-mo? I play it on my pc it's fine.
Tuna plays it, it's very slow. Any suggestions?

DanTheManMS
April 19th, 2008, 04:10
You sure you set the framerate to 12 or lower and the bitrate low enough to prevent the DS from choking on the video?

mike3667
April 19th, 2008, 04:33
What should the BitRate be at?

DanTheManMS
April 21st, 2008, 02:59
Around 192 kbps would be fine. My experimentation shows you can get upwards of 300 if you want, but you'd need to set the framerate to something lower like 10 for it to work.

spinal_cord
April 21st, 2008, 09:41
It puzzles me that everyone seems to like this software yet all the forums are full of people complaining that they cant get it to work properly. I can only assume that the mention of .avi is the reason people like it, even though, like every other DS movie player, the video needs to be transcoded to a lower resolution, bitrate and framerate, making it just as much hassle as every other video player.
Can someone please explain why this player is better than any of the others?

simonjhall
April 21st, 2008, 09:57
But it's .avi! That's the extension that the films I borrow from the internet have! LOLZ ROTFL etc
Now if this program took rar files we'd be sorted.

(you make a good point btw!)

spinal_cord
April 21st, 2008, 12:04
But it's a different .avi you still need to convert everything you have to this different .avi, just like you have to convert to .dpg or anything else.

simonjhall
April 21st, 2008, 12:13
Yeah, I know what you mean ;-)
I guess the goal would be a "play anything" kinda player, that doesn't require users to post-process their videos before they play them. However I appreciate that the DS hasn't got the juice for this so that's a quite-unlikely wish.

DanTheManMS
April 22nd, 2008, 03:14
Advantage 1: ease of previewing the output video file on your computer after converting. Easier than DPGplay at least.

Advantage 2: ability to fix synchronization errors during playback.

I'll admit that I mostly only use tuna-viDS for some marching band videos that absolutely refuse to remain in-sync in DPG format, but it's still a useful video player nonetheless.

DSmanic!
April 23rd, 2008, 12:31
It works great! Any chance of another skin? I'm not partial to tuna.