Gameplay Recording

From NSMBW Knowledge Base
Jump to navigation Jump to search

Dolphin Emulator is a free and open-source emulator for two of Nintendo's recent video game consoles, the Wii and the GameCube. It allows PC gamers to enjoy games for these two consoles in full HD (1080p) and with several enhancements.

Apart from playing games, the emulator can also be used to record gameplay, and to take high-quality screenshots.

Prerequisites[edit | edit source]

  • See here (Dolphin Emulator) on how to install the emulator.
  • As a second step, a game disc is needed. The game can be provided in ISO or WBFS format, or in its extracted form. Please see the article Dolphin Game Management for further information.


Tutorial: Recording Gameplay with Dolphin[edit | edit source]

Dolphin Emulator has an internal recording feature, which by far creates the highest quality video files. Unlike screen recording programs (Camtasia and others), Dolphin will directly record the emulator output to a lossless file.

The biggest advantage over external tools is, that Dolphin will use a timestamps file to keep the recording synchronized and always play the output at 100% speed. That means, no matter how slow your computer is, Dolphin will always record the output without delays or stuttering. Please note that on very old PCs, the recording process can take quite a long time.

There are two different methods to record the gameplay. With the first method, the output is recorded directly, the other involves using Input Recording. The second method is a bit more complicated to set up, but the recording process is much smoother and it's also possible to use savestates. On old computers it's recommended to use the second method.

Comparison between the two different recording processes:

Recording Process Type Explanation Advantages Disadvantages
Direct Dump Directly dumps the emulator output to several files. - Can start the recording process at any time

- Recommended for short (test) records

- Very slow recording process

- Difficult to navigate Mario under those circumstances
- All "errors" during recording (Mario dying etc) will be visible in the final video

2-Step via Input Recording Records the players's controller input to a file.
In the second step, dumps the emulator output to several files.
- Can start the recording process at any time

- Can use Savestates
- More natural gameplay (input recording doesn't need additional resources)
- Unattended recording process
- Recommended for thorough recording

- Takes more time to setup

The output will be recorded into a file. FFV1, which stands for FF video codec 1, is a lossless intra-frame video codec that will be used for the process. The resulting output files are huge, and need to be converted to a different format in the final step.


Method 1: Recording Output Directly[edit | edit source]

  • Open Dolphin Emulator and click on Config

Dolphin Settings General.png

  • The important settings here are:
    • Dual-Core: Needs to be enabled (unlike in prior Dolphin versions)
    • Speed Limit: 100% Normal Speed
    • CPU Emulation Engine: JIT Recompiler
    • Cheats: Can optionally be enabled

Dolphin Settings Audio.png

  • The important settings here are:
    • DSP Emulation Engine: DSP HLE Emulation (it's not needed to select the LLE Recompiler anymore)
    • Audio Backend: XAudio2 (recommended)
    • Dolby Pro Logic II Decoder is optional
    • Volume is optional, as that will only control the volume you hear during gameplay, not the output volume, which is always the same

Dolphin Settings Paths.png

  • Here we need to configure the Dump Path Dolphin will use.

At this location, the following folders will be created:

  • Audio, which holds the audio output from our recording
  • Frames, which holds the video output from our recording

The other folders are not important to us for now.

Dolphin Settings Paths ext.png

Now, close the Settings and open the Graphics window.

Dolphin Graphics General2.png

Here you can choose which backend to use. This depends on your hardware and other factors. Use the one that works best on your system.

The following 3 options control the emulator window and thus, the video resolution of your output file.

  • Use Fullscreen
  • Auto-Adjust Window Size
  • Render to Main Window

The following combinations are recommended:

  • Use Fullscreen turned on, the other two options are then irrelevant. This will record video with the native resolution of your graphics card.
  • Use Fullscreen disabled, Auto-Adjust Window Size enabled, and Render to Main Window disabled. This will create an external window with the size of the Internal Resolution (see next step) but not larger than the max native resolution of your graphics card.

Dolphin Graphics Enhancements.png

These settings are all optional and depend on the hardware used. Higher values create higher quality videos, but need more processing power and time. The Internal Resolution should be set to something around 3x Native for 1080p videos, or to 1x Native, if the video is just a rough draft. Likewise, Anti-Aliasing and Anisotropic Filtering can be activated. Please note that this will significantly decrease the recording speed as well.

Recommended Dumping Settings:

Internal Resolution 1x (draft/test) for 480p
3x for 1080p
4x for 1440p
6x for 4K
Anti-Aliasing None for draft/test recordings
8x SSAA for HQ
Anisotropic Filtering 1x (draft/test)
16x for HQ

Dolphin Graphics Advanced.png

On the Advanced Tab' we only need to activate Frame Dumps Use FFV1. The other settings are irrelevant to us at that time.

Close the Graphics Configuration window. Under Movie, click on Dump Frames and Dump Audio, so that both are activated.

Dolphin Movie Dropdown.png

Now we're all set to record the gameplay. Select a game from the list (ISO or WBFS) or load a main.dol from an extracted game. Depending on what settings you chose, the emulator should switch to fullscreen, or show an external output window. Dolphin will ask you to override the file, if there is a recording present in the "Dump" folder. Accept with 'Yes, possibly multiple times, and proceed with the recording.

It should be noted that the recording process doesn't have to be started when beginning to play. The player could decide to play the game normally (without recording), and only record a short passage of a few seconds, and then stop the recording process again. To do this, it is recommended to press the Pause button, and toggle Dump Frames and Dump Audio on or off.

Now play as much as you want!

Please note that you can use savestates, but everything will get recorded, even failed attempts. Also, do not try to resize the window during the recording process, as that will cause Dolphin to crash.

When you've reached the end of your playthrough, simply press Stop to stop the recording process.

Don't forget to disable Dump Audio/Dump Frames again from the Movie menu, or else, Dolphin will record another file when you start a game.

Several files will have been created in the "Dump" folder. Most important to us is the folder \Dump\Frames with the file "framedump0.avi", and \Dump\Audio with the file "dspdump.wav".

Folder File Properties
User\Dump\Frames framedump0.avi Codec: FFV1(24bit)

Dimensions: Window Size
FPS: 60 Frames/s
Bitrate (Data): ~140,000 kbps

User\Dump\Audio dspdump.wav Waveform Audio (.WAV)

Codec: PCM
Sample rate: 32,000 Hz
Bit rate: 1024 kbps
Bit Depth: 16 bits/sample
Channels: 2

If the recording is good enough for you, don't forget to move the files away from the Dump folder to a safe place. As stated above, Dolphin will overwrite those files with the next recording automatically.

If you're happy with the result, proceed to the next step, Converting to x264/x265 and joining A/V together

Method 2: Using Input Recording to dump Output in two Steps[edit | edit source]

The second method to record gameplay is divided in two steps. First we'll record the Input (from a Controller/GamePad) to a file, and then we'll replay that recording while also dumping the output/frames/audio.

Recording the input first has several advantages:

  • The speed when recording the controller input is only marginally lower compared to the speed when playing the game normally (without recording). It's basically the same speed. This is a huge difference compared to method 1 where we dumped the output directly.
  • Savestates can be used during the recording process, which means that unnecessary parts or failures can easily be cut out. By investing a bit of time it is possible, to create a very entertaining playthrough of your project by using savestates. It's also possible in theory to create so-called TAS playthroughs (Tool-assisted speedruns) by using savestates and the TAS Input controls. This is not covered here.
  • The second step (dumping) is an unattended process and doesn't need user presence.

Step 1: Recording Input to a File[edit | edit source]

  • Open Dolphin Emulator and click on Config

Dolphin Settings General.png

  • The important settings here are:
    • Dual-Core: Needs to be enabled (unlike in prior Dolphin versions)
    • Speed Limit: 100% Normal Speed
    • CPU Emulation Engine: JIT Recompiler
    • Cheats: Can optionally be enabled

Dolphin Settings Audio.png

  • The important settings here are:
    • DSP Emulation Engine: DSP HLE Emulation (it's not needed to select the LLE Recompiler anymore)
    • Audio Backend: XAudio2 (recommended)
    • Dolby Pro Logic II Decoder is optional
    • Volume is optional, as that will only control the volume you hear during gameplay, not the output volume, which is always the same

Dolphin Settings Paths.png

  • Here we need to configure the Dump Path Dolphin will use.

At this location, the following folders will be created:

  • Audio, which holds the audio output from our recording
  • Frames, which holds the video output from our recording

The other folders are not important to us for now.

Dolphin Settings Paths ext.png

Now, close the Settings and open the Graphics window.

Dolphin Graphics General2.png

Here you can choose which backend to use. This depends on your hardware and other factors. Use the one that works best on your system. The following 3 options control the emulator window and thus, the video resolution of your output file.

  • Use Fullscreen
  • Auto-Adjust Window Size
  • Render to Main Window

The following combinations are recommended:

  • Use Fullscreen turned on, the other two options are then irrelevant. This will record video with the native resolution of your graphics card.
  • Use Fullscreen disabled, Auto-Adjust Window Size enabled, and Render to Main Window disabled. This will create an external window with the size of the Internal Resolution (see next step) but not larger than the max native resolution of your graphics card.

Dolphin Graphics General low.png

Those settings are all optional and depend on the hardware used. But since we just want to record controller input, it is recommended to use the lowest-possible settings for Internal Resolution (1x Native), Anti-Aliasing (None), and Anisotropic Filtering (1x). All other settings should be kept unchanged.

Recommended "Input Recording" Settings:

Internal Resolution 1x (lowest possible)
Anti-Aliasing None
Anisotropic Filtering 1x

Dolphin Graphics Advanced.png

On the Advanced Tab we only need to activate Frame Dumps Use FFV1. The other settings are irrelevant to us at that time.

Now close the Graphics Configuration window and return to the main Dolphin window. You should now highlight the game you want to play in the main window. Once done, the entry "Start Recording Input" in the Movie drop-down menu should become available. If you want to play an extracted game via boot.dol or main.dol, and the entry "Start Recording Input" is greyed-out, then you need to start your game normally via the "Play" button, and stop it after a few seconds. The menu-item should not be greyed-out anymore.

Dolphin Rec StartDropdown.png

Finally, click the entry "Start Recording Input". Dolphin should now start the highlighted game (or the last boot.dol/main.dol used). You should be able to see an "Input" Count and "VI" (Video Input) Count in the title bar. You won't be able to see this information, if you've chosen the fullscreen option.

Dolphin Rec Input.png

Now, play your game as you normally would. Please remember that you can use savestates at any time. More information about them can be found here: Dolphin Emulator Savestates.

A short explanation about savestates: When playing, press the button/key associated with "Save Savestate 1" at any time you want to create a savestate, it's recommended though to use them right before difficult segments in your level. Continue playing. If you're satisfied with the playthrough of the previous segment, continue by saving a new savestate *after* the difficult segment. You can either overwrite Savestate 1, or use any of the others. If you are not satisfied with the playthrough of the previous segment, simply load the state from before the segment ("Load Savestate 1") so that you can try that passage again.

After you're entirely satisfied with your playthrough, press the "Stop" button in Dolphin. You should be presented with this dialog:

Dolphin Rec Save.png

Save the Controller Input Recording into a folder of your choice. The file will automatically be saved with the extension ".dtm".

If you want you can let Dolphin replay the entire file from start to beginning. This is to double-check, if you're really satisfied with the playthrough. To do that, simply open the Movie dropdown menu again and click on "Replay Input Recording". Then select the .dtm file we just created.

Step 2: Replaying the Input and Dumping the Output[edit | edit source]

Now it's time to replay the input file and dump the frames. But before we can do that, we need to change some of the settings back to higher quality. Open the Graphics settings and go to the "Enhacements" tab.

Dolphin Graphics Enhancements.png

It is advised to use very high quality settings now, because the actual recording process will run unattended. No user interaction is needed except pressing the stop button at the end.

The Internal Resolution should be set to something around 3x Native for 1080p videos. Higher resolutions can be achieved as well. Likewise, Anti-Aliasing and Anisotropic Filtering should be activated and high values used.


Recommended Dumping Settings:

Internal Resolution 3x for 1080p
4x for 1440p
6x for 4K
Anti-Aliasing 8x SSAA (recommended)
Use 8x MSAA on very old PCs
Anisotropic Filtering 16x

You can now exit out of the Graphics settings and return to the Dolphin main window.

Under Movie, click on Dump Frames and Dump Audio, so that both are activated.

Dolphin Movie Dropdown.png

Now, in the Movies dropdown menu, select "Play Input Recording", and select the .dtm file we created in the previous step. Depending on what settings you chose, the emulator should switch to fullscreen, or show an external output window. Dolphin might ask you to override a file, if there is a recording present in the "Dump" folder. Accept with Yes, possibly multiple times, and let the emulator do it's thing. You should be able to see the status of the recording in the title bar. The first number in brackets is the current Input Count, the second is the final Input Count.

  • Do not try to resize the window during the recording process, as that will cause Dolphin to crash.
  • Input Display can be shown on-screen. To turn it on, go to Movie -> Show Input Dislpay

Dolphin Rec Dump.png

When finished, press the "Stop" button. Please don't forget to deactivate "Dump Frames/Audio" unless needed again.

Several files will have been created in the "Dump" folder. Most important to us is the folder \Dump\Frames with the file "framedump0.avi", and \Dump\Audio with the file "dspdump.wav".


Folder File Properties
User\Dump\Frames framedump0.avi Codec: FFV1(24bit)

Dimensions: Window Size
FPS: 60 Frames/s
Bitrate (Data): ~140,000 kbps

User\Dump\Audio dspdump.wav Waveform Audio (.WAV)

Codec: PCM
Sample rate: 32,000 Hz
Bit rate: 1024 kbps
Bit Depth: 16 bits/sample
Channels: 2

If the recording is good enough for you, don't forget to move the files away from the Dump folder to a safe place. As stated above, Dolphin will overwrite those files with the next recording automatically.

Please proceed to the next step Converting to x264/x265 and joining A/V together


Converting to x264/x265 and joining A/V together[edit | edit source]

The video output files are currently in a barely compressed format (FFV1). You might have problems replaying those files directly on your PC. That's because of the immensely high data bitrate. Additionally, the video and audio streams are still separated and need to be combined.

To do all this, we need to open a video converter program. You can use any such program, but it needs to have the ability to cope with FFV1 files, and to put audio and video together, which is also called "Muxing". In this tutorial we will be using the freely available "Video to Video" program.

  • Download Video to Video Converter
Program Info
Video to Video This is a free video converter.

Video to Video converter is a software for converting between various video and audio formats.

Supports muxing. Supports FFV1

Required or similar

tool needed

Youtube Preset Needed for the optimal Youtube A/V settings for 1080p. Recommended

with Video to Video

K-Lite Codec Pack The K-Lite Codec Pack is a collection of DirectShow filters,

VFW/ACM codecs, and tools.

Optional
  • Open the program.
  • Under Tools, select Audio/Video Mux.

V2V 1.png

For Video Stream, select the file framedump0.avi from \User\Dump\Frames. For Audio Stream, select the file dspdump.wav from \User\Dump\Audio.

V2V 2.png

Now click on Ok and you will be presented with a new window.

V2V 3.png

Click on the MP4 AVC/H.264 icon, and in the top-right corner there is a little blue Save icon, click it and select "Export/Import" -> "Import Settings", and select the file Dolphin2Youtube.evv (Youtube HQ Preset). This step needs to be done only once. It is recommended, to set the profile as the default, and save it as an internal profile. Please note: Even though this step needs to be done only once, it's still always required to click on the MP4 AVC/H.264 icon first, the saved preset settings should then be loaded.

Confirm with Ok and you should return to the main window.

V2V 4.png

If you want to tweak the settings to your liking, you can do so on the right side. The output folder can be specified at the bottom.
Now everything is ready for the conversion process. Click on the big Convert icon and let the program process your video.
The finished video will be placed inside the specified output directory, once the conversion is finished. This will be announced in the status bar of the program (Ready).

The process is now complete. Video and audio are joined together, and the video/audio data is converted to MP4 x.264 format. You can now upload it to Youtube or elsewhere if you like.

Tutorial: Taking High-Quality Screenshots[edit | edit source]

Dolphin can be used to record high-quality screenshots. This can simply be achieved by pressing F9 on your keyboard (or whichever key is assigned to take screenshots; this can be changed in Options -> Hotkey Settings) while the game is running.

Please note: It is recommended to remove the level background in Reggie, if you want to take a screenshot from a single Sprite (for external uses).

To record high-quality screenshots, open the Dolphin Graphics settings once again and navigate to the General tab.

Dolphin Graphics General2.png

The following 3 options control the emulator window and thus, the dimensions of your screenshot.

  • Use Fullscreen
  • Auto-Adjust Window Size
  • Render to Main Window

The following combinations are recommended:

  • Use Fullscreen turned on, the other two options are then irrelevant. This will take a screenshot with the native resolution of your graphics card.
  • Use Fullscreen disabled, Auto-Adjust Window Size enabled, and Render to Main Window disabled. This will create an external window with the size of the Internal Resolution (see next step) but not larger than the max native resolution of your graphics card. The dimensions of your screenshot will be identical to the window size.

Now, navigate to the Enhancements tab.

Dolphin Graphics Enhancements.png

Set Internal Resolution, Anti-Aliasing, and Anisotropic Filtering to high value. It's also possible to start the game with low Enhancements settings, then change them to HQ settings right before taking the screenshot.

Now start the game as you usually would (without frame/audio dumping turned on and without recording Input). Play until you've reached the location, where you want take a screenshot. Now simply press the key assigned to take screenshots (F9 is the default in Newer Dolphin; can be changed in Options -> hotkey Settings). You can press the Pause button and then scroll one frame forward with the Frame Advance key (can also be set in Hotkey Settings) to take a picture from exactly the right frame.

Screenshots will be saved in the following directory:

\User\ScreenShots\%GameID%

An example:

C:\Dolphin\User\ScreenShots\SMNP02\SMNP02-1.png