NVIDIA ShadowPlay - GPU Accelerated Recording and StreamingWritten on March 29, 2016 by William George
There has always been a strong social side to video gaming: arcades, split-screen multiplayer modes on consoles, LAN gaming with PCs, massively-multiplayer online games (MMOs)... the list goes on.Usually that has been a shared experience, where two or more people were playing together - either cooperatively or competitively. Spectating was possible, if you were watching in person, but it was limited in scope: you could watch your friends play, maybe, but not observe a world-class player (unless you happened to be friends with one). Live streaming of gameplay on the internet has changed that, though. Twitch.tv popularized the ability to watch other gamers ply their trade, and YouTube (as well as replays on Twitch) allow you to go back and see gameplay footage afterward as well. It doesn’t just have to be your real-life friends anymore, nor is it limited to watching the best of the best play, as happens in physical sports. Anyone with a decent computer (as well as some consoles) can live-stream their gameplay, or record it to upload to a video sharing site later on.
To facilitate this on a PC, a few popular programs have been made that will capture game footage - or just about anything else you might want to share - from your computer. Names like Open Broadcaster Software (OBS for short) and XSplit are well known in this field, and both are mature and powerful solutions… but they also depend on CPU power to encode video in real time. That means less CPU cycles are available for the game you are playing, which can reduce performance if you don’t have a processor with extra cores. Were it not for this extra overhead, normal gaming on a PC doesn’t actually need a lot of cores; most games instead benefit from higher clock speed.
There is an alternative, though! Modern video cards have specialized hardware for decoding (playing back) videos, as well as for encoding them. Those video engines are usually sitting unused when gaming, so NVIDIA - makers of the popular GeForce line of graphics processing units (GPUs) - developed a program to harness the video encoder on their cards to record or stream whatever the video card is displaying. They call it ShadowPlay, and it is bundled with the GeForce Experience software suite that is free to download and use on any system running a GeForce based video card. It is what I use myself when streaming or recording games, and since a lot of people I talk to are interested in that I wanted to share some basic info about getting started with it.
1) Check to make sure your system meets the minimum system requirements for GeForce Experience and has a video card that is compatible with ShadowPlay.
2) Download and install GeForce Experience.
3) Open GeForce Experience and go to the Preferences tab. Here you can configure whether to include a webcam feed in your videos as well as whether you want to see a frame rate counter and/or status icon for ShadowPlay. Those can each be toggled on or off, positioned in one of the four corners of your screen, and in the case of the webcam the size can be adjusted as well. There are also settings for having your mic always on or using push-to-talk, what key combinations will control ShadowPlay functionality, where the videos will be stored (if recording rather than streaming), and an option to allow capture of the Windows desktop. That last one is mostly for non-gaming applications, like recording tutorials about how to use Windows or other software.
4) Click on the ShadowPlay button in the upper right corner. This brings up another set of options - first and foremost, turning ShadowPlay as a whole on or off. When turned on, there are settings for the Mode, Shadow Time (more on this in a moment), Quality, and Audio; there are also shortcuts back to the GeForce Experience preferences page and the folder where recordings are being stored.
5) Mode gives you four options: Shadow & Manual, Shadow, Manual, and Twitch. Manual is a normal recording mode, while Twitch allows you to live stream to Twitch.tv (which requires an account with that website, and to log in through ShadowPlay). Shadow mode is a bit different, and this is where ShadowPlay gets its name: it is basically an option to have the recording always on, storing data to a temporary folder, and then when you’ve just had a good match or something you want to share you can press a hotkey and have the last few minutes of recording saved permanently. The length of time that is stored in that situation is controlled by the Shadow Time setting, and can be configured for anywhere from 1 to 20 minutes. The amount of space needed to keep the temporary recording data will also be shown, based on the length of time as well as your current quality settings.
6) Speaking of that, the Quality settings button allows you to select from pre-configured low / medium / high options or to set a custom configuration. If you opt for custom, you can control the resolution, frame rate, and bit rate that will be used. When recording, several resolution options are available, depending on what size your screen is; the frame rate can be set to either 30 or 60fps; and the bit rate can be set from 10 to 50Mbps (or as high as 130Mbps if using resolutions above 1440p). When streaming to Twitch, the resolution options are more limited and the bit rate can only be set from 1 to 5Mbps.
7) Lastly, the Audio option lets you capture in-game audio, in-game with microphone, or to turn audio off completely. Most folks will probably want in-game with microphone, but I can think of some times that the other options would come in handy.
That’s pretty much it! Once settings are configured the way you want and you memorize the hot-keys needed to control it, ShadowPlay is very simple to use. It is far easier than either OBS or XSplit, and in my experience has almost no impact on game performance. It is true that it doesn’t have some of the more complex options that those other programs can offer, which some gamers may prefer, but it is a great choice for many users - and a fantastic entry point into sharing your gameplay with the world.