• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
10

NVidia GPU-accelerated H264-encoder plugin, ready for public testing

Guest
Jun 27, 2013 Jun 27, 2013

Copy link to clipboard

Copied

Hi all,

I have written a 'proof-of-concept' GPU-accelerated H264-encoder for Adobe Media Encoder (CS6).  It requires an NVidia 6xx/7xx series "Kepler" GPU (CUDA capability 3.0), and uses the dedicated GPU's builtin hardware-encoder (NVENC) to offload the H264-encoding process from the host-CPU.  This software is "proof-of-concept", so it's missing some critical features (no interlaced-video support, no AAC-audio or Dolby AC-3 audio), and of course, it could be buggy!  But it's free.

!!!! Disclaimer: NVENC-export is third-party software that is not supported by either Adobe or NVidia.  It comes with no warranty -- use at your own risk.

Software/hardware Requirements:

(1)Adobe Premiere Pro CS6 or Media Encoder CS6 (Windows version)

Sorry, MacOSX is not supported. (NVidia NVENC SDK doesn't support MacOSX.)

(1)NVidia Kepler GPU <GKxxx> with 1GB VRAM or more  (GTX650 or above, GT650M or above)

(Sorry, NVidia Fermi <GFxxx> is NOT supported, it doesn't have the NVENC hardware feature)

Note,if you have MPE-acceleration enabled, keep in mind the NVENC-plugin consumes some additional VRAM because it uses your GPU to perform H264-encoding.

Strongly recommend a 2GB card

(2) Microsoft Visual C++ 2010 SP1 x64 redistributables

          (download this from Microsoft's website)

Installation instructions:

     In Adobe Premiere Pro CS6:

     (1)      On your system, locate the installation-directory for Premiere Pro CS6.

               Usually, this is C:/Program Files/Adobe/Adobe Premiere Pro CS6

    (2)     Copy the included file Plug-ins/Common/nvenc_export.prm

               to <installation dir>/Plug-ins/Common/

     -> To choose the NVENC-plugin in Premiere Pro,

          In the format-menu, select <NVENC_export>

     In Adobe Media Encoder CS6:

     (1)    On your system, locate the installation-directory for Media Encoder CS6.

          Usually, this is C:/Program Files/Adobe/Adobe Media Encoder CS6

     (2)     Copy the included file Plug-ins/Common/nvenc_export.prm

          to <installation dir>/Plug-ins/Common/

     -> To choose the NVENC-plugin in Media Encoder,

          in the format-menu, select <NVENC_export>

Performance & quality notes:

(1) How much faster is NVENC-export than Adobe's built-in Mainconcept H264 encoder?

Depends on your PC system.  On my test-system, which is ordinary desktop PC with Intel i5-3570K (4-core 3.4GHz), NVENC-plugin is roughly 4x faster than Mainconcept. On a dual-socket Xeon Ivy Bridge-E system, NVENC would probably only be 2x faster (in Media Encoder.)

(2)How does the video-quality compare?

Comparing similar settings/video-bitrate, Mainconcept performs better at lower-bitrates(less artifacts).  At medium-high bitrates, NVENC is comparable to Mainconcept.

(3) How does NVENC-export encode the video?

The plugin fetches videoFrames from the Adobe application, then converts the frames from YUV420 to NV12 surface-format (using host-CPU.)  Then it passes the converted frames to the NVENC front-end.  From here, NVENC hardware takes over, and handles all aspects of the video compression. When NVENC hardware is done, it calls the plugin to output write the elementary bitstream (to the selected filepath.) NVENC-hardware does NOT encode audio, nor does not multiplex the A/Vbitstreams -- this is still done in software (on the host-CPU)

The NVENC hardware block has very little CPU-overhead.  But since video-encoding is just 1 step in the entire Adobe rendering path, CPU-usage will likely still be quite high when using NVENC-plugin.

(4) What's the maximum-size video NVENC-export can handle?

H264 High-profile @ Level 5.1, which works out to roughly 3840x2160 @ 30fps. (Note the actual encoding-speed will probably be less than 30fps.)

(5) How fast is the NVENC-export hardware in Kepler GPU?

Assuming the Adobe application host is infinitely fast (i.e. can send video to plugin in zero-time), NVENC-hardware will encode High-profile (CABAC, 2 refframes, 1-bframe) 1920x1080p video @ ~100fps. At 3840x2160p (4k video), the hardware encode-speed drops to roughly 20-25fps.  That is still faster than a desktop PC.

NVENC-speed is generally same across the Kepler family - the high-end Geforce GTX Titan (or GTX780) is no faster than the entry-level Geforce GTX650, because all Kepler models share the same NVENC hardware-block, which is totally separate and independent of the GPU's 3D-graphics engine.

In premiere Pro 6, MPE acceleration will greatly affect how quickly Adobe can render video to the exporter.  So a more powerful Kepler GPU will probalby complete projects faster than a less powerful one (up to NVENC's performance ceiling.)  For more info, please refer to NVidia's NVENC whitepaper at their developer website (public)

(6) I have a multi-GPU setup, can I encode with multiple GPUs?

No, NVENC targets and uses only a single physical GPU.  (You can choose which one.)

Known limitations and problems:

NVENC-plugin is a 'proof-of-concept' program -- it is not a finished product.  So it's missing some features, and other things are known to be broken:

    • Interlaced video encdoing does not work at all (not supported in current consumer Geforce drivers)

    • Audio support is very limited: uncompressed PCM)

no AAC or Dolby-Digital

    • Multiplexer support is very limited: MPEG-2 TS only, using an included third-party tool TSMuxer.EXE

no MPEG-4 muxing (*.MP4)

    • When the muxed MPEG-2 TS file in Windows Media Player (WMP), there is no sound.  This is because WMP doesn't recognize PCM-audio in mpeg-2 ts files.  You have 2 choices; you can use a third-party media-player such as MPC-HC or VLC.  Or you can postprocess the audio-WAV file into a compatible format (Dolby Digital/AC-3)

    • in the pop-up plugin User-interface, the <multiplexer> tab is missing or not shown properly.

(To fix: Select a different codec, then re-select NVENC_export.)

    • Doesn't support older NVidia GPUs (GTX5xx and older, GT630 and lower)

Sorry, NVENC hardware was introduced with NVidia's Kepler family (2012)  Anything older than that will NOT work with the plugin.

TOPICS
Hardware or GPU

Views

372.3K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
replies 421 Replies 421
New Here ,
Feb 18, 2016 Feb 18, 2016

Copy link to clipboard

Copied

Hi everyone,

Any idea how to setup nvenc to create m4v that encore doesn't transcode once again?

The rest looks work great.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 18, 2016 Feb 18, 2016

Copy link to clipboard

Copied

wild_mike написал(а):

Hi everyone,

Any idea how to setup nvenc to create m4v that encore doesn't transcode once again?

The rest looks work great.

try to download the appropriate version

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 19, 2016 Feb 19, 2016

Copy link to clipboard

Copied

Can you tell me which one is the appropriate or which one works for You? I try use many different versions and many many different export settings. Still nothing.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 28, 2016 Feb 28, 2016

Copy link to clipboard

Copied

I don't know if this problem exist earlier but whenever I had my 4k footage scaled down to FHD and encode them, it always gave me "Error compiling movie" unless I encode them using H.264 profile then I can re-encode using NVENC again.

Premiere Pro CC 2015.2 --------- 1.11 - j2 & 1.11 - j3

Media Encoder CC 2015.2 ------ 1.11 - j2 & 1.11 - j3

Spec:

4790K @ 4.7Ghz

GTX970

16GB 1600

All software and footage on SSD

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 01, 2016 Mar 01, 2016

Copy link to clipboard

Copied

The last couple of days I've been trying to get this plugin to work, because It would be amazing to have, but I can't seem to get it to work at all

When I load up any of the 1.11 versions, my Premiere Pro crashes the second I try to select "EVENC_Export" from the export menu.

When I try to use any of the 1.09 versions, I can select the item, but I get no output.

NVIDIA Driver: 361.91

Premiere Pro: 9.0 (247)

Mp4Box and the Nero plugin installed/selected.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 03, 2016 Mar 03, 2016

Copy link to clipboard

Copied

I have the Nvencexport 1.11Wa

Did anybody updated to the latest nvidia drivers (I did) and Premiere Pro/Encoder CC (I didn't yet) ?.. Those who said yes, let me know if the plugin STILL WORKS for you at any moment, because i'm tired of being in fear.

Thanks in advance

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 03, 2016 Mar 03, 2016

Copy link to clipboard

Copied

With lastest PR and AME plugin still works..but lastest driver I don't know last time I tried 361.75 with CUDA 8.0 it wont works

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Mar 14, 2016 Mar 14, 2016

Copy link to clipboard

Copied

After nVidia driver update 364.51 I was forced to reinstall my Windows. Now I'm back with 362.00 and after I set encoder all my videos have VARIABLE BITRATE.

There is info "Possible Variable Frame Rate: VUI "fixed_frame_rate_flag". What is the reason and how to fix it?

I didn't have this problem before. Did I set something wrong?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Mar 20, 2016 Mar 20, 2016

Copy link to clipboard

Copied

nVidia 361.43 broke my system. I found that mBox crashes during the mux stage of rendering video with the new driver, so I had to roll back.

I had so many problems rolling back that I just wiped the system drive and restored a known good image from 2 months earlier. I got nvenc working again, but Premiere stutters on playback of all material, even HD material unless I load nVidia's Precision X 16 program, which I have set to speed up the fan. Without it, the card runs at 60°C and with it, 42°C.And the stuttering stops. But I never needed to run Precision X 16 just to play back video in Premiere before trying out the latest nvenc a couple months ago. It's like something went wrong with the hardware because even a full hard drive image restore to the old configuration that worked, isn't working anymore. Dual Xeons have always been shaky with Premiere (my old Core2Quad seems much more responsive on UI and playback performance in Premiere with only 8GB RAM), despite 128GB RAM available to the application. But now I have almost daily problems whenever Precision X quits without my knowing it, and then Premiere drops 95% of frames and outputs about 1fps.

Driving me nuts. Seriously considering moving to Japan and taking up rice farming. Technology driving me out of my mind!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Mar 21, 2016 Mar 21, 2016

Copy link to clipboard

Copied

I had the same problems with new drivers and returning to 362.00 or clean Windows installation didn't help and my card overheated like crazy in seconds. I have AIO water cooling on my both Titan X's and before this driver both worked under load at 38-42C. After driver update my second card worked in idle at 58C and overheated in seconds to 100C when under load. Then both cards clock dropped to 400MHz from 1400MHz 😕 Temporary solution was to turn off. SLI configuration and I could normally work on just one GPU. Then I put load on both of them with BOINC and GPU data processing and went to work. When I came back broken card fixed itself and now they both work at old temperatures. Now the only problem I have is that  VBR on my videos even when I set CBR. How to fix it?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Apr 08, 2016 Apr 08, 2016

Copy link to clipboard

Copied

I'm trying to figure out if I'm doing something wrong that resulting in only a minor speedup. My normal encoding setup is h.264 2-pass VBR 1080p60. On this test file, that came in a bit over 25 minutes (for a 9 minute video), and it looks like NVENC is going to come in around 20 minutes for the same thing. That doesn't seem right, with a GTX 970 for encoding. So, can anyone see anything wrong with this? This is the qaac version that was recently posted.

78bccf2a6d052faa627b64a9827850dc.png

361c7cfd0bd22710f92d96c499714745.png

72bf64ed571f1613a38f830609eb681c.png

a1bf0e8ba8750df27849737112591d8c.png

236f04f0122e1d8e1c207c81458e43fd.png

0dd5ff4eb9af60a31abc5732d2cc49b1.png

4df59cf756af06aea2d73e395470a21f.png

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Apr 22, 2016 Apr 22, 2016

Copy link to clipboard

Copied

I've got a bit of a problem, I have 1.11-J2 running however mp4box it showing up in the render settings at all and because of that there is no bitrate settings listed either. Any ideas? Here is a picture..Capture.PNG

Windows 10, current Nvidia GTX 980 drivers. CC 2014

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Apr 23, 2016 Apr 23, 2016

Copy link to clipboard

Copied

Plugin name should be -  nvenc_export.prm
Unless otherwise - rename. And you do not even have the choice of container.

Tyler_V28 написал(а):

I've got a bit of a problem, I have 1.11-J2 running however mp4box it showing up in the render settings at all and because of that there is no bitrate settings listed either. Any ideas? Here is a picture..Capture.PNG

Windows 10, current Nvidia GTX 980 drivers. CC 2014

Plugin name should be -  nvenc_export.prm

Unless otherwise - rename. And you do not even have the choice of container.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Apr 24, 2016 Apr 24, 2016

Copy link to clipboard

Copied

That doesn't help me the file name works fine as it has before and you do have a choice of container that's why you use MP4box, TXmuxer etc. I can't render a file with out MP4box not being recognized... as an error code comes up

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 08, 2016 May 08, 2016

Copy link to clipboard

Copied

Hey before i start my Question i'll write my system spec's :

OS: Windows 8.1

Adobe Version: CC 2015

NvEnc Version: 1.09-j1

Graphicscard: Nvidia Geforce GTX 750 TI (OC)

Driver Version: 365.10

Now my Problem:

If i render out a Video with using Titles from Adobe Premiere the nvenc dont render out this titles and than my video get synchronization problems. It renders normal but without titles.

What u need and how can i fix it?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
May 11, 2016 May 11, 2016

Copy link to clipboard

Copied

synchronization problems

set a keyframe for motion or opacuty property

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 11, 2016 May 11, 2016

Copy link to clipboard

Copied

Ok next problem:

If I use 1.11-j3 it dont show up into APR 2015.2 on Windows 8.1

Same with 1.11-j2

I installed the VC2013 redist and VC2015 redist pack from Microsoft Page.

If i use the 1.11Wa and 1.11Wb Builds my Adobe Crashes.

1.09 works without Problem but if i use a still frame like a title it dont renders the Title

And if I use more Video files in my Cut it renders to fast and the picture is missing on 1.09.

Error in Plugin loading.log:

Loading C:\Program Files\Adobe\Adobe Premiere Pro CC 2015\Plug-ins\Common\nvenc_export.prm

Loading from disk...

The library could not be loaded.

Nvidia GTX 750Ti with the 365.10 Driver Update

Windows 8.1 x64 (Maybe Windows 8.1 causes the Problem or someonthe tested nvenc 1.11-j3 on Windows 8.1?)

Adobe Premiere CC 2015.2

Adobe Media Encoder CC 2015.2

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
May 13, 2016 May 13, 2016

Copy link to clipboard

Copied

1.09 works without Problem but if i use a still frame like a title it dont renders the Title

And if I use more Video files in my Cut it renders to fast and the picture is missing on 1.09.

set a keyframe for motion or opacuty property

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
May 12, 2016 May 12, 2016

Copy link to clipboard

Copied

Anyone know how to solve variable frame rate issue?

This shows even if I set CBR in settings.

I use version 1.11-j2 with 362.00 nVidia drivers (all drivers after that one make my Premiere unusable).

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 06, 2016 Jun 06, 2016

Copy link to clipboard

Copied

Where can I download the latest version of nvenc? Someone got the link? Thanks!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jun 10, 2016 Jun 10, 2016

Copy link to clipboard

Copied

I have a kind of a big problem.

I've got:

-Windows 7 64bits Home Premium (Latest updates etc from W.Update and WSUS Offline)

-Intel i7 6700K

-16GB DDR4 2333mhz RAM

-2 SSDs + 1 HDD (HDD for recordings etc)

-GIGABYTE GTX 970 G1 GAMING (Nvidia drivers: 368.39 . Newest)

The prob is that since today, be it Nvidia drivers or not, i've got a prob when it comes to encode a 1h5min~ (Pinnacle Studio 12 + Pinnacle Movie Box recorded from TV) long vid into a 1080p MP4 file. When it comes to , for example, an anime opening (1min30sec~), IT DOESN'T HAPPENS.

The thing is i always used the 1.11we or whatever version of the Nvenc Export with certain settings. Got 2 screenshots of such:

NVEnc-Settings_a.PNG

NVEnc-Settings_b.PNG

Once i'm done choosing the presaved profile for the Nvenc Export thingy, i click on Export and the progress bar goes really slow. Won't even reach 2% and it gives me this error:

"Adobe Media Encoder"

"Error compiling movie.

Unknown error."

Once i click Cancel 2 times (warning and profiler) a bottom right red box says "A Low-Level exception ocurred in: NVENC_export 1.11 - j3 (exporter)

So, it fails on a 1h5min around vid, but with a 1min30sec vid, once i click on export (on the latter), it goes FWOOOOOOOOOOOMMM fast, goes through the mp4box and NeroAacEnc thingies and the file is done clear into my desktop.

Is there any possible fix or setting that i should try out in the profile stuff (aka the settings from the 2 images above) ?..Or is there a new Nvenc Export version that i am not aware of?..

HEEEEELP!

EDIT: SOLVED!!!. What i did was to research way more posts back and found this custom? NVENC_Export fix, the 1.12Wc_W7  one, rename it as asked, place it on Premiere Pro CC + Media Encoder plug-in folders etc, the typical, then download the latest GPAC version 0.6.1...BUT THIS TIME i needed these "qaac" files (Search qaac64 on Google) INSTEAD of the NEROAANC FILE!!!..IT'S NOT WORTH IT ANYMORE FOR THIS VERSION (The NERO file)!!!!

After setting up the same profile as always and, in the audio file, QAAC64 from C:\ (Where i placed it for faster pace), i re-encoded the 1h3min file.. It tooked a tiny bit less than 30mins to encode then the VCB 2 Pass thing (Much faster), then the "do you wanna open qaac?". I unchecked the "ask everytime" and accepted. ENCODED AS IT SHOULD AND WORKS!!!!!!!!!!

HOPEFULLY this works for you guys!!!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Jun 16, 2016 Jun 16, 2016

Copy link to clipboard

Copied

I recently updated my Nvidia drivers and now it looks like the plug-in is broke.  Are there any updates coming out for this, or is the project dead?  I'd hate to have to stay on outdated drivers.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jun 18, 2016 Jun 18, 2016

Copy link to clipboard

Copied

Help I'm missing something stupid. I had been using this for years with no probeen. I just reinstalled on a new system and the bitrate sliders are missing. Everything else is fine and it renders fine but I need those controls.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jun 18, 2016 Jun 18, 2016

Copy link to clipboard

Copied

Nevermind, I knew it was stupid - I just had to select the right rate control!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jun 20, 2016 Jun 20, 2016

Copy link to clipboard

Copied

Thank you so much for this tool ! It should be a feature of Media Encoder, Premier and AE but Nvidia and Adobe are too lazy

I have issues with version 1.11, j1, j2, j3 and a 980M. I'm assuming it's because of the latest drivers 368.39

Nvenc export recognise my card and says it's nvenc capable but when I start encoding in Media Encoder, it shows that Nvenc is not working. And my GPU usage is at 2%...

What is the last good driver that works with nvenc ?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines