With the release of the new Obsidian game The Outer Worlds I decided to do something that I've done before with a game and that is to record and archive my gameplay in the highest quality for YouTube.
I know I'm probably boring you if you don't care about this stuff but...— NavJack27 @ Sampling for Revenue (@Jack_Mangano) October 30, 2019
I pride myself in being able to capture games in the highest quality that I can. When I realized being a tech tuber wasn't for me that's what I started to use my YouTube for.
This Tweet was me thinking about my history with doing this. I guess I don't talk about it much if at all so the Tweet infodump was kind of therapeutic. If you check out the entire thread you will find links to my older gameplay uploads. But anyway, back on topic!
I've used a number of tools over the years for recording gameplay:
- OBS with software encoding
- OBS with AMD encoding
- OBS with NVIDIA encoding
- ExKode Dxtory
- NVIDIA ShadowPlay™
Making sure you have the highest quality source video to edit and export is of the utmost importance.
You can use a program like Dxtory to capture your gameplay which hooks into the game similar to OBS but allows you to use more codecs. My favorite codec to use with Dxtory is MagicYUV. MagicYUV is a lossless codec that can record in a bunch of different formats. You can capture straight to RGB or you can save on space by capturing to YUV444, 422 or 420. It also supports 10bit and 12bit colors. Your bottleneck when using something like that will be your storage speed and space. I'm going to be using the MagicYUV codec in YUV420 for this article.
FRAPS is very similar to Dxtory but is much older and less compatible and only allows you to record using its own codec.
OBS is one that just seems to be universal. If you need to stream a game or record a game its usually what you will see people recommend. It has its drawbacks in terms of quality and performance though. It can also be quite maddening to troubleshoot why it does what it does sometimes.
NVIDIA ShadowPlay™ is built into the GEFORCE® EXPERIENCE™ which is an optional but default component of the NVIDIA drivers. It leverages the hardware encoder that is in NVIDIA's GPUs. It also has the ability to do streaming but I'm going to be focusing on the local recording feature for today.
I'm not sure everyone knows this but when you upload to YouTube no matter what you give them for a 1080P video it will end up looking like crap if it has anything to do with video game footage. You can upload a lossless AVI at 1080P and YouTube will murder the quality. The higher resolution you can give YouTube the better. Even if you record at 1080P you should find a way to upscale your video to at least 4K before you upload it. Recording at native 4K gives the best result though. Native 4K recording is also VERY hard to do. Obviously, it matters on what you are recording and what framerate you decide to record at but 3840x2160 at 60fps is quite intense.
There is only one thing on this list of tools that has been able to record native 4K without dropping a frame and that is NVIDIA ShadowPlay™. OBS comes close but when it drops a frame you notice it. OBS does also give you the ability to capture with better chroma subsampling then NVIDIA ShadowPlay™ does but even at NV12 I wouldn't consider OBS to be worth the possibility of frame drop. Dxtory can ALMOST do it on my computer, I could lower the framerate to 30fps and be just fine, but I don't have the hardrive space anyway. You can end up with files of hundreds of gigabytes after 30 minutes of recording. You also possibly need double the file size for the remuxing from RAWCAP format to AVI.
NVIDIA ShadowPlay™ gets its power from the NVENC backend. OBS also uses this but for whatever reason OBS just can’t hook and capture games with the same efficiency (lack of in-game FPS drop) as NVIDIA ShadowPlay™ can. With the Turing series of GPUs this NVENC has been updated and supports a bunch of new whizzbang quality features and optimizations that I won't get into here mainly because none of them are exposed to you VIA NVIDIA ShadowPlay™. OBS has them exposed and you can do whatever you want there.
Okay, enough of me going on and on, let's get to what I really wanted to show you.
I recorded some gameplay from The Outer Worlds using Dxtory and NVIDIA ShadowPlay™ at the same time. Dxtory was in 420 chroma subsampling mode just to keep things on equal footing since NVIDIA ShadowPlay™ would be using similar. Both were recording straight to 3840x2160 files on different drives in my computer. NVIDIA ShadowPlay™ was also using the highest bitrate on the slider.
This was a static camera angle in game for a couple seconds. Pretty much a perfect thing for peak quality.
This was a panning camera shot moving right to left at a pretty quick speed. Not quite worst case for quality but close. I think worst would be running and moving the camera around wildly but it's a good comparison, nonetheless.
I think I can pretty much stop worrying if I'm using the highest quality capture method or not. The Turing NVENC that NVIDIA ShadowPlay™ uses is top notch even when compared to a lossless video. YouTube will murder the quality anyway but at least I know I have a very good starting point. The only way this could be better is if NVIDIA allowed H265 Main10 from NVIDIA ShadowPlay™ or any other chroma subsampling modes. But man, you gotta give it to em for being able to record 4K60 video at such high quality with no in-game framerate drop.