To record a video you need 1.50 or 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. This fixed build of LAME is based off the offical 3.97 source.
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 the dumped videos, you'll need either 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
The GUI build is optimal for playback, but you also want the RTM build because mencoder is provided in that package.
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.
Also note that as of the 12/19/06 mencoder SVN build, it works perfectly fine with ZSNES 1.50 w/o any special tweaks. If mencoder parameters change, future builds of ZSNES will be appropriately updated.