(old) ZMV to AVI video conversion [[archive me]]

General area for talk about ZSNES. The best place to ask for related questions as well as troubleshooting.

Moderator: ZSNES Mods

Locked
supersaiyan55

Post by supersaiyan55 »

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.
snkcube
Hero of Time
Posts: 2646
Joined: Fri Jul 30, 2004 2:49 am
Location: In front of the monitor
Contact:

Post by snkcube »

supersaiyan55 wrote:this site doesnt work http://nsrt.edgeemu.com/lame.zip only ads comes out thats all. but no download link.
http://board.zsnes.com/phpBB2/viewtopic.php?t=11155
Try out CCleaner and other free software at Piriform
Image
Shuu

Post by Shuu »

Does this work for netplay video recording on v1.42?
Floyd
New Member
Posts: 3
Joined: Mon Mar 24, 2008 2:24 am
Location: Milwaukee, WI

Post by Floyd »

snkcube wrote:
supersaiyan55 wrote:this site doesnt work http://nsrt.edgeemu.com/lame.zip only ads comes out thats all. but no download link.
http://board.zsnes.com/phpBB2/viewtopic.php?t=11155
Ok, what if I did that already and I still get only ads?
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.
adventure_of_link
Locksmith of Hyrule
Posts: 3634
Joined: Sun Aug 08, 2004 7:49 am
Location: 255.255.255.255
Contact:

Post by adventure_of_link »

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 :P
<Nach> so why don't the two of you get your own room and leave us alone with this stupidity of yours?
NSRT here.
Floyd
New Member
Posts: 3
Joined: Mon Mar 24, 2008 2:24 am
Location: Milwaukee, WI

Post by Floyd »

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 :P
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...
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.
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

You could try SNES9x.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
Floyd
New Member
Posts: 3
Joined: Mon Mar 24, 2008 2:24 am
Location: Milwaukee, WI

Post by Floyd »

creaothceann wrote:You could try SNES9x.
Luckily, I believe I have a copy of that thing. Thanks for the assistance.
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.
null
New Member
Posts: 7
Joined: Sat Mar 29, 2008 8:09 am

Post by null »

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.
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
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).

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.
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

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.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
null
New Member
Posts: 7
Joined: Sat Mar 29, 2008 8:09 am

Post by null »

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:
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
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.
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

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.
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: 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.
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.

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
null
New Member
Posts: 7
Joined: Sat Mar 29, 2008 8:09 am

Post by null »

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.
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

System messages could be disabled with an option, if that helps.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
Xax

Post by Xax »

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?
85cocoa
Hazed
Posts: 55
Joined: Sat Jul 22, 2006 8:43 pm
Location: USA

Post by 85cocoa »

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?
[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]?
sweener2001
Inmate
Posts: 1751
Joined: Mon Dec 06, 2004 7:47 am
Location: WA

Post by sweener2001 »

will resolution and bitrate be choices that can be chnged in the gui

otherwise, the choices for containers and encoders are very impressive
[img]http://i26.photobucket.com/albums/c128/sweener2001/StewieSIGPIC.png[/img]
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

85cocoa wrote: Nach, could you clarify why your special version of LAME is needed?
I've already explained the bug like a dozen times on this forum.
85cocoa wrote: Didn't you report a bug on LAME's Sourceforge tracker regarding the handling of stdin(?)
Yes I did.
85cocoa wrote:and has that been fixed in recent versions of LAME?
To my knowledge, no.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
Sidrack
New Member
Posts: 8
Joined: Fri Jun 06, 2008 5:52 am

Post by Sidrack »

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! :(
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

SNES output IS very low resolution. Cope with it.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
Sidrack
New Member
Posts: 8
Joined: Fri Jun 06, 2008 5:52 am

Post by Sidrack »

grinvader wrote:SNES output IS very low resolution. Cope with it.
I realize that.

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:

Image

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

Image

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:

Image

Whatever. :lol: What I wanna know is how may I convert the rawvideo.bin file. :P
toxee
New Member
Posts: 3
Joined: Tue Mar 01, 2005 11:36 am

Post by toxee »

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?
Nach
ZSNES Developer
ZSNES Developer
Posts: 3904
Joined: Tue Jul 27, 2004 10:54 pm
Location: Solar powered park bench
Contact:

Post by Nach »

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 ;)
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
null
New Member
Posts: 7
Joined: Sat Mar 29, 2008 8:09 am

Post by null »

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?
hqxx would be nice, but all mencoder has right now is 2xsai. The filter needs to be set between two scale such as:

-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
neo_bahamut1985
-Burninated-
Posts: 871
Joined: Mon Sep 10, 2007 11:33 pm
Location: Unspecified

Post by neo_bahamut1985 »

Nach wrote: Oh yeah, I also used ZSNES v1.51c to encode it ;)
What the crap is ZSNES v1.51c?!
俺はテメエの倒す男だ! 宜しく! お前はもう死んでいる...
Locked