TASVideos

Tool-assisted game movies
When human skills are just not enough

Encoding Guide / Video Dumping

<< Encoding Guide

Table of contents [expand all] [collapse all]

Introduction

This page assumes you are already knowledgeable about playback of movies in the emulator. If not, consult Emulator Resources for advice on how to set that up first.

According to the Encoder Guidelines, your emulator should be configured to record video at its native resolution and at full frame rate. The settings you need to do this are listed in the following sections.

Common settings

Dumps should be made with a lossless codec using the RGB colorspace. Under Windows, most of the emulators in use on the site use VFW for their video dumping process. Popular VFW choices include CamStudio codec, and Lagarith. These lossless RGB dumps can also be used for taking screenshots.

Non-VFW Codecs via pipedec (Windows only)

Many of the emulators listed here dump video via VFW codecs, and must split those videos at 2GB intervals due to limitations in the aging technology. In cases where avoiding these splits is desirable (for instance, emulators that don't handle the split well and desync the audio/video), or where using a more modern codec (like lossless h.264) is preferable to VFW codecs, pipedec can be used. The following instructions will set up pipedec to use FFmpeg to encode using the lossless FFV1 codec as an example, but pipedec can be configured to pipe video to any encoder you want.

  1. Download a compiled version of pipedec: http://www.mediafire.com/?10bdic38iee7eak
  2. Install pipedec according to the instructions that come in the download.
  3. Start up an emulator that uses VFW for dumping, and starting dumping any kind of video so that the VFW codec selection dialog appears.
  4. You should see "Pipe Codec" in the list now. If you don't, you didn't install it correctly. Make sure that you install both the 32- and 64-bit versions if you are using older emulators alongside newer ones.
  5. Select "Pipe Codec" from the list and click the "Configure" button. You should see a message that a configuration file was created.
  6. Exit the emulator, open an Explorer window, and navigate to %appdata%/pipedec.
    • Consider making a link to this folder, because the stdout and stderr files in this folder will contain all output from your encoder.
    • If you don't get any output from pipedec for some reason, open up stdout.txt to see what happened.
  7. Open up .pipedec in your editor of choice. You will see lots of example setup in here, but nothing is configured by default and so pipedec will do nothing.
  8. Add these lines anywhere in the file:
    1. !RGB24:ffmpeg -y -f rawvideo -pix_fmt bgr24 -s %wx%h -r %n/%d -i - -vf "vflip" -c:v ffv1 -level 1 -coder 1 -context 1 -pix_fmt bgr0 -g 1 -an ".\pipedec.avi"
    2. !RGB32:ffmpeg -y -f rawvideo -pix_fmt bgra -s %wx%h -r %n/%d -i - -vf "vflip" -c:v ffv1 -level 1 -coder 1 -context 1 -pix_fmt bgr0 -g 1 -an ".\pipedec.avi"
  9. Customize the above lines for your use case:
    • You must replace ".\pipedec.avi" in the above command with a location of your choice. pipedec is always going to output the video to this location. If you specify a relative path like above, then where the video ends up going will vary depending on the application that is using it, and may not be consistent.
    • You will need to point to ffmpeg.exe on your machine instead of just using ffmpeg as above if you don't have FFmpeg added to your PATH environment. So if you had ffmpeg.exe on your desktop, you would instead write: !RGB24:"C:\Users\<myUserName>\Desktop\ffmpeg.exe" -y [...]
    • See this page regarding the FFV1 codec and the settings that are used here.
    • Another good lossless codec choice that is available in FFmpeg is UTVideo. It's similar in performance to Lagarith and can be used by setting -c:v utvideo.
  10. Time to dump game footage! Set up a game to be dumped, select a place to save the resulting file, and select "Pipe Codec" from the VFW dialog. If everything is working, you should see the file you named and created in the emulator appear, and you should find the file that pipedec is creating wherever you configured it to place the file.
    • Pipedec only handles video, no audio. So, the file that you name in the emulator is actually just going to be a blank video with an audio track. The pipedec video will contain the actual video, but no audio.
  11. Stop dumping video as normal when finished.
  12. You should now have two files - the video file that pipedec outputted, and the audio file that the emulator directly created. You will need to mux these files together at some point during the encoding process. To load these files in Avisynth, use AviSource("pipedec.avi", pixel_type="RGB24"). You may need to install ffdshow filters in order to get these videos to play back in VirtualDub.

BizHawk

Target settings

Resolution Sound
variable 44.1KHz stereo

Alternate Sync

NOTE: as of BizHawk 2.6.1, this setting has been renamed to “Sync to Audio”

BizHawk doesn't dump video with variable framerate even if the console outputs it. It's converted to constant framerate, and there are two ways of doing this conversion: audio throttle and clock throttle.

If Alternate Sync is enabled, "Audio Throttle" is simulated. Video frames are repeated or skipped to sync with audio, whose absolute timing is more accurate and reliable when it comes to variable framerates.

Disabling Alternate Sync results in "Clock Throttle" for videos. Audio gets stretched to match video frames timings. If there's huge descrepancy between how audio and video are timed, skewed audio pitch will be noticeable to the viewer, so it's generally not recommended to use this approach.

System specific settings

Commodore 64

  • Change border type to Normal and reboot the core. Use the same method as SMS on dealing with the uneven resolution.

GameBoy

  • Enable Alternate Sync: File -> AVI/WAV -> Config and Record AVI/WAV.
  • If game is using DMG mode (Original GB), use the greyscale palette.

SNES

  • If using any pre-2.0 BizHawk version, Enable Alternate Sync: File -> AVI/WAV -> Config and Record AVI/WAV.

N64

  • Enable Alternate Sync: File -> AVI/WAV -> Config and Record AVI/WAV.
  • Since Jabo video plugin has been deprecated, no bug fixes or enhancements should be used for it. On the other hand, movies using GLideN64 should have all the enhancements that are possible to pull off. For movies using other plugins, reasonable effort should be invested to try to resync them on GLideN64 and apply possible enhancements.
  • In some cases, it's recommended to update the GLideN64 plugin before dumping to get the latest bug fixes and improved accuracy.
    • Recommended GLideN64 settings (note that "enhanced" is typically used for SD and HD publications, "accuracy" is listed as settings for anyone wishing to do additional native-resolution encodes with settings that better reflect the N64's native output). Only non-default or notable options are listed here.
      • HW lighting: enabled for enhanced, disabled for accuracy (if you experience severely brightened colors, disable this).
      • Multisampling: disabled (conflicts with other settings).
      • FXAA: enabled for enhanced at resolutions 4K and above, otherwise disabled (can cause visual problems at lower resolutions)
      • Max anisotropy: enabled for enhanced, disabled for accuracy.
      • Bilinear filtering: N64 3-point.
      • Use defaults for current game: unchecked.
      • Copy Depth to RDRAM: use software renderer.
      • Copy Color to RDRAM: copy in sync mode.
      • N64 depth compare: enabled
    • Note: Because FXAA is not advised to be used at medium or low resolutions, anti-aliasing is not available on SD dumps. It's recommended you dump at a multiple of the game's internal resolution ("Show Internal Resolution" is a checkbox that can be enabled to discover this) and use Aktan's modified AreaResize AVISynth plugin to resize the dumped footage down to SD, while still preserving the clarity of the game's 2D elements.

NES

  • Disable Allow more than 8 sprites
  • Disable Clip left and right.
  • Set drawing area to (0-239) for PAL, and to (8-231) for NTSC.

PCE

  • Enable Sprite Limit.

PCE (TurboNyma)

  • First rendered scanline: 0
  • Last rendered scanline: 239
  • Show horizontal overscan: True

PSX

  • Enable Alternate Sync: File -> AVI/WAV -> Config and Record AVI/WAV.
    • If the version of BizHawk is pre-2.5 Alternate Sync must only be enabled for PAL titles.
  • Resolution Mode: Hardcore Debug Mode
  • Horizontal Overscan Clipping: None
  • Deinterlacing: Weave

Saturn (Saturn -> Preferences)

  • Resolution Mode: Hardcore Debug
  • Horizontal Blend: False
  • Horizontal Overscan: True
  • ScanlineStartNtsc: 0
  • ScanlineEndNtsc: 239
  • ScanlineStartPal: 0
  • ScanlineEndPal: 255

SMS

  • Enable Overscan. See this post for how to handle the resulting uneven resolution.
  • Enable Sprite Limit
  • Enable FM Chip if it's a Japanese game (unless this causes a desync)
  • Disable Overclock
  • Disable Stereo Separation.

Virtual Boy

  • VirtualBoy -> Preferences -> ThreeDeeMode: SideBySide.

Windows

  1. Select Speed/Skip to 0 (never skip)
  2. Open the ROM.
  3. Pause emulation. (Pause key)
  4. Load the movie.
  5. Select File -> AVI/WAV -> Record AVI/WAV. Note that Bizhawk 2.3 has a bug in unattended dumping (the video is always upscaled by 2), so use Config and Record AVI/WAV instead.
  6. Choose a file name (such as raw.avi), and choose a lossless RGB codec of your choice (see Common settings for suggestions). Click OK.
  7. Unpause emulation. At this point, audio and video are now being captured.
  8. When you reach the desired end point, select File -> AVI/WAV -> Stop AVI.
  9. For some systems, there will be multiple output files, one per resolution; these must be combined as in PSXjin.

Linux

BizHawk doesn't run on Linux, for now.

Dega

Target settings

Resolution Sound
256x192 (SMS) 44.1KHz mono
160x144 (GG) 44.1KHz stereo

Guide

Windows

Dega's built-in VFW support is broken (causes audio desyncs), so external capture software is required; for this purpose, .kkapture is used for its ability to preserve all of the frames in the input at the expected frame rate.

  1. Open .kkapture.
  2. Under Demo, select the dega executable.
  3. Under target, select the desired target AVI file (such as raw.avi).
  4. Set the FPS to 60 for NTSC games or 50 for PAL games.
  5. Select kkapture!. This will start Dega.
  6. Make sure Sound -> Enhanced PSG is unchecked.
  7. If applicable, check Sound -> FM chip; use of this is normally specified in the submission text.
  8. Load the ROM and start movie playback.
  9. At the appropriate end point, close Dega.

Linux

  1. Play back the movie, noting the desired end frame of the video recording.
  2. Calculate the number of frames past the end of the movie the target end frame is (the length of the movie in frames is specified at the end of the submission text).
  3. Assuming the movie file is movie.mmv and the ROM filename is rom.sms, invoke degavi with the following command line:
dega -f <number from 2> -m movie.mmv -o raw.avi rom.sms -- -oac pcm -ovc lavc -lavcopts vcodec=ffv1:format=bgr32

degavi will terminate automatically when dumping is done, yielding raw.avi.

DeSmuME

Target settings

Resolution Sound
256x384 44.1KHz stereo

Guide

Windows

  1. Select Config -> 3D Settings and select SoftRasterizer as the Renderer.
  2. Select Config -> Frame Skip -> 0.
  3. Optionally, uncheck Config -> Frame Skip -> Limit framerate.
  4. Open the ROM.
  5. Pause emulation. (Pause key)
  6. Load the movie.
  7. Select File -> Record AVI.
  8. Choose a file name (such as raw.avi), and choose a lossless RGB codec of your choice (see Common settings for suggestions). Click OK.
  9. Unpause emulation. At this point, audio and video are now being captured.
  10. When you reach the desired end point, select File -> Stop AVI.

Linux

Linux builds of DeSmume do not, at present, have video capture ability. You will need to use Wine.

Dolphin

Target Settings

Resolution Sound
variable, 4:3 or 16:9 32KHz or 48KHz stereo

Dolphin 5.0

Prerequisites

Guide

  1. In Graphics -> General -> Aspect Ratio make sure you use Auto. That way Dolphin will render the video with correct pixel aspect ratio, and you will not need to stretch the video afterwards to 4:3 or 16:9.
  2. In Graphics -> Advanced check Frame Dumps use FFV1 to get lossless video output.
  3. In Movie check Dump Frames and Dump Audio.
  4. Go to Config -> General and set Speed Limit to Unlimited.
  5. Go to Config -> Paths and Add... the folder you keep GameCube and Wii images in. Hit OK, wait for the game list to get populated, and then select the game you want to run by highlighting it in the list. Otherwise, load the game directly via File -> Open.
  6. Replay the movie by going to Movie -> Play Input Recording and selecting your .dtm file.
  7. When you're done dumping, hit the Stop button in the GUI. The resulting files will be in Dolphin-x64-5.0-ffv1\User\Dump\Frames and Dolphin-x64-5.0-ffv1\User\Dump\Audio.

Audio dump usually consists of 2 files: dspdump.wav and dtkdump.wav. In most games, dtkdump.wav is empty, but there are games that use it, so you'll have to mix them together for those.

Sometimes those audio dumps are also split into 2 more files. It's because Dolphin changes sameplarate on the fly. You'll need to set them to the same samplerate in order to splice them.

Antialiasing

There a lot of ways to apply antialiasing, and options will differ in different Dolphin versions and revisions. Here's some basic principles.

  • In Graphics -> Enhancements select the highest Anisotropic Filtering option.
  • In Graphics -> Enhancements select the highest Anti-Aliasing option your GPU supports.
    • If supported and works well, this option may be replaced with Post-Processing Effect -> FXAA, which works much faster and gives comparably good results at high resolutions.
  • Make sure Scaled EFB Copy is enabled.
  • If you're doing a high definition encode for youtube, increase Internal Resolution to something close to 2160p.
    • Note that option names may not match the exact resolution your video will be in, so to check what internal resolution it actually is in, hit the ScrShot button in Dolphin GUI and see what resolution the image in Dolphin-x64-5.0-ffv1\User\ScreenShots will have. Note that you don't have to match 2160p exactly, because rendering at non-integer scale factors may cause bugs in how the games render video. You'll resize it to your target resolution during encoding in the AVISynth script.
    • Another issue to be aware of is that Dolphin doesn't allow its window to go beyond your screen resolition.
      • Depending on your Operating System, patches applied to Dolphin to overcome this limitation may or may not work for you. Talk to the community to figure this out. This may still not work in revisions of Dolphin that use Qt.
      • If your monitor doesn't support 2160p or higher resolutions out of the box, you may try to create such a resolution manually and then set your monitor to it. Everything will look very blurry, but the video dump will be fine. On laptops, you will need to enable Virtual Super Resolution in AMD Radeon Software settings, or enable all DSR factors in nVidia 3D settings (Optimus needs to be disabled in BIOS).

        If you can't create such a resolution, try something smaller and use that instead.

        Sometimes 2160p is available but anything higher isn't. Configure Dolphin to use 2160p as a fullscreen resolution and switch to it for dumping, because the GUI window will still not fit, resulting in smaller resolution.
    • Some games outright refuse to apply anti-aliasing, because it's how they are configured in Dolphin's game database to prevent desyncs and emulation problems. Dump such games at native resolution and upscale via point-resize or lanczos-resize.

Aspect ratio

Dolphin tries not to render black bars that are present in some games, because that allowes to fill more of the screen with actual data in fullscreen mode. So aspect ratio of the video (ratio between width and height of the frame) may not always match that of the emulated console (namely, 4:3 for GameCube and 16:9 for Wii). Dolphin uses heuristics to determine proper pixel dimensions for any given video frame. So if the video is to be resized, both width and height need to be resized by the same exact factor.

Setting Graphics -> General -> Aspect Ratio to Auto forces correct aspect ratio most of the time, and you don't have to stretch the footage in either dimension to "fix" aspect ratio. However, with some games, Dolphin doesn't properly detect if the current mode is meant to be 4:3 or 16:9, so you may need to ensure the dump doesn't look unnaturally stretched or squiched.

  • If the movie doesn't explicitly set anammorphic widescreen for a GameCube game, then forcing 4:3 is safe.
  • For Wii, there's a system option to use the 4:3 mode and some games use it, also some games have an in-game option for it. But most of the time it's safe to force 16:9.

Resolution changing on the fly

Some games change resolution on the fly. Usually they have one resolution in gameplay segments and another in the rest of the footage. Aspect ratio (between width and height) may also be different in those segments.

After the game has changed resolution, Dolphin 5.0 stretches the video to whatever the initial resolution was. That means that if aspect ratio of the raw video frame also changes, pixel dimensions will be incorrect across segments.

  • One workaround is dumping in segments, but you'll need to manually start and stop dumping when resolution changes.
    • Use Dolphin's screenshot freature to determine internal resolution of any given frame.
    • When splicing segments, keep resolution of gameplay segments and only resize the rest of the footage if needed.
    • Do not stretch width and height by different factors, resize them equally and add black borders on the side that's too small.
  • Another workaround is forcing gameplay resolution on the Dolphin window and letting it handle the rest.
    • Enable Graphics -> General -> Auto-Adjust Window Size.
    • Start the game and let it reach gameplay.
    • Stop emulation.
    • Disable Graphics -> General -> Auto-Adjust Window Size.
    • Set Graphics -> Enhancements -> Internal Resolution to Auto (Window Size).
    • Make sure Graphics -> General -> Aspect Ratio is not Stretch to Window.
    • Dump the video as usual.
  • Third workaround is letting the entire thing run in initial resolution of frame 0 and then stretching the whole video to gameplay resolution. That way PAR in gameplay segments will be incorrect in the dump, but you will fix it while encoding.

Newer revisions of Dolphin allow to Dump at Internal Resolution in Graphics -> Advanced, but if the game changes resolution on the fly, that will cause drifting audio-video desync when you splice them back together. Auto-Adjust Window Size in Graphics -> General causes the same problem even if Dump at Internal Resolution is disabled. So use the above workarounds to force gameplay resolution to the entire video (while dumping or in post-production).

Dophin pre-5.0

Prerequisites

Make sure you get the correct Dolphin version, which should be stated in the submission notes, as different releases are neither sync-stable nor sync-compatible with each other. In versions before 4.0-3595, it is obligatory to fix Dolphin's broken video and audio dumping feature prior to obtaining a capture. Either rely on patched binaries or, as a Windows user, try patching yourself:
https://github.com/nattthebear/dolphin-avsync/branches
https://github.com/RisingFog/dolphin-avsync/releases
For Linux systems Ilari has created a set of patches providing similar functionality; ask on IRC if you need them. In any case applying the patches will likely result in merge conflicts, that have to be resolved manually. Ignoring this step will result in broken audio/video dumps on versions older than 4.0-3595! Some movies may require functionality (like memory card or disk switching) for playback that is not part of any official release. In these cases it is advisable to check the submission notes and discussion thread for provided patches or binaries.

Hint: Before starting the capturing process try to fully sync the run (Follow steps 1, 2 or 3, 7 (without Dump Audio) and 8). This is to make sure possible frustration caused by unnoticed late desyncs is kept to a minimum. Important: Sometimes a movie will desync on a second playback due to files being present that were created on first playback. Keep in mind that these have to be deleted before starting the capture! Check the submission details or discussion thread to be aware of such causes of desync. Should you get graphical glitches (missing/black or otherwise corrupted textures) try a different backend (e.g. OpenGL instead of DirectX) if possible.

Note: Windows Dolphin avsync versions older than 4.0-1711 crash after splitting the first 2GB segment. To overcome that, use one of these:

  • Ask the person who made a build for you to move the piece of code that closes the timecodes file (AVIDump.cpp) from AVIDump::CloseFile() to AVIDump::Stop().
  • Use x264vfw codec and configure it to output a lossless single-segment file (seeking won't break):
    • Basic -> last (nameless) drop-down menu -> Keep/Accept only RGB.
    • Check Zero latency.
    • Rate control -> Single pass - lossless.
    • Output -> Output mode -> File.
    • Output file -> specify the global path.
  • Use Pipedec.
  • Build Dolphin yourself, applying the fix from method 2. Use these steps then.

Guide

The following instructions assume you are using either natt's or Ilari's AVhack. Menu structure as well as names of menu items may change between releases.
Note: the settings are in the following format Dolphin 4.0 UI / Dolphin 5.0 UI.
To avoid unnecessary hassle ensure you fulfill the assumptions made in step 9, first sentence.
  1. Navigate to Options->Configure. Uncheck Enable Dual Core and Enable Idle Skipping. Set Framelimit to off / Speed limit to Unlimited. Make sure the CPU emulator engine is set to JIT Recompiler.
  2. For some Gamecube games: Navigate to Options->Configure->Gamecube and check Skip BIOS. Some movies require a memory card inserted, while others expect none to be present. Set the Slot options accordingly.
  3. For some Wii games: Navigate to Options->Wiimote Settings. Click Configure for Wiimote 1 and Clear. Also choose or unset the extension controller. These instructions are not required for all games.
  4. Go to Options->Graphics Settings -> Hacks, disable External Frame Buffer (related to movie sync), enable EFB Copies and set it to RAM (and enable Cache if you wish).
  5. Dumping is to be done on highest graphical settings. Navigate to Options->Graphics Settings and check Auto adjust Window Size. From that window navigate to Enhancements and set Internal Resolution to 2x Native, Anti-Aliasing to 16xQ CSAA or equivalent (8x SSAA) and Anisotropic Filtering to 16x (anisotropic filtering leads to graphical glitches with some games. Leave it set to 1x if this is the case.)
    1. Linux specifics: For games displaying their content in 16:9 it may be necessary to force widescreen mode at this point: Options->Graphics Settings, set Aspect Ratio to Force 16:9. This however will not suffice because Dolphin will always resize the window to a 4:3 resolution and as the window dimensions determine the video resolution, you have to resize the window to the correct resolution (2x the native 16:9 resolution, i.e. 1536x864) yourself. Ensure the window content (that is without titlebar and other decoration by your window manager) has the correct dimensions with e.g. xwininfo.
    2. TODO: Windows specifics: Does the same apply to Windows?
  6. Start the game without any dumping feature enabled. This way Dolphin will resize its window to the correct resolution. Now Dolphin has to be configured to write audio and video data to disk.
  7. Navigate to Options->Graphics Settings and uncheck Auto-adjust Window Size. From that window navigate to Enhancements and set Internal Resolution to 4x Native. Check Dump Frames on the Options->Graphics Settings->Advanced tab / Movie->Dump frames menu.
    1. Linux specifics: Check Frame Dumps use FFV1 as well. The Dump Frames option will make Dolphin dump audio too.
  8. Navigate to Options->DSP Settings and choose DSP LLE recompiler as DSP emulator engine. This type of sound emulation requires dsp_coef.bin and dsp_rom.bin to be present in the User\GC\ on Windows or $HOME/.dolphin-emu/GC on Linux directory or you will receive an error message. On Windows check Dump Audio in the Emulation / Movie menu and set Options->DSP / Audio settings->Audio Backend to "No audio output" (sound will be dumped nevertheless).
  9. Assuming the game is in your library and you have started it at least once, choose Play Recording from the Emulation / Movie menu and select the movie file to be captured. On Windows and Dolphin 4.0 select a lossless RGB video codec of your choice and click Ok. Audio and video are now being captured. Should the emulator crash at this point examine the User\Dump\ directory of your Dolphin installation ($HOME/.dolphin-emu/GC on Linux) and create the folders Audio and Frames if either of those are missing.
    1. Linux specifics: Important: During the entire video capture no window must overlap with the one showing the actual gameplay, so it is wise to check Keep window on top in Options->Graphics Settings.
  10. To stop the capturing process at the desired end point click Emulation->Stop.

Read on if you want to find out how to deal with the files that have been created for encoding: Dolphin encoding guide

DOOM

The guide is here:
http://tasvideos.org/forum/viewtopic.php?t=18887

Famtasia

  * Dacicus doesn't understand why so many people are having trouble with Famtasia
  <Grunt> Famtasia *is* trouble.

Target Settings

Resolution Sound
256x224 (NTSC), 256x240 (PAL) 44.1kHz mono

WARNING: Famtasia dumps video RAW uncompressed, and in 2gb segments. Each segment has considerable audio lag.

  1. Make sure you have the patched version. The 60 FPS, Windows fix, 240 scanlines[10], and AVI recording patches are required; the Audio logger must not be selected; and the others are optional.
  2. Start Famtasia
  3. Config -> Display -> Option: Resolution should be "Window Mode," Size x1, Drawing method should be "Window 8bpp,x1 size"
  4. Config -> Display -> Option: Check "Disable system messages"
  5. Config -> Speed: Refresh should be 1, Auto unchecked, ExecSpeed 100, and Windows Occupation all the way to the left
  6. Config -> Sound: No Reverberation should be checked, Sampling Rate should be 44,100Hz 8Bits
  7. Open Rom (It will instantly start recording upon loading the ROM, you may consider waiting a few seconds for the intro to change to make cropping it off easier)
  8. Edit -> Movie -> Play -> Play Movie -> click "..." and select the movie you want to record

Fixing the audio delay using VDub

  1. Open the first segment (usually recording00.avi)
  2. Video -> Compression -> Select Lagarith/CamStudio/your favorite lossless RGB codec -> Click OK
  3. Fix display using the instructions below for NTSC or PAL, as appropriate
  4. Save as something else (e.g., recording00_fixed.avi). Somehow, this magically fixes the audio.
  5. Repeat for each segment

Fixing the display using VDub (NTSC)

  1. Video -> Filters -> Click "Add..." Select "null transform" and click OK.
  2. With "null transform" selected, click "Cropping."
  3. Set Y1 offset to 7 and Y2 offset to 9. Click OK twice.

Fixing the display using VDub (PAL)

  1. Download Emiliano Ferrari's Shift filter and extract the ef_shift.vdf file into VDub's plugins directory. (Note: Simon Walters' ShiftWrap filter can also do this, but the processing settings aren't saved correctly for batch processing.)
  2. Video -> Filters -> Click "Add..."
  3. Select "Shift" in the filters list and click OK. (If it doesn't appear in the list, select "Load..." and navigate to the location of the ef_shift.vdf file.)
  4. In the Shift configuration dialog, check "Repeat the picture."
  5. Enter 1 into the Y text box, or click the down arrow once. Click OK twice.

FCEU/FCEUX

Target settings

Resolution Sound
256x224 (NTSC), 256x240 (PAL) 48KHz mono

Guide

Download QuickNES Palette

Within FCEU/X:

  • Go to Config -> Palette
  • Load Palette
  • Select QuickNES Palette

Windows

  1. Start FCEU or FCEUX.
  2. Select Config -> Video, and check Disable hardware acceleration (lower left corner).
  3. Select Config -> Sound. Set Rate to 48000 and Quality to high. Set all volume controls to their maximum.
  4. Open the ROM for the movie.
  5. Set the emulator speed to about 400% (= key); how fast you should go is limited only by the speed of your computer.
  6. Pause emulation (Pause key).
  7. Load the target movie file.
  8. Select File -> AVI/Wav -> Record AVI. Choose a file name (such as raw.avi), and choose a lossless RGB codec of your choice (see Common settings for suggestions). Click OK.
  9. If the movie uses new PPU (check the file header in a text editor), there's a bug that makes on-screen messages get captured to the video. Wait for them to disappear before unpausing emulation.
  10. Unpause emulation; audio and video are now being captured.
  11. Once you have reached your desired capture end point (usually at the end of credits), select File -> AVI/Wav -> Stop AVI.

Linux

Assuming the ROM is rom.nes and the fm2 is movie.fm2, issue the following command:
fceux --subtitles 0 --slstart 0 --slend 239 --xscale 1 --yscale 1 --special 0 --pal 0 --sound 1 --soundq 1 --soundrate 48000 --volume 150 --trianglevol 256 --square1vol 256 --square2vol 256 --noisevol 256 --pcmvol 256 --mute 1 --nospritelim 1 --no-config 1 --videolog "mencoder - -o raw.avi -ovc lavc -lavcopts vcodec=ffv1:format=bgr32 -oac pcm -noskip -nocache -mc 0 NESVSETTINGS" --playmov movie.fm2 rom.nes
The --videolog argument for capturing with a more modern tool like ffmpeg is:
--videolog "ffmpeg -f s16le -ar 48000 -channels 1 -i /path/to/soundpipe/s.log -f rawvideo -r 60.0998 -s 256x224 -pix_fmt bgr24 -i - -c:a pcm_s16le -c:v libx264rgb -qp 0 -pix_fmt rgb24 output.mkv"
Note: Figure out the /path/to/soundpipe/ by setting --videolog "NESVSETTINGS" once.

Once you have reached your desired capture end point (usually at the end of credits), close the emulator.

In r3325 we added --movielength int_number_of_frames (experimental) which should automatically terminate the capture along with the emulator. Please let someone know whether this works out for you.

In either case (linux or windows) you could try incorporating this one-liner lua script which should be self-explanatory:

while true do if movie.mode() == "playback" then emu.frameadvance() else os.exit() end end

WARNING: Dumping video for publications usually requires a human to make sure it's safe to stop dumping, as the game usually keeps providing valuable content after the movie has ended.

  • If capturing from FCEU 0.98.12 or FCEU 0.98.16 is needed for any reason, see this thread.

Final Burn Alpha

Target settings

Resolution Sound
(variable)[6] 48KHz stereo

Guide

WARNING: fba-rr-v003c does not automatically split the video file. It will dump video until the file reaches 4GB, after which the file will be invalid. To overcome this bug, track the size of the dumped video (update the folder containing it and hover the cursor), pause the emulator before 2GB is reached, stop dumping and then start again.

Windows

  1. Select Audio -> Plugin Options -> 48000Hz samplerate.
  2. Load the ROM.
  3. Pause emulation (Pause key).
  4. Start movie playback.
  5. Disable input display (, key) and frame display (. key).
  6. Select Game -> Movie -> Record AVI. Choose a file name (such as raw.avi), and choose a lossless RGB codec of your choice (see Common settings for suggestions). Click OK.
  7. Unpause emulation. You are now capturing audio/video.
  8. When you reach the desired end point, select Game -> Movie -> Stop AVI.

Linux

TODO

Gens

Target settings

Resolution Sound
320x224 (NTSC), 320x240 (PAL), 256x224 (low resolution mode) 44.1KHz stereo

WARNING: Use the build of Gens fixed for AVI dumping, Gens-SplitAVI. It fixes the frame drop on new segment start, and splits on resolution changes.

Guide

Windows

  1. Select Graphics -> Frame Skip -> 0. This enables turbo speed while not skipping frames.
  2. Make sure Graphics -> VSync is unchecked.
  3. Make sure Sound -> PSG High Quality is unchecked.[9] This option is not present in the latest svn.
  4. Check Sound -> YM2612 High Quality and Sound -> DAC High Quality.
  5. Uncheck Graphics -> Proper Aspect Ratio in low-resolution mode.
  6. If the game is a Sega CD game, uncheck Options -> General -> Show Sega-CD LED.
  7. Check Tools -> AVI -> Clean AVI screen.
  8. Check Tools -> AVI -> Fit AVI to game height.
  9. Uncheck Tools -> AVI -> Sync AVI with movie.
  10. Uncheck Options -> General... -> Message -> Enable.
  11. Uncheck Sound -> Soften Filter.
  12. If the game is a 32x game, check Sound -> PWM.
  13. If using any CamHack build for Sonic games, check Graphics-> Layers-> Sprites-> "Sprites always on top", then press the "Num Lock" key on your keyboard to remove sprite numbers on screen.
  14. Open the ROM.
  15. Pause emulation (Pause key).
  16. Start movie playback.
  17. Select Tools -> AVI -> Start AVI dump. Choose a file name (such as raw.avi), and choose a lossless RGB codec of your choice (see Common settings for suggestions). Click OK.
  18. Unpause emulation. You are now capturing audio/video.
  19. When you reach the desired end point, select Tools -> AVI -> Stop AVI dump.

Linux

TODO

Hourglass

Target settings

Resolution Sound
(variable) (variable)

Guide

Windows

  1. Figure out the options to get the run to sync (must be mentioned in the submission if they aren't default).
  2. Movie File -> Browse. Pick the TAS file.
  3. Game Executable -> Browse. Select the game executable.
  4. AVI -> check Capture Video and Audio.
  5. Check Fast-Forward.
  6. Run and Play Existing Movie.
It will prompt you to locate the output video and to select the codec. When it's over, press Stop Playing.

JPC-RR

Target settings

Resolution Sound
(variable) [7] (variable) [8]

WARNING: JPC-RR encoding is quite different from other emulators; if you are new to encoding, you should try working with different platforms first.

Guide

Set up movie replay as usual, but use the build from this thread, as well as the guide provided there: http://tasvideos.org/forum/viewtopic.php?t=20128

JPC-RR dumping guide
r10.x guide
r11.x guide

libTAS

Target settings

Resolution Sound
(variable) (variable)

Guide

  1. Install ffmpeg, or else dumping won't work (e.g. under Ubuntu: sudo apt-get install ffmpeg).
  2. In libTAS, set the path to the game to /path/to/game (or follow the instructions provided in the movie file's annotations)
  3. Check Movie recording, then click on Browse.... Select the movie file.
  4. Under Tools -> Configure encode..., set the encode file path to /path/to/encode.avi
    If you're using a VM, make sure to save to a shared folder both the host OS and the guest OS can access read+write).
    Make sure to append the .avi extension, or libTAS won't be able to recognize which format it should output.
  5. Copy one of the following commands in the ffmpeg options text box, then click Ok:
    1. For UTVideo:
      -c:v utvideo -pred median -pix_fmt gbrp -c:a pcm_s16le
    2. For FFV1:
      -c:v ffv1 -pix_fmt bgr0 -level 1 -g 1 -c:a pcm_s16le
    3. For H.264 RGB:
      -c:v libx264rgb -qp 0 -preset ultrafast -g 1 -pix_fmt rgb24 -context 1 -c:a pcm_s16le
  6. Start the encode by clicking on Tools -> Start encode. This will start the encode when launching the game.
  7. Click Start, then press the Pause key to un-pause if you started the game paused. This will capture audio and video to AVI (even if audio is muted).
  8. When you reach the desired end point, click on Stop or close the game window.

  • IMPORTANT NOTE WHEN USING H.264 RGB: If you have x264vfw installed, absolutely make sure to open the AVI in AviSynth with the following line, or else it will use Microsoft's garbage H.264 codec instead:
    AVISource("encode.avi", pixel_type="RGB24", fourCC="X264")

lsnes

Target settings

Resolution Sound
256/512x224/240/448/480 44.1 KHz stereo

Guide

  1. Open the emulator, load the ROM.
  2. Select load movie/savestate tab, select the movie, check start paused and hit ok.
  3. Set avi-soundrate to 5 (Settings, Advanced tab, or set-setting avi-soundrate 5). In lsnes-rr2, set AVI Sound mode to High quality 48kHz instead.
  4. Select AVI capture (Camstudio / PCM) from capture menu.
  5. Set speed to turbo (or other desired speed).
  6. If you want to, you can mute audio by unchecking Config->Sounds enabled. This won't affect dumped audio.
  7. Unpause the emulator
  8. When reaching the end, select end avi dump.
  9. Close the emulator.

  • On Linux, TSCC can be used instead of Camstudio (it is usually bit faster and compresses better).
    • The reason not to use that on Windows is the difficulty decoding it using VfW.
  • If you're having issues with black screens not being completely black, use an rrtest build from https://lsnes.tasbot.net/.

MAME-RR

Target settings

Resolution Sound
Variable 48KHz

All the settings should be default. Just use the following command line (assuming your ROM name is myrom.zip, and your movie name is myrom.mar):
mame-rr myrom -aviwrite myrom.avi -playback myrom.mar

Alternatively, save this script as dump_avi.bat, put near mame-rr.exe, and run it

@echo off
echo Type ROM name (without extension):
set /p ROM=
echo Type movie name (without extension):
set /p MOVIE=
echo Type AVI name (without extension):
set /p AVI=
mame-rr %ROM% -aviwrite %AVI%.avi -playback %MOVIE%.mar

Unpause the emulator (P key by default), since it autopauses to prevent timestamp desync. When you're done, just close the emulator. That will properly stop AVI dumping.

NOTE: mame-rr v0.1-beta reports the intended aspect ratio for each game, make sure to use it when encoding.
NOTE: mame-rr v0.1-beta splits the dump at 2GB, but might desync if the run was made on -alpha, so check if it syncs and use -beta. Splitting is needed to avoid the annoyance with fixing the broken frames at 2GB border.

Mednafen

Target settings

Resolution Sound
(variable)[4] 44.1KHz stereo

Guide

Windows or linux

Use the following command-line to launch Mednafen and automatically start movie playback and .mmm recording:
mednafen.exe -mmm 1 -mmmfile "where\to\save\movie.mmm" -mmmframes 5000 -mov "path\to\movie.mcm" -play 1 "path\to\rom.pce"
Change 5000 by the number of frames you want to dump.
Now transfert the .mmm file on Linux to convert it to .mov (quicktime).

Linux only

You will need to compile the transcoder yourself on Linux
Souce: https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/mednafen-rr/source-archive.zip install the following dependencies:
sudo apt-get install subversion build-essential automake autoconf libtool patchutils binutils libc6-dev bison flex gawk gettext imagemagick zlib1g-dev libsndfile-dev libquicktime-dev

then go to mednafen-rr/trunk/mednafen-mmmencode, execute sudo chmod +x ./autogen.sh.
Edit ./po/Makefile.in.in and change the GETTEXT_MACRO_VERSION version to 0.19
run ./autogen.sh then sudo ./configure then sudo make then sudo make install.
you will find the program in /usr/local/bin/.

Once compiled, go in the folder containing the .mmm file and use the following commang to convert it:
mednafen-mmmencode mymovie.mmm
You will have a "test.mov" file
If the command mednafen-mmmencode is not recognized, make sure the program exist in the /usr/local/bin folder. If it exist there, this mean /usr/local/bin is not in your $PATH variable, so use this command instead:
/usr/local/bin/mednafen-mmmencode mymovie.mmm

Open the QuickTime movie in VirtualDub with the FFInput Plugin to convert it to .avi File > save as avi

Mupen64

Target settings

Resolution Sound
variable, normally 320x240 (or multiple thereof)[2] 44.1KHz stereo

WARNING: Mupen64 is notoriously unstable and difficult to work with. If you are new to encoding, you should try working with different platforms first.

http://code.google.com/p/glidehqplusglitch64/downloads/detail?name=Glide64_Final.zip
http://rustedlogic.net/wikiold/index.php?title=Nintendo_64_Emulation_plugins

Guide

Windows

Mupen64's built-in dumping is very unreliable and should not be used at all. Aktan has developed the following alternate dumping method using a modified build of .kkapture. It is recommended, where possible, to use the Glide64 'Final' video plugin and Azimer's audio plugin (both plugins are mirrored on that page); some segments of the following set of instructions may assume the use of those plugins.
  1. Make a backup of your plugin directory so that your old settings are preserved, as necessary. Also backup glide3x.dll in your Mupen64 root directory.
  2. Place the above plugins into your Mupen plugins directory, and glide3x.dll from the "wrapper" directory in the Glide64 package into the Mupen64 base directory.
  3. Edit Plugins/Glide64.ini; change instances of "filtering = 1" to "filtering = 0", and "hotkeys = 1" to "hotkeys = 0".
  4. Start Mupen.
  5. Options -> Settings -> General -> uncheck "Limit FPS (auto)".
  6. Options -> Settings -> Config Plugins -> select Glide64 Napalm WX as the video plugin and Azimer's audio plugin for audio.
  7. Go into the Glide64 configuration dialogue, check "show advanced emulation options", and close and reopen the dialogue.
  8. Set video options as seen here and here. (Note: "use frame buffer objects" may be necessary for some video cards).
  9. Select a video resolution that is a multiple of 320x240 (or 342x256), but smaller than your screen size (antialiasing).
  10. Load your game ROM, and observe the Glide64 text at the bottom of the screen. You should see "Filtering: Automatic" specified. If it's not, you will need to exit Mupen64 and edit Glide64.ini as described in step 3.
  11. Utilities -> Movies -> Start Movie Playback. Select the movie to play back, check "Open Read-Only", and enter 1 for "Pause at frame:". Click OK. The movie should now be paused on the first frame.
  12. Make a save state.
  13. Close Mupen.
  14. Check that there are no .eep files for your game in the Save directory in the Mupen root directory (playback from .kkapture as follows doesn't clear these files out, and their presence can cause desyncs).
  15. Start .kkapture; configure it as seen here. Note in particular the frame rate (120fps); this is to ensure that all frames in 60fps segments are captured. There will be a lot of duplicate frames in the output; as such, use of a codec such as Lagarith that can store null frames is suggested.
  16. Set "Demo" to your Mupen executable and set "Target" to a target filename, then click "kkapture!". Mupen will start.
  17. Load the game ROM; wait for the Glide64 text to disappear (and ideally for a recognisable action to appear on the screen, so that you know when playback of the movie starts).
  18. Pause Mupen.
  19. Utilities -> Movies -> Start Movie Playback; select the movie as earlier, check "Open Read-Only", and click OK (don't specify a pause frame).
  20. Load your save state from earlier.
  21. Unpause Mupen - you are now capturing. Do not attempt to move any part of the emulator window off-screen - it will ruin rendering on the off-screen area.
  22. At the end of desired playback, highlight a non-Mupen window and press the right CTRL key. (WARNING: this means you can't use right CTRL during video capture!) Mupen will exit upon doing so.

Some notes on this method:

  1. The capture may have an extra 20 pixel border at the bottom, which should be cropped out.
  2. The audio plugin may add a audio delay of around 192 ms (could be a function of the sound card).
  3. Duplicate frame removal is strongly recommended for captures using this method, given the number of duplicate frames in the video dump.
  4. The sound output may not be 44.1kHz. If it is not, it will generally be a very odd sampling rate, and you may resample the sound track to be 44.1kHz.
  5. On certain games, the capture FPS can be set to 60 FPS for a smoother capture.

Linux

There is no known completely reliable way to get stock builds of Mupen to play back effectively on Linux with video dumping. Some encoders have reported success with Wine; for others it fails miserably. At least two encoders have modified builds of Mupen in order to dump video reliably; ask on the forums for more information.

openMSX

Target settings

Resolution Sound
640x480 44.1 KHz mono/stereo

openMSX dumps video with the lossless ZMBV (Zipped Motion-Blocks Video) codec and audio in uncompressed WAV. The ZMBV encoder is built in (and will thus work on any platform). On Windows, openMSX comes with a separate codec dll to be able to play the resulting AVI on any installed media player. Make you sure you install that dll to be able to import the AVI file to AVISynth and preview it in VirtualDub.

The resolution used in this guide is 480p, but some games can safely be downscaled to 240p. Here's a list of resolutions MSX screen modes use. Run the replay as described below and type toggle_info_panel in openMSX internal console, that will tell you the mode used by the game (only the mode used for actual gameplay is relevant here).

Guide

IMPORTANT NOTES:
  • The replay file doesn't necessarily have to be on C:\Documents and Settings\<user>\My Documents\openMSX\replays (for Windows XP) or on C:\Users\<user>\Documents\openMSX\replays (for Vista/Windows 7) or on /home (Users if you're using a Mac)/<user>/.openMSX/replays (for Linux / Mac) (where <user> is your user folder), but it's highly recommended that the replay is in that folder, as it'll be a bit easier to load the replay file.
  • As openMSX will use the exact same machine as specified in the replay file, you also need the system ROMs for that machine, which is explained in the openMSX Setup Guide. Of course, we don't provide them here.
  • If you get unlucky enough to experience openmsx switch the framerate on the fly during video recording, it'd cause an av desync. To fight it, make use of this tcl script, it would split the file on each fps change.

Windows

The easiest way is to use this script.

@echo off
cd /d "%~dp0"
echo record start -doublesize ./movie.avi > dump.tcl
openmsx %1 -script dump.tcl

Save this as a batch file (something.bat) near your openmsx.exe, put the movie there too, and drag'n'drop the movie onto the script. movie.avi dump will appear in the same directory. When you're done, just close the emulator, it will properly stop the video recording.

The following is the old, manual way.

  1. Method 1: load manually from the console
    1. Open Catapult (openMSX GUI) or openMSX (non-GUI).
    2. In case you started Catapult, start openMSX with the 'Start' button.
    3. In the openMSX window where the emulation is running, hit Pause to pause emulation.
    4. Hit F10 to bring up the openMSX console.
    5. Type reverse loadreplay -viewonly <replay> (where <replay> is the replay file you want to dump as AVI), then hit Enter. You can use TAB-completion to find the replay file easier.
  2. Method 2: auto load
    1. Drop the replay on openMSX.exe (or start openMSX from the command line with the replay file as only argument)
    2. In the openMSX window where the emulation is running, hit Pause to pause emulation.
    3. Hit F10 to bring up the openMSX console.
    4. Type reverse goto 0 to jump back to the beginning of the replay
  3. Type record start -doublesize raw (where raw is the file name of the AVI, then hit Enter. You are now capturing audio/video.
    Note: the reason why -doublesize is needed is because some MSX2 modes are 512x212
    Note: it will automatically detect if the currently emulated MSX can output stereo sound or mono sound and use that in the resulting AVI
  4. Unpause emulation. (Pause key)
  5. Hit F9 to speed up emulation (if you don't want to wait for the whole movie to play at normal time).
  6. When you reach the desired end point, pause emulation, type record stop, then hit Enter.
The AVI dump is to be found on C:\Documents and Settings\<user>\My Documents\openMSX\videos (for Windows XP) or on C:\Users\<user>\Documents\openMSX\videos (for Vista/Windows 7) (where <user> is your user folder)

Linux / Mac

  1. Basically the same as for Windows, except that the AVI file is to be found on /home (Users if you're using a Mac)/<user>/.openMSX/videos (where <user> is your user folder).
  2. The hot keys to open the console, pause and speed up emulation are different on Mac, though, see the openMSX User's manual.

If you don't know if the emulated MSX can output mono or stereo sound, open the AVI dump in any media player, e.g. VLC or MPlayer.

This whole guide can also be found (in other words) in the openMSX FAQ part of the manual.

For more information about openMSX, please check the complete openMSX manual.

PCEjin

Target settings

Resolution Sound
(variable)[5] 44.1KHz stereo

Guide

Windows

  1. Load the ROM.
  2. Pause emulation. (Pause key)
  3. Load the movie file.
  4. Select File -> Record AVI. Choose a file name (such as raw.avi), and choose a lossless RGB codec of your choice (see Common settings for suggestions). Click OK.
  5. Unpause emulation. At this point, audio and video are now being captured.
  6. When you reach the desired end point, select File -> Stop AVI.

Linux

PCEjin is Windows-only, but works well with Wine. You may also be able to play back the movie with recent builds of Mednafen (see above).

PCSX

Target settings

Resolution Sound
(variable)[3] 44.1KHz stereo

NOTE: Don't forget to pick the bios. SCPH-1001 for NTSC-U, SCPH-1000 for NTSC-J, SCPH-1002 for PAL. If you have problems, ask the judge or the author.
Spikestuff has compiled sync notes for each problematic movie.
NOTE: If it's a multi-disc movie, leave the ISO path field in the CD-ROM config blank. That will let you select both discs at proper time. WARNING: PCSX is not particularly stable and requires an unusual video dumping setup. It is not a good first choice of emulator for new encoders.
WARNING: This guide will not produce publication quality captures. Use of Aktan's special methods is required. The automated version of the resync setup can be found here.

Guide

Windows

PCSX's native AVI dumping is broken - it does not result in synchronised sound - so external capture software is required; for this purpose, custom PCSX .kkapture is used for its ability to preserve all of the frames in the input at the expected frame rate.

You may wish to use an alternate sound plugin for improved sound compatibility. The MIDAS plugin has been reported to be sync-compatible with the TAS Sound plugin while offering slightly better sound emulation; alternatively, you can attempt to use the Eternal SPU plugin which offers the best known sound emulation but which does not sync reliably, use of the automated version of the resync setup which can be found here is highly recommended.

If the game has graphical issues where characters are not visible then grab Pete's Soft Driver 1.54 and Activate Special Game Fixes and Enable No Sprite Transparancy Abe games.

  1. Configure PCSX's plugins for playback and close PCSX.
  2. Go to Configuration -> Graphics (You must use TAS Soft Plugins 0.2)
  3. In Stretching, select 1:1 (faster with some cards)
  4. In Dithering, select Always dither g-shaded polygons (slowest)
  5. If you are using PCSX-Resync enable Skip SPU Loadstate in the Tools menu, this will correct any lost audio.
  6. Open .kkapture.
  7. Under Demo, select the pcsx executable.
  8. Under Arguments, enter -play movie.pxm (where movie.pxm is the name of the movie file).
  9. Under Target, select the desired target AVI file (such as raw.avi).
  10. Set the FPS to 60 for NTSC games or 50 for PAL games.
  11. Select kkapture!. This will start PCSX and start the dumping process.
  12. Once the desired endpoint is reached, close PCSX.

Linux

PCSX is Windows-only. Further, .kkapture does not work with Wine. There has been at least one report of using a version of glc modified to sync video and capture all frames for a successful PCSX encode in a Linux environment.

PSXjin

Target settings

Resolution Sound
(variable)[3] 44.1KHz stereo

Guide

NOTE: Dumps from PSXjin are slightly wrong. Use this (unofficial) version instead.
NOTE: Don't forget to pick the bios. SCPH-1001 for NTSC-U, SCPH-1000 for NTSC-J, SCPH-1002 for PAL. If you have problems, ask the judge or the author.

Windows

  1. Go to Configuration -> Graphics
  2. In Stretching, select 1:1 (faster with some cards)
  3. In Dithering, select Always dither g-shaded polygons (slowest)
  4. Uncheck FPS limit
  5. Make sure Use Frame skipping is unchecked.
  6. Click OK.
  7. Go to Configuration -> Sound
  8. In Mode, select 2: Synchronous (tas safe, buffering glitches).
  9. Click OK.
  10. Load the ISO by going to File -> Open CD.
  11. Pause emulation. (Pause key)
  12. Select File -> Movie -> Start playback, or press CTRL + R to load a movie file.
  13. Select File -> Record AVI. Choose a file name (such as raw.avi), and a lossless RGB codec of your choice (see Common settings for suggestions). Click OK.
  14. Unpause emulation. At this point, an audio file and multiple video files (one per resolution change) are now being captured
  15. When you reach the desired end point, select File -> Stop AVI
  16. You'll need to resize each video part into the largest width and largest height captured.

Linux

TODO

Snes9x

Target settings

Resolution Sound
256x224 (NTSC), 256x240 (PAL) 48KHz stereo[1]

Guide

Windows

Note: This applies to v1.43 v17 and most revisions of v1.51. Earlier versions of v1.43 have a different menu layout.
  1. Select Config -> Speed -> Frame skip -> skip 0.
  2. Select Config -> Sound -> Playback rate -> 48KHz.[1]
  3. Select Config -> Video -> Display Configuration... and make sure that "Bi-Linear Mode 7" is checked.
  4. Load the ROM.
  5. Set speed to about 400% (= key or Config -> Speed -> Set Speed).
  6. Pause emulation (Pause key).
  7. Load the movie file, with Sync Sound checked (it increases sound resolution).
  8. Select File -> Audio/Video Recording -> Start AVI Recording. Choose a file name (such as raw.avi), and choose a lossless RGB codec of your choice (see Common settings for suggestions). Click OK.
  9. Unpause emulation. You are now capturing audio/video.
  10. When you reach the desired end point, select File -> Audio/Video Recording -> Stop AVI Recording.

Linux

At present, there's no known method other than Wine to get video output from v1.51 movies. A patch has been written for the v1.43 source code in order to get video output, but this may not be compatible with newer movies.

VBjin

Target settings

Resolution Sound
384x224 44.1KHz stereo

Guide

NOTE: Special encoding steps are required.

Windows

  1. Load the ROM.
  2. Pause emulation. (Pause key)
  3. Load the movie file.
  4. Select File -> Record AVI. Choose a file name (such as raw.avi), and choose a lossless RGB codec of your choice (see Common settings for suggestions). Click OK.
  5. Unpause emulation. At this point, audio and video are now being captured.
  6. When you reach the desired end point, select File -> Stop AVI.

Linux

VBjin is Windows-only, but works well with Wine.

VisualBoyAdvance

Target settings

Resolution Sound
160x144 (GB), 240x160 (GBA) 44.1KHz stereo

Guide

Windows

  1. Go to Options -> Sound -> 44 KHz.
  2. Go to Options -> Gameboy Mode -> Gameboy Colors.
  3. Open the ROM.
  4. Speed up to 300% (= key)
  5. Pause emulation. (Pause key)
  6. Select Tools -> Movie -> Play Movie and select the movie file you want to dump to AVI.
  7. Select Tools -> Start AVI Recording. Choose a file name (such as raw.avi), and choose a lossless RGB codec of your choice (see Common settings for suggestions). Click OK.
  8. Unpause emulation. At this point, audio and video are now being captured.
  9. When you reach the desired end point, select Tools -> Stop AVI Recording.

Linux

TODO

Yabause

Target settings

Resolution Sound
320x240 44.1KHz stereo

Guide

Windows

TODO

Linux

TODO


[1]: The SNES has a 32KHz native sampling rate, but using this option in Snes9x tends to result in sound desynchronisation.
[2]: For the N64, you can rip at an integer multiple of this resolution and scale it down to the appropriate size during the Pre-encoding stage.
[3]: Games for the PSX use many resolutions; 320x240 is the most common.
[4]: Mednafen, being cross-platform, uses the resolution of whatever platform it is currently emulating.
[5]: Most games for the PCE that have been run are one of 256x224, 256x232, 320x232, or 320x240.
[6]: There is no standard resolution for this platform.
[7]: Depends on game. Usually 640x400, sometimes 640x480, rarely something else (measure size of frames shown during in-game sequences. Some games have different resolution in menu and in actual game).
[8]: Depends on game. If game only uses PCM output with constant sampling rate, that sampling rate should be used. Otherwise sampling rate should be set to 44.1kHz or 48kHz.
[9]: PSG High Quality actually distorts PSG noises by performing filtering on the sound. As a result, sharp noises become very washed out and soft. For example, Sonic's jumping noise.
[10]: Famtasia incorrectly renders the NES's 240 scanlines. It shifts the topmost one to the bottom of the display. Furthermore, the 224 scanlines version (without the 240 scanlines patch) cuts off the bottom 16 scanlines instead of 8 from the top and 8 from the bottom. This results in 8 extra scanlines being displayed at the top and 8 fewer at the bottom. The best practice is to apply the 240 scanlines patch and remove the extra scanlines (NTSC) or move the bottom one to the proper location (PAL) after dumping.



Combined RSS Feed
EncodingGuide/VideoDumping last edited by Noxxa on 2021-10-16 15:30:25
Page info and history | Latest diff | List referrers | View Source