(old) ZMV to AVI video conversion [[archive me]]
Moderator: ZSNES Mods
Welcome to page 20.
To record a video you need one of the latest work in progress builds of ZSNES. Get them here: http://zsnes.ipherswipsite.com/
You will need a copy of mencoder. For Windows users, I recommend getting mencoder here: http://oss.netfarm.it/mplayer-win32.php
Place mencoder.exe in the same location as zsnesw.exe, you do not need any codecs or other movie programs installed.
Linux users, having mencoder in your path is fine.
If you want to compress the outputted audio, or compress it before it goes into the video as opposed to during, you will need a copy of LAME.
If you use Windows, you must get LAME from here: http://geocities.com/joecool22us/lame.zip
Any other copy of LAME for Windows will not work due to a bug in LAME.
Before you are able to dump an AVI, you must have recorded a movie first, it converts movies, it does not just dump video on the fly.
To play back movies, you'll either need the proper codecs or a video player with built in decoding of the video mode you selected.
I recommend getting mplayer which decodes anything created with mencoder. For Windows, you can get mplayer here: http://oss.netfarm.it/mplayer-win32.php You can download the GUI version.
Advanced users can edit zmovie.cfg and tweak the settings if they want, and even use something other than mencoder and LAME as long as it supports encoding via stdin and you set it up properly.
________
this site doesnt work http://nsrt.edgeemu.com/lame.zip only ads comes out thats all. but no download link.
To record a video you need one of the latest work in progress builds of ZSNES. Get them here: http://zsnes.ipherswipsite.com/
You will need a copy of mencoder. For Windows users, I recommend getting mencoder here: http://oss.netfarm.it/mplayer-win32.php
Place mencoder.exe in the same location as zsnesw.exe, you do not need any codecs or other movie programs installed.
Linux users, having mencoder in your path is fine.
If you want to compress the outputted audio, or compress it before it goes into the video as opposed to during, you will need a copy of LAME.
If you use Windows, you must get LAME from here: http://geocities.com/joecool22us/lame.zip
Any other copy of LAME for Windows will not work due to a bug in LAME.
Before you are able to dump an AVI, you must have recorded a movie first, it converts movies, it does not just dump video on the fly.
To play back movies, you'll either need the proper codecs or a video player with built in decoding of the video mode you selected.
I recommend getting mplayer which decodes anything created with mencoder. For Windows, you can get mplayer here: http://oss.netfarm.it/mplayer-win32.php You can download the GUI version.
Advanced users can edit zmovie.cfg and tweak the settings if they want, and even use something other than mencoder and LAME as long as it supports encoding via stdin and you set it up properly.
________
this site doesnt work http://nsrt.edgeemu.com/lame.zip only ads comes out thats all. but no download link.
-
- Hero of Time
- Posts: 2646
- Joined: Fri Jul 30, 2004 2:49 am
- Location: In front of the monitor
- Contact:
http://board.zsnes.com/phpBB2/viewtopic.php?t=11155supersaiyan55 wrote:this site doesnt work http://nsrt.edgeemu.com/lame.zip only ads comes out thats all. but no download link.
Ok, what if I did that already and I still get only ads?snkcube wrote:http://board.zsnes.com/phpBB2/viewtopic.php?t=11155supersaiyan55 wrote:this site doesnt work http://nsrt.edgeemu.com/lame.zip only ads comes out thats all. but no download link.
So I'm trying to make videos off of ZSNES. I keep running into problems though. Maybe someone can help me. If I solve all of my problems, maybe I will put something more interesting here.
-
- Locksmith of Hyrule
- Posts: 3634
- Joined: Sun Aug 08, 2004 7:49 am
- Location: 255.255.255.255
- Contact:
then there's the possibility that whoever manages edgeemu decided not to pay his accounts and let them expire.
looks like Nach needs a new host
looks like Nach needs a new host

<Nach> so why don't the two of you get your own room and leave us alone with this stupidity of yours?
NSRT here.
NSRT here.
Shit. So what am I supposed to do for the audio compression? Is there some other program that I could use? On the other hand, it seems that the only thing my ZSNES will accept is LAME...adventure_of_link wrote:then there's the possibility that whoever manages edgeemu decided not to pay his accounts and let them expire.
looks like Nach needs a new host
So I'm trying to make videos off of ZSNES. I keep running into problems though. Maybe someone can help me. If I solve all of my problems, maybe I will put something more interesting here.
-
- Seen it all
- Posts: 2302
- Joined: Mon Jan 03, 2005 5:04 pm
- Location: Germany
- Contact:
Luckily, I believe I have a copy of that thing. Thanks for the assistance.creaothceann wrote:You could try SNES9x.
So I'm trying to make videos off of ZSNES. I keep running into problems though. Maybe someone can help me. If I solve all of my problems, maybe I will put something more interesting here.
If you want something other than avi/mp3, you can try vorbis which is superior anyways. The problem is that avi can't handle it, at least not correctly, but it's no big deal making an ogm. Here are some pretty simple instructions to get it done directly from zsnes.
The good old mencoder.exe needs to be there, of course.
Extract these 2 at the zsnes folder:
http://www.rarewares.org/dancer/dancer.php?f=197
http://ftp.uni-kl.de/pub/windows/cygwin ... -1.tar.bz2 (only ogmmerge.exe is needed)
for ogmmerge you will need either cygwin, or just get these 4 dlls:
http://savonet.rastageeks.org/browser/w ... l?rev=2827
http://savonet.rastageeks.org/browser/w ... l?rev=2827
http://savonet.rastageeks.org/browser/w ... l?rev=2827
http://savonet.rastageeks.org/browser/w ... l?rev=2827
Then you can paste this as zmovie.cfg.
If you prefer xvid you can change to that as well, and you can increase the bitrates on the x264 line for video, maybe if you want a more perfect video remove all the extra things after -x264opts and only set a high bitrate, then the -q one with oggenc2.exe for audio. Also, you can just select to dump audio and it will be ogg. One last thing, it doesn't have to be ogm, it can also be mkv if you can find a substitute for ogmmerge like mkvmerge, the commands should be identical.
The good old mencoder.exe needs to be there, of course.
Extract these 2 at the zsnes folder:
http://www.rarewares.org/dancer/dancer.php?f=197
http://ftp.uni-kl.de/pub/windows/cygwin ... -1.tar.bz2 (only ogmmerge.exe is needed)
for ogmmerge you will need either cygwin, or just get these 4 dlls:
http://savonet.rastageeks.org/browser/w ... l?rev=2827
http://savonet.rastageeks.org/browser/w ... l?rev=2827
http://savonet.rastageeks.org/browser/w ... l?rev=2827
http://savonet.rastageeks.org/browser/w ... l?rev=2827
Then you can paste this as zmovie.cfg.
It will encode x264 which is better than xvid anyways, and it's all set to create the ogm like this, all you have to do on the dumping movie options is select x264 and check all 3 options on the right (dump sound, compress & merge).md_raw_file="rawvideo.bin" ; Only for Raw Videos
md_pcm_audio="audio.wav" ; AVI dumping always dumps audio seperatly
md_compressed_audio="audio.ogg" ; For when selecting compressed
md_logo="" ;If you want a logo, specify a logo file. It should be a series of frames 256x224x24.
md_ntsc="59649/995"
md_pal="50/1"
md_file="video.avi"
md_prog="mencoder.exe"
md_raw="-demuxer rawvideo -rawvideo format=0x42475218:w=256:h=224:size=172032:fps=$md_video_rate"
md_other="-aspect 4:3 -mc 0 -vf pullup,softskip"
md_no_sound="-nosound"
md_sound="-oac mp3lame -lameopts q=9:mode=1:vbr=4 -audiofile $md_pcm_audio"
md_compressed_sound="-oac copy -audiofile $md_compressed_audio"
md_x264="-ovc x264 -x264encopts bitrate=400:frameref=15:subq=5:8x8dct:b_pyramid:weight_b"
md_ffv1="-ovc lavc -lavcopts vcodec=ffv1:vstrict=-2:aspect=4/3"
md_xvid="-ovc xvid -xvidencopts cartoon:bitrate=400"
;Valid variables to use in the next four lines are:
;$md_file, $md_prog, $md_raw, $md_other, $md_no_sound, $md_sound, $md_pcm_audio, $md_compressed_audio
;and $md_video_rate, $md_vcodec, $md_smode
;These variables are defined above.
;$md_video_rate is $md_ntsc or $md_pal depending on the game as needed
;$md_vcodec is $md_x264, $md_ffv1, or $md_xvid depending on the codec selected
;$md_smode is $md_no_sound, $md_sound, or $md_compressed_sound depending on the audio options selected
md_command="$md_prog $md_other $md_no_sound $md_raw $md_vcodec -o $md_file -"
md_audio_compress="oggenc2.exe -r -R 32000 -q 1 -o $md_compressed_audio -"
md_merge="ogmmerge.exe -o merged.ogm $md_file $md_compressed_audio"
;Code for how the custom option works.
; These are 3 temporary variables you can use with the various passes
md_custom_temp1="-ovc x264 -x264encopts bframes=0:keyint=300:partitions=all:me=umh:frameref=15:subq=7:8x8dct"
md_custom_temp2="bitrate=350"
md_custom_temp3=""
; Can use the same vars as above in addition to these temp ones.
; Also $null for the nul file.
md_custom_passes=3
md_custom_first_pass="$md_prog $md_other $md_no_sound $md_raw $md_custom_temp1:turbo=1:pass=1 -o $null -"
md_custom_middle_passes="$md_prog $md_other $md_no_sound $md_raw $md_custom_temp1:$md_custom_temp2:pass=3 -o $null -"
md_custom_last_pass="$md_prog $md_other $md_smode $md_raw $md_custom_temp1:$md_custom_temp2:pass=2 -o custom.avi -"
md_custom_pass_log_file="divx2pass.log"
md_custom_pass_log_file2="divx2pass.log.temp"
;Do not modify the following, for internal use only.
PSR_HASH=858587045
If you prefer xvid you can change to that as well, and you can increase the bitrates on the x264 line for video, maybe if you want a more perfect video remove all the extra things after -x264opts and only set a high bitrate, then the -q one with oggenc2.exe for audio. Also, you can just select to dump audio and it will be ogg. One last thing, it doesn't have to be ogm, it can also be mkv if you can find a substitute for ogmmerge like mkvmerge, the commands should be identical.
-
- ZSNES Developer
- Posts: 3904
- Joined: Tue Jul 27, 2004 10:54 pm
- Location: Solar powered park bench
- Contact:
LAME Link: http://geocities.com/joecool22us/lame.zip
null:
Thanks for the OGG tips.
Just looking at that, you've given me an idea or two how I can improve the overall system.
I also appreciate that someone finally really went ahead and made good use of the config file.
Perhaps I'll also give an AVI/OGM option for the next ZSNES based on your directions.
null:
Thanks for the OGG tips.
Just looking at that, you've given me an idea or two how I can improve the overall system.
I also appreciate that someone finally really went ahead and made good use of the config file.
Perhaps I'll also give an AVI/OGM option for the next ZSNES based on your directions.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
_____________
Insane Coding
Cool - just a few more things. First, if any of you are looking for quality in these videos, you need to forget about the ordinary single pass, the difference is very noticeable when you use multipass. This goes for x264 and xvid. Quite honestly most videos in single pass look like crap towards the end in some cases. There's no need for me to get into the tech details, I just know the difference I see is significant enough for mention.
This is the zmovie.cfg I use to do 2 pass with ogm, then the Custom option with compress sound would be selected:
This is the zmovie.cfg I use to do 2 pass with ogm, then the Custom option with compress sound would be selected:
which brings me to the next point. That is the config I would use if there wasn't a bug in zsnes bug which refuses long lines (like line 35) and generally breaks the movie creation. Still you can reduce that line and 2 pass encoding will work, although I do see "broken pipe" towards the end, although it does get it done as intended other than failing to delete video.avi. Last point is 3 pass encoding, which under this circumstance of needing the last option for ogmmerge will not work since there is no room. (Though you can fit 3 pass with the regular mencoder/lame setting) Or is there a way to add more commands to the custom options? Sorry if I missed something somewhere, but I couldn't find a way.md_raw_file="rawvideo.bin" ; Only for Raw Videos
md_pcm_audio="audio.wav" ; AVI dumping always dumps audio seperatly
md_compressed_audio="audio.ogg" ; For when selecting compressed
md_logo="" ;If you want a logo, specify a logo file. It should be a series of frames 256x224x24.
md_ntsc="59649/995"
md_pal="50/1"
md_file="video.avi"
md_prog="mencoder"
md_raw="-demuxer rawvideo -rawvideo format=0x42475218:w=256:h=224:size=172032:fps=$md_video_rate"
md_other="-aspect 4:3 -mc 0"
md_no_sound="-nosound"
md_sound="-oac mp3lame -lameopts q=9:mode=1:vbr=4 -audiofile $md_pcm_audio"
md_compressed_sound="-oac copy -audiofile $md_compressed_audio"
md_x264="-ovc x264 -x264encopts bitrate=336:frameref=6:subq=6:brdo:trellis=2:keyint=125:me_range=10"
md_ffv1="-ovc lavc -lavcopts vcodec=ffv1:vstrict=-2:aspect=4/3"
md_xvid="-ovc xvid -xvidencopts cartoon:bitrate=400"
;Valid variables to use in the next four lines are:
;$md_file, $md_prog, $md_raw, $md_other, $md_no_sound, $md_sound, $md_pcm_audio, $md_compressed_audio
;and $md_video_rate, $md_vcodec, $md_smode
;These variables are defined above.
;$md_video_rate is $md_ntsc or $md_pal depending on the game as needed
;$md_vcodec is $md_x264, $md_ffv1, or $md_xvid depending on the codec selected
;$md_smode is $md_no_sound, $md_sound, or $md_compressed_sound depending on the audio options selected
md_command="$md_prog $md_other $md_no_sound $md_raw $md_vcodec -o $md_file -"
md_audio_compress="oggenc -r -R 32000 -q 0.8 -o $md_compressed_audio -"
md_merge="ogmmerge -o merged.ogm $md_file $md_compressed_audio"
;Code for how the custom option works.
; These are 3 temporary variables you can use with the various passes
md_custom_temp1="-ovc x264 -x264encopts bitrate=400:frameref=6:subq=7:brdo:trellis=2:direct_pred=auto:bframes=2:bime:mixed_refs:8x8dct:weight_b"
md_custom_temp2=""
md_custom_temp3=""
; Can use the same vars as above in addition to these temp ones.
; Also $null for the nul file.
md_custom_passes=3
md_custom_first_pass="$md_prog $md_other $md_no_sound $md_raw $md_custom_temp1:pass=1 -o $null -"
md_custom_middle_passes="$md_prog $md_other $md_no_sound $md_raw $md_custom_temp1:pass=2 -o $md_file -"
md_custom_last_pass="ogmmerge -o merged.ogg $md_file $md_compressed_audio"
md_custom_pass_log_file="divx2pass.log"
md_custom_pass_log_file2="divx2pass.log.temp"
;Do not modify the following, for internal use only.
PSR_HASH=858587045
-
- ZSNES Developer
- Posts: 3904
- Joined: Tue Jul 27, 2004 10:54 pm
- Location: Solar powered park bench
- Contact:
There is no bug. There is a hard coded limit. I can make the limit larger, but there will always be a limit. The trick is not to make md_custom_temp1 longer, but to put some stuff in md_custom_temp1, md_custom_temp2, and other stuff in md_custom_temp3.null wrote: which brings me to the next point. That is the config I would use if there wasn't a bug in zsnes bug which refuses long lines (like line 35) and generally breaks the movie creation.
You can set custom passes to 4, and it would do first pass the first time, middle passes the second and third time, and the fourth pass would do the merge step.null wrote: Last point is 3 pass encoding, which under this circumstance of needing the last option for ogmmerge will not work since there is no room.
I can't really think of two many issues with this that can't be overcome. However if there needs to be something else, I can add a finalize step, which by default would be empty, but can be used to call ogmmerge, mkvmerge or whatever.
I'm also open to suggestions in this area.
I'm thinking for future editions to offer something as follows in the preset options:
Audio:
PCM
MP3
MP4
OGG
Video:
FFV1
XviD
x264
SNOW
Audio Containers:
WAV
MP3
MP4
OGG
Video Containers:
AVI
OGM
MKV
Audio Encoders:
LAME
FAAC
OGGenc
Video Encoders:
MEncoder
Merge Programs:
MEncoder
OGMmerge
MKVmerge
Thoughts?
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
_____________
Insane Coding
That looks good to me. I do have some suggestions though. A prepared setting for multipass that first rips a temp video in ffv1 (and the sound can be compressed at that point already), then begins the x264/xvid multipass compression process on the temp video. The reason I say that is because when multipass is done on the game run itself, sometimes the "movie finished" notice spills over from the next to last pass into the video. Also for this multipass setting, more hard coded passes, or at least two more "last" ones in custom so that for more than 2 passes + ogmmerger lets the middle passes encode to null.
-
- ZSNES Shake Shake Prinny
- Posts: 5632
- Joined: Wed Jul 28, 2004 4:15 pm
- Location: PAL50, dood !
System messages could be disabled with an option, if that helps.
皆黙って俺について来い!!
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
Code: Select all
<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Sorry I didn't word this question right the first time:
Nach, could you clarify why your special version of LAME is needed? Didn't you report a bug on LAME's Sourceforge tracker regarding the handling of stdin(?), and has that been fixed in recent versions of LAME?
Nach, could you clarify why your special version of LAME is needed? Didn't you report a bug on LAME's Sourceforge tracker regarding the handling of stdin(?), and has that been fixed in recent versions of LAME?
[url=http://en.wikipedia.org/wiki/Pocky]Pocky[/url] & [url=http://en.wikipedia.org/wiki/Rocky]Rocky[/url]? [url=http://en.wikipedia.org/wiki/Pocky_%26_Rocky]Pocky & Rocky[/url]? [url=http://en.wikipedia.org/wiki/Sonic_the_Hedgehog_%28series%29#Animals.2FMobians]Pocky & Rocky[/url]?
-
- Inmate
- Posts: 1751
- Joined: Mon Dec 06, 2004 7:47 am
- Location: WA
-
- ZSNES Developer
- Posts: 3904
- Joined: Tue Jul 27, 2004 10:54 pm
- Location: Solar powered park bench
- Contact:
I've already explained the bug like a dozen times on this forum.85cocoa wrote: Nach, could you clarify why your special version of LAME is needed?
Yes I did.85cocoa wrote: Didn't you report a bug on LAME's Sourceforge tracker regarding the handling of stdin(?)
To my knowledge, no.85cocoa wrote:and has that been fixed in recent versions of LAME?
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
_____________
Insane Coding
I have done what was asked on each first page and now that I have the rawvideo.bin file I don't know how to convert into another file (AVI). I have tried the x264 compression but the resulted file was in very-low-resolution, I didn't like it.
Any clues? I need to convert the video-audio in the best way as possible. I feel like an idiot on this big thread because there is no sign of any ZMV file here and Mencoder/LAME are already on ZSNES folder, but I have no idea how to convert into AVI.
Please help!
Any clues? I need to convert the video-audio in the best way as possible. I feel like an idiot on this big thread because there is no sign of any ZMV file here and Mencoder/LAME are already on ZSNES folder, but I have no idea how to convert into AVI.
Please help!

-
- ZSNES Shake Shake Prinny
- Posts: 5632
- Joined: Wed Jul 28, 2004 4:15 pm
- Location: PAL50, dood !
SNES output IS very low resolution. Cope with it.
皆黙って俺について来い!!
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
Code: Select all
<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
I realize that.grinvader wrote:SNES output IS very low resolution. Cope with it.
But what I need is what FRAPS can almost provide - a capture with a higher resolution (higher than 256x224) that doesn't look compressed like the method ZSNES/Dumper - x264 does.
FRAPS can only capture ZSNES if you are using the 640x480 fullscreen method (all other methods cannot capture ZSNES, I don't know why) but is not perfect. I believe the sound has static/a little noise on the background and it doesn't fit the whole area of your screen (window box with black bars all the sides).
And the main problem from FRAPS is the fact that it doesn't compress the video, therefore it will slow considerably ZSNES and also take a lot of space from your harddrive.
The better resolution will be good for me because I need to take pictures from these videos. And I can't increase the resolution from a compressed 256x224 video. It will look like garbage.
Here's the FRAPS capture:

And here's the Dumper/x264 method using low-res:

Note that the first video from FRAPs looks gorgeous on television. The second from ZSNES looks like any ordinary SNES game not even connected with A/V cable.
Now don't call me an idiot, but even if you can increase the resolution from the x264/Dumper video, it will look worse than the FRAPS video. At least on my television, it is looking worse.
The same principle can be used to VHS tapes, why do you want to use a capture card with a recording 720x480 res. if the source is 320x240 for example? It is not a waste of space, because you will make a better restoration from the source using higher bitrates and resolutions. Don't ask me to explain this, but I know this is true.
Edit: I managed to get a picture from Media Player Classic by using print-screen button. The picture captured is better than taking a snapshot using this program, that is only based on the original frame source-size. Here's the result:

Whatever.


So is it either stretch the video in a program like Premiere or Vdub, or use one of the command line options to automatically stretch the video to what you would in an editor? I was just looking at my playback, and I think it would look pretty good stretched if I used a video effect to reproduce the scanlines to a modest degree.
I'm having a similar problem someone mentioned earlier, about importing the video into Premiere. I don't even get an error, the program just outright freezes on me. Is this a codec issue? Do I need to register the codec with Premiere somehow?
I'm having a similar problem someone mentioned earlier, about importing the video into Premiere. I don't even get an error, the program just outright freezes on me. Is this a codec issue? Do I need to register the codec with Premiere somehow?
-
- ZSNES Developer
- Posts: 3904
- Joined: Tue Jul 27, 2004 10:54 pm
- Location: Solar powered park bench
- Contact:
Good news, ZMV has finally been accepted and published at TASvideos.
http://tasvideos.org/1141M.html
I don't know if it's the greatest TAS video I've seen, but it's decent, and I created the AVI using the features listed here, and got a very good size to quality trade off.
Oh yeah, I also used ZSNES v1.51c to encode it
http://tasvideos.org/1141M.html
I don't know if it's the greatest TAS video I've seen, but it's decent, and I created the AVI using the features listed here, and got a very good size to quality trade off.
Oh yeah, I also used ZSNES v1.51c to encode it

May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
_____________
Insane Coding
hqxx would be nice, but all mencoder has right now is 2xsai. The filter needs to be set between two scale such as:Xax wrote:I tried adding "-vf 2xsai,2xsai,scale=1024:896" to md_other, as I had seen someone suggested, but it didn't work; neither the filter or scaling took effect. What did I do wrong?
Also, is there any way to encode using the HQ filter?
-vf scale,2xsai,scale
by default, that will render 2x the original, but you can set whatever dimensions to the 2nd scale (like scale,2xsai,scale=592:448), or to a separate one. And I suppose you could daisy chain a bunch of scale,2xsai parts to achieve a 4x effect and beyond, but I haven't tried it, who knows if it works.
For non-interpolated scale like what that fraps picture looks like, add -sws 4
sws sets the scaler type; these are the options:
0 fast bilinear
1 bilinear
2 bicubic (good quality) (default)
3 experimental
4 nearest neighbor (bad quality)
5 area
6 luma bicubic / chroma bilinear
7 gauss
8 sincR
9 lanczos
10 natural bicubic spline
-
- -Burninated-
- Posts: 871
- Joined: Mon Sep 10, 2007 11:33 pm
- Location: Unspecified