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.

Adobe Premiere Pro - Export Video from NVIDIA's ShadowPlay

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:

HandBrake - Reencoding a Video from NVIDIA ShadowPlay to Constant Framerate

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.

  • Daniel Merritt

    Not sure if you want to edit this, but you have a lot of instances where you wrote “bitrate” but I’m pretty sure you meant “framerate”. It’s probably going to be a little confusing to someone who really doesn’t understand what those terms mean, and they might end up trying to reencode their vids with constant bitrates, which won’t solve this issue.

    Even the image showing the options in handbrake has the words
    framerate’ when the article is asking you to use the options for adjusting the ‘bitrate’.

    Regardless, good article, Shadowplay is awesome (luckily I just use Sony Vegas, which has no problems with the SP format)

    • Rob Williams

      Well, that’s embarrassing. Thanks a ton for the heads-up; all has been fixed! It’s sad I even misquoted that HandBrake option *shakes head*.

  • RainMotorsports

    Interesting. I never got my 770 so I have still yet to play with ShadowPlay. But the main interest is recording direct to H.264 leaving less work later. I wonder if the Fraps codec stores empty frames as duplicates or not. I have never had an issue in Sony Vegas in that regard but maybe I will grab a sample file from someone and check it. I record at 60 FPS in fraps (which plays smoother as well) but final cuts for youtube are output at 30 FPS and I don’t frame blend (resample) as was an option in Adobe or default in Vegas. With that set off the extra frames are dropped but quite often when you dip under 60 during recording there are either non unique duplicates or missing frames.

    • Rob Williams

      I think the best part about SP is the fact it encodes on-the-fly, because Fraps’ output can be extremely weighty. I kept logged into my MMO the other night to record the day-to-night cycle, and for 6 hours of video @ 1080p/30 with Fraps, it took up about 950GB of hard drive space. The same amount of time with ShadowPlay would be closer to 200GB, and the output would still look pretty good – and not to mention, there’d be no locked framerate, so it’d be recording and you wouldn’t know it.

  • Kroon

    So funny, I was googling this exact problem while I was converting my video in handbrake meanwhile and I find this post. Thankfully now I know it will work. I changed the FPS to 30 instead of 60 and kept RF at 0 though. (~100gig files @3-4h each)

  • 0_freaks_0

    This was an excellent piece of soft before I realized that the videos Handbrake transcoded were of a smaller size than the original source video. So I was left with videos which each displayed different dimensions from 1890xwhatever to 1910xwhateverelse. It’s utterly useless because there’s no option to change it.

    • Rob Williams

      That’s odd… I never had that happen. When you load the video in, it should show the resolution in the first video tab.

      • 0_freaks_0

        Hey Rob. Yeah it’s really weird. I looked around the web to find a solution as I often read people talking about being able to change the properties via the ‘Picture Settings’, but I’ve since found out that it’s only applicable on the Mac version of Handbrake and not the PC version where that option is not available.

        Looking at the picture of the program in the article, it should be at the top among the other tabs (Start/Add to Queue/View Queue/Preview and so on), but it’s not there.

        Using the ‘Picture’ tab below that (the one near the ‘Filters/Video/Audio/Subtitles) doesn’t help either, as I can’t change the settings the video will be transformed into – strange given that they provide the arrows to do so.

        In my screenshot, you’ll notice that the video size has altered from 1920 to ‘1840’ and the arrow keys which is highlighted to increase the width will not go any higher. I’ve heard of other people having the same issue, though have no idea as to why the software keeps altering the original file’s dimensions.

        • Rob Williams

          That is so weird, and not something I’ve ever encountered. It’s been a little while since I’ve last captured video, though, so I’ll test it out tonight since I’ll be doing a little bit of gaming.

          Seriously, I’m in awe of that. It knows that the video is 1080p, but refuses to encode it that way…

      • 0_freaks_0

        I’ll join your Steam group as well :)

        • Rob Williams

          Thanks! We’ll be posting some announcements there soon, so stay tuned ;-)

Recent Tech News
Recent Site Content