Nvidia ShadowPlay

ShadowPlay comes with any Nvidia card that's at least a 600 GTX. It's a great way to deal record games if you have an Nvidia graphics card.

By default it's disabled. To enable it, you'll first need to open the GeForce Experience and then click on the ShadowPlay button at the top.



By default the giant switch on the left will be off. In the screenshot it's been flipped on. With it flipped on, you'll be able to record gameplay footage by pressing Alt-F9 when a game is running in fullscreen. ShadowPlay also has another neat feature: when enabled, ShadowPlay will record a "shadow" recording for the length specified in the "Shadow time" setting. So if you're playing a game and something neat happens, you can hit Alt-F10 to save that video.

The folder icon under the switch opens the directory where recordings are stored. Recordings are grouped into folders named after the game being recorded. The cog next to the folder can be used to change various settings beyond the four displayed on the main dialog. (You can also get to these settings via the ShadowPlay section in the Preferences tab.)

The Mode can be Shadow & Manual which allows you to record in both modes, Shadow only which only allows shadow recordings to be saved, Manual only which disables the shadow recording (you might want this for LPs where you don't need shadow recordings), or "stream to Twitch."

The Shadow time is the maximum length of the shadow recording. (Shadow recordings restart after you save a shadow recording, so if you save a shadow recording of the five minutes pictured and then two minutes later save another one, you'll end up with first a five minute and then a two minute video.)

Quality can be Low, Medium, High, or Custom. For the purpose of LPs I'd recommend setting Quality to Custom and shoving the bitrate as high as it will let you. This gives you the best quality raw to use when editing.

Audio can be either in-game, which records solely the in-game audio (which is probably whatever the current default audio device is), in-game and microphone, in case you want to record live commentary with your recording, or simply off. Recording both commentary and game audio at the same time isn't recommended: if you want live commentary, record it using one of our recommended audio recording software while recording the game at the same time.

Caveats
There are, unfortunately, some caveats when using ShadowPlay.

Incompatibility with Logitech Gaming Software
There is unfortunately a known issue when recording with the Logitech G930 headset. Closing the Logitech Gaming Software should allow you to record with ShadowPlay while continuing to listen to audio via the headset. (Note: this bug may have been fixed, although the linked thread indicates some people are still experiencing it.)

FFMpegSource and Audio Desync
If you're editing with AviSynth, you may encounter an issue with FFMpegSource where the audio doesn't sync to the video. (Note: this should be resolved with the fixing of FFMS2 issue #216, which was fixed in FFMS2 2.22. However the version of FFMS2 included with MeGUI is still version 2.20 as of 2016-06-03.)

Thankfully, there's a fairly simple solution, using FFMpeg.

FFMpeg has an audio filter that attempts to correct audio sync issues. You can use it to just dump the audio to a WAV file that you can then use as your audio source. The WAV file will be corrected to include the correct, synced audio.

Running it is fairly simple:

ffmpeg -i "recording.mp4" -vn -codec:a pcm_f32le -filter:a aresample=async=1000 "recording synced.wav"

What this does is take your input file (-i "recording.mp4"), tell it to exclude video (-vn), use floating point little-endian PCM as the output codec (-codec:a pcm_f32le, this is a type of WAV and can be read using WAVSource), apply the resample filter and be willing to adjust up to 1,000 samples to keep it in sync (-filter:a aresample=async=1000) and then write the whole thing to "recording synced.wav".

Note that if your video is long enough (over an hour) this won't really work because the generated WAV will be over 2GB. In that case, record to a FLAC and then use FFAudioSource to import the audio:

ffmpeg -i "recording.mp4" -vn -codec:a flac -filter:a aresample=async=1000 "recording synced.flac"