Post subject: Desmume encodes and a single-screen option?
Active player (279)
Joined: 4/30/2009
Posts: 791
For DS games encoded from desmume, currently we get to see both screens. However, it is not always the case that all the game action happens on both screens, with the second screen taking the form of a map or other more trivial role. In these cases I'd like to make a suggestion: offer a seperate encode which shows one screen only (ie where the action is). I don't know about anyone else, but I generally like to watch game videos in fullscreen, and DS encodes which show both screens are somewhat too small even in fullscreen mode. On those games where the action switches between both screens (Sonic Rush for example), it might be possible to make a combined encode where the action flicks between one screen or the other, but that might be a bit disorienting. Is there any support for this idea?
Joined: 10/3/2005
Posts: 1332
I say nay. It's the job of your media player to crop out whatever you don't want to see. I forget the actual dimensions you'd use for a DS movie, but mplayer does this very nicely: mplayer -vf crop=320:240:0:0 desmume-tas.mp4 Presumably, any decent media player could as well.
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
I discussed cropping with him in the IRC (Except with AVIsynth). He says it's silly there isn't a single screen dumping option.
Active player (279)
Joined: 4/30/2009
Posts: 791
I didnt actually say that, but it is kind of true. I think offering a single screen encode is more a matter of convenience rather than anything else. :-)
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
<Toothache> wouldnt it make more sense for the site to offer this option rather than forcing people to crop the unwanted screen away?
I must have taken the line far too strangely (Damn my logic), sorry.
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3933
Location: Germany
Record a new video with desmume. Download & install Avisynth, open a text editor and save this as .avs:
AviSource("yourclip.avi").ConvertToYUY2.Crop(0, 0, -0, -192) 
Open it in Virtualdub. Go to Video->Compression and choose MPEG-4 Xvid (H.264 is good too, but I haven't used it ever. You need to install one of these. Be sure to configure them for highest quality). Save the new video. Should do the job...
Active player (279)
Joined: 4/30/2009
Posts: 791
I don't think people are quite getting my point. Sure, with a bit of knowhow it is simple to do yourself, but it should be offered as a matter of course from the site, like other encodes already are. That was my point. :-)
Joined: 7/2/2007
Posts: 3960
Isn't it possible to have multiple video streams in the same container? Then when you play them back they'd get shown in separate windows or something like that. If you made each screen have its own separate video stream, then the user would be able to resize them as they see fit.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Editor
Joined: 3/10/2010
Posts: 899
Location: Sweden
Agreed, it would be nice to have them as separate streams.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
I'm wondering how having two separate streams (both with the original length of the run) affects file size compared to having only one stream, even if the one stream has double amount of pixels (while keeping the same visual quality). mpeg quality/bitrate does not scale linearly with resolution. Doubling the amount of pixels does not mean you have to double the bitrate to keep the same visual quality. (Of course this particular case might be exceptional in that the two streams would actually have completely different and independent content, and one of them would most probably be a mostly static image with only little change, with most games. It might even be that encoding it into two separate streams actually allows for the file size to be smaller than with one stream because one of the streams can be encoded with a significantly lower bitrate.)
Editor, Expert player (2329)
Joined: 5/15/2007
Posts: 3933
Location: Germany
I've found out that you can use ffdshow to directly use the avisynth script to cut away the lower screen (in other words, you are recording a single screen because the avisynth script is being used as you record your video). Here is how I did it. Use 'ffdshow video codec' (you need to download & install it) Configure it: H.264, quality: 100 On the left side under 'input', check image processing and configure it: On the left side, check 'avisynth' and paste this into its field
Crop(0,0,0,-192)
This seems to be less of a hassle than using Virtualdub but I don't know how reliable that is. The screen seems to be mirrored or rotated and I haven't succeeded in rotating it back using
Rotate(180.0)
Also, sound might be out of sync... I can't really tell, it needs more testing. This would be the easiest solution to straightly record a single screen, but I strongly recommend using the Avisynth script in Virtualdub after the initial encode.