Solving the Problem of Managing NVIDIA ShadowPlay Export Video in Adobe Premiere Pro
Posted on March 10, 2014 12:00 PM by Rob Williams
I hate to sound like a broken record, but I love NVIDIA’s ShadowPlay, and chances are good that if you’re reading this, you do, too. For those reading for no other reason than boredom (thanks for spending that time here!), ShadowPlay is a technology that utilizes your GeForce GPU to both record and encode video on-the-fly, with minor-to-no visible overhead. Because the video is encoded automatically, the result is a far less weighty file than what you’d see from a solution like Fraps: You can expect about 200MB/1m at max detail, at 1080p.
That’s all good; what’s not is the fact that Adobe Premiere Pro doesn’t handle ShadowPlay’s export video well at all, and the reason boils down to variable framerates. One of the ways NVIDIA manages to keep ShadowPlay’s export file sizes low but retain great quality is to utilize variable framerates, but a professional tool like Premiere Pro never expects anything but constant framerates. The result is a freshly-exported video with de-synced audio and video – in effect, a useless result.
But, there’s a solution. It might not be a great one, but it’s a solution nonetheless.
What I’ve done is to load ShadowPlay’s export video into HandBrake (a completely free tool, available here) and simply reencode it to a constant framerate file. At the main screen, the video file can be loaded through the “Source” menu, and after choosing a destination for the new export, you can hit-up the “Video” tab down below and make sure “Constant Framerate” is selected, as seen in this screenshot:
As a general rule, re-encoding an encode is not a good thing, because quality loss is inevitable. An exception to this rule would be converting a lossless file into another format; eg: FLAC to ALAC. For many, the default constant quality of RF 20 should be suitable; you could expect that to result in a file size close to 1/5th of the original. Given that most of these files are YouTube-bound, the degraded filesize (and thus, quality) is unlikely to be a real problem. But, one thing worth bearing in mind is that this video is set to be re-encoded again once Premiere Pro is done with it, so for those who don’t want to risk quality loss at all, the RF could be reduced to 10 or lower (the lower the number, the higher the quality), or simply choose the average bitrate option and set it to something like 20000.
And, that’s all it takes to be able to properly take advantage of ShadowPlay and Adobe Premiere Pro. It should be noted that while this is a frustrating workaround for users, it’s neither Adobe’s or NVIDIA’s fault that it’s required. As mentioned above, Premiere Pro is a professional tool, and generally speaking, professionals don’t use variable framerates (variable framerates are really only common with online game streaming). Likewise, the reason NVIDIA doesn’t output to a constant framerate is two-fold; A) It’d hog more diskspace, and B) It’d force a constant framerate in-game. Because it doesn’t do either of those things, ShadowPlay recording is kept discrete, allowing you to both play a game with smooth framerates and record a video at the same time worth watching.