• 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

362.8K

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
Guest
Jun 27, 2013 Jun 27, 2013

Copy link to clipboard

Copied

Download link:

...Whoops, I knew I forgot something ...

This is hosted on Google-drive:

     Version v1.01 (June 27, 2013) - https://docs.google.com/file/d/0B96CRWkNxmWdSElqaDhZOXV6T3M/edit?usp=sharing

When you click on the above link, it will open the contents of the ZIP-container (nvenc_export_v101.zip)

Don't download the individual files, you'll want the whole ZIP file:

how_to_download_nvenc.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
Adobe Employee ,
Jul 04, 2013 Jul 04, 2013

Copy link to clipboard

Copied

Cool!

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
Jul 12, 2013 Jul 12, 2013

Copy link to clipboard

Copied

NVENC_export Version v1.02 (July 13, 2013) is now available -

  • Now supports exporting to *.MP4 file (requires third-party tool MP4Box.EXE)
  • Now supports AAC-audio (requires third-party tool NeroAacEnc.EXE)
  • No longer includes TSMuxer.exe (you must download that separately)

Download link:

     NVENC_export Version v1.02 (July 12, 2013) - https://docs.google.com/file/d/0B96CRWkNxmWdLTF2Z3N1TGUtYVE/edit?usp=sharing

     NVENC_export Version v1.02 (July 13, 2013) - https://docs.google.com/file/d/0B96CRWkNxmWdLVRWeFNXWEh4NVE/edit?usp=sharing

When you click on the above link, it will open the contents of the ZIP-container (nvenc_export_v102.zip)

Don't download the individual files, you'll want the whole ZIP file:

how_to_download_nvenc_v102.png

Third party tools:

(1) NVENC does not include built-in multiplexing.  If you wish to output *.TS or *.MP4 files, you must download and install the following third-party tools:

(2) To enable AAC-audio output, you must download and install NeroAacEnc.

Known problems:


Unfortunately, the <Multiplexer> tab sometimes shows up without the label/description.  It still works, but see the picture below.  (Look to the left of the <Video> tab.)

[Edit]: <July 13 release> should fix this problem.

premiere_nvenc_102_ss.png

Message was edited by: nvenc4everyone (update to July 13 release)

Message was edited by: nvenc4everyone (fix download-link to July 13 release)

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 ,
Jul 20, 2013 Jul 20, 2013

Copy link to clipboard

Copied

Hi! First of all. Thanks for the encoder! Works great!

I am really positive about the hardware encoding, and wanted to share my results with you.

The hardware that is used in this example is:

HP XW8600 Workstation

2x Intel Xeon Quad Core E5450 3.0GHz

16GB Ram

Point of View (Factory Overclocked) GTX680 2GB

I have used a premiere project that was 3 and a half minutes long, had multiple layers, color correction, upscaling (and maybe something else I might forgot). With the mainconcept encoder it took exactly 5 minutes to encode the project. With the hardware encoder it only took 1 minute and 10 seconds to encode!

I hope Adobe picks this up and implements it in the software. It saves a LOT of time exporting!

Anyway, thanks for the encoder!

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 ,
Jul 24, 2013 Jul 24, 2013

Copy link to clipboard

Copied

Hey, cool feature, but it only works in Premiere and doesn't in Media Encoder.. PLS help me - TomiCake

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
Aug 19, 2013 Aug 19, 2013

Copy link to clipboard

Copied

I don't have much more time to work on this project, so this will probably be the final release.

NVENC_export Version v1.03 (August 17, 2013) is now available -

  • Before, when the muxer was used (MP4 or MTS), nvenc_export would create temporary file(s) with the same basename as the output file.  If the output directory happened to have a file with the same name as nvenc_export's temporary file(s), they were silently overwritten.  (For example: when expoting to "my_movie.mp4", nvenc_export would create "my_movie.m4a" and "my_movie.264"

  • Now, nvenc_export chooses a temporary filename that is less likely to accidentally overwrite other files in the same directory: "my_movie_###.m4a" and "my_movie_###.264" (where ### is a random number.)

  • NVENC_export is now compiled with Microsoft Visual Studio 2012 and the NVidia CUDA SDK 5.5. (Previous versions were compiled with VS2010sp1 and CUDA SDK 5.0)  Due to the switch to CUDA 5.5, nvenc_export requires that you have a newer Geforce GPU driver (May 2013 or newer.)  If it's not already installed, you'll need to download and install Visual C++ Redistributables for Visual Studio 2012 Update 3.

Download link


  NVENC_export Version v1.03 (August 17, 2013) - https://docs.google.com/file/d/0B96CRWkNxmWdaXMtX0d3UHBQT1E/edit?usp=sharing

nvenc_export_103_download.png

When you click on the above link, it will open the contents of the ZIP-container (nvenc_export_v103.zip)  Don't download the individual files, you'll want the whole ZIP file.

  • You will also need to downoad and install the following item from Microsoft:

"Visual C++ Redistributable for Visual Studio 2012 Update 3"

Third party tools:

(1) NVENC does not include built-in multiplexing.  If you wish to output *.TS or *.MP4 files, you must download and install the following third-party tools:

(2) To enable AAC-audio output, you must download and install NeroAacEnc.

Known problems:

(Same limitations as previous versions.)

(1) NVENC does not include built-in multiplexing.  If you wish to output *.TS or *.MP4 files, you must download the third-party tools mentioned above.

(2) NVENC does not support interlaced-video output. If you attempt to output interlaced video, the plugin will either crash, or generate a corrupt video bitstream.

(3) NVENC does not support (AC3) Dolby Digital audio, only PCM.  (And AAC, if you separately download and install NeroAacEnc.)

(4) When outputing video Level5 H264 video (i.e. video larger than 1920x1080), the bitrate-control modes don't work correctly, and will result in an abnormally small and bad looking video.  To workaround this, change the rateControl setting to RC_CONSTQP


Source code link

This section is only for software-developers who are interested in recompiling nvenc_export.

The C++ source-code can be downloaded from the following link

  NVENC_export Version v1.03 SRC (August 17, 2013) - https://docs.google.com/file/d/0B96CRWkNxmWdbkYwdkVENlBuMDg/edit?usp=sharing

(nvenc_export is distributed under the LGPL license.)

I must apologize for the condition of the source-code.  I'm not a professional software developer, so some dir/paths might not work correctly out-of-the-box.  You'll need to know your way around Windows application development to fix some basic compile environment issues (for example, "d3dx9.h missing".)

Also, you will need the following items (not included in the above link) to recompile NVENC_export:

  • NVENC client license key

License-key can only be purchased from NVidia, it is not included in the above link.  (You can re-compile nvenc_export without the client-key, but the plugin won't encode any video because NVidia requires the client-key to unlock the driver's nvenc API.)


  • Microsoft Visual Studio 2012 Pro (with Update 3)

This can be downloaded for free, through Microsoft's "WebSiteSpark" program.

  • Microsoft DirectX SDK (June 2010)

Download it from Microsoft

  • NVidia CUDA 5.5 SDK

Download it from NVidia

  • NVidia NVENC 2.0 SDK

Download it from NVidia

  • Adobe Premiere CS6 SDK

Download it from Adobe

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 ,
Sep 01, 2013 Sep 01, 2013

Copy link to clipboard

Copied

Hallo,

with default settings was my video rendering 8-10 times faster then with CPU. I would like tu user MP4 mux.

I followed your instructions and downloaded MP4box.exe but my Premiere Pro sais, path to MP4box.exe is not valid. Recommendation is to confirm path to MP4box.exe, but there is no option how to set the path, see my image. Are you onto this problem? Can I expect to work it in a future?

error.jpg

Thank you for your answer.

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
Sep 03, 2013 Sep 03, 2013

Copy link to clipboard

Copied

Jakub,

from your output summary, it appears that you've selected AudioFormat "Stereo <PCM>"

The MP4 muxer doesn't allow <PCM>, it only supports AAC (or no audio.)  When PCM-audio is selected in the >Audio< tab, then the >Multiplexer< tab will hide the <MP4> option.  That's why you can't see it (it should be impossible to choose that combination so most likely that's a bug in nvenc_export.)

Anyway, could you try the following:

(1) Go to the >Audio< tab and change it to <AAC>.

(2) When you return to the >Multiplexer< tab, then you will be able to select MP4. (You will need to download NeroAacEnc from www.nero.com)  The >mp4box.exe filepath< setting will also be visible.

(Alternatively, you can export <WAV> audio if you change the multiplxeing choice to <TS>; that will chose MPEG-2 transport stream.  However, Windows Media Player doesn't support WAV-audio inside *.ts files, and your exported videos will play without sound.)

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 ,
Sep 06, 2013 Sep 06, 2013

Copy link to clipboard

Copied

nvenc4everyone:

Thank you.What a great codec.Super fast.My problem is the encoded files disappear as soon as AME finishes its work.I can see the m4v file in the save folder but then its gone at the instant AME finishes.Thanks for any reply.

Kent

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
Sep 06, 2013 Sep 06, 2013

Copy link to clipboard

Copied

Yes, that was a silly boo-boo on my part .   The <Sep 6, 2013> release fixes that problem.

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 ,
Sep 07, 2013 Sep 07, 2013

Copy link to clipboard

Copied

Hallo,

I appreciate your help. Sorry for bothering you again, but I can't see any options in AUDIO. I have downloaded the AAC Nero encoder, but there is no installation path. It's just .exe file with the encoder itself.

I am attaching some screenshots, what I can see in Encoder. I am using 64-bit Win 7.

01.jpg02.jpg03.jpg04.jpg05.jpg06.jpg07.jpg08.jpg09.jpg

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
Dec 08, 2013 Dec 08, 2013

Copy link to clipboard

Copied

My apologies... I'm unable to duplicate this exact problem on my end.  But I have noticed that if you use an older-preset with the newer version of nvenc_export plugin, the older-preset will hide dialog-boxes and options.  The best way to avoid this, is to import one of the presets from the ZIP file.  In the zipfile, they're in this subdir: sharingcenter/Presets/pc/OTHERS/nvenc_export

     sharingcenter/Presets/pc/OTHERS/nvenc_export/nvenc_export_31_1920_1080i30.epr

     sharingcenter/Presets/pc/OTHERS/nvenc_export/nvenc_export_31_1920_1080p24.epr

Alternateively, you can run Adobe Media Encoder, and from there, delete ALL of the nvenc_presets that you've created.  The next time you open the nvenc_export plugin, Adobe will rebuild a default-preset from scratch.  And hopefully, all of the missing dialog-boxes/options should be visible:

ame_presets.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
Sep 06, 2013 Sep 06, 2013

Copy link to clipboard

Copied

I don't have much more time to work on this project, so this will probably be the final release.

NVENC_export Version v1.04 (Sep 6, 2013) is now available -

  • Silly me!  v1.03 introduced a nasty tempfilename bug.  If multiplexing was disabled, then nvenc_export deleted the raw output files (*.m4v, *.m4a).  This worked correctly in earlier release v1.02, and is now fixed in v1.04.

  • NVENC_export now supports interlaced-video encoding (sort of.)  Note that interlaced-encoding only works with the selection Field Type: <Upper First> (If you use <Lower First>, then the exported file will be corrupt and unusable.)

Download link


  NVENC_export Version v1.04 (Sep 6, 2013) - https://googledrive.com/host/0B96CRWkNxmWdODdiQ05QS1l0M0U/nvenc_export_v104.zip

  • You will also need to download and install the following item from Microsoft:

"Visual C++ Redistributable for Visual Studio 2012 Update 3"

Third party tools:

(1) NVENC does not include built-in multiplexing.  If you wish to output *.TS or *.MP4 files, you must download and install the following third-party tools:

(2) To enable AAC-audio output, you must download and install NeroAacEnc.

Known problems:

(Same limitations as previous versions.)

(1) NVENC does not include built-in multiplexing.  If you wish to output *.TS or *.MP4 files, you must download the third-party tools mentioned above.

(2) If encoding to interlaced-video, you must set the Field Type to Upper First. Other choices will cause the plugin to crash, or generate a bad (unusable) file.

(3) NVENC does not support (AC3) Dolby Digital audio, only PCM.  (And AAC, if you separately download and install NeroAacEnc.)

(4) When outputing video Level5 H264 video (i.e. video larger than 1920x1080), the bitrate-control modes don't work correctly, and will result in an abnormally small and bad looking video.  To workaround this, change the rateControl setting to RC_CONSTQP


Source code link

This section is only for software-developers who are interested in recompiling nvenc_export.

The C++ source-code can be downloaded from the following link

  NVENC_export Version v1.04 SRC (Sep 6, 2013) - https://googledrive.com/host/0B96CRWkNxmWdODdiQ05QS1l0M0U/nvenc_export_src_v104.zip

[The V1.03 SRC forgot to include a dependent project "cudaDecodeD3D9", which is required by the command-line encoder nvEncode2.  This is now included in v1.04 SRC]

(nvenc_export is distributed under the LGPL license.)

I must apologize for the condition of the source-code.  I'm not a professional software developer, so some dir/paths might not work correctly out-of-the-box.  You'll need to know your way around Windows application development to fix some basic compile environment issues (for example, "d3dx9.h missing".)

Also, you will need the following items (not included in the above link) to recompile NVENC_export:

  • NVENC client license key

License-key can only be purchased from NVidia, it is not included in the above link.  (You can re-compile nvenc_export without the client-key, but the plugin won't encode any video because NVidia requires the client-key to unlock the driver's nvenc API.)


  • Microsoft Visual Studio 2012 Pro (with Update 3)

This can be downloaded for free, through Microsoft's "WebSiteSpark" program.

  • Microsoft DirectX SDK (June 2010)

Download it from Microsoft

  • NVidia CUDA 5.5 SDK

Download it from NVidia

  • NVidia NVENC 2.0 SDK

Download it from NVidia

  • Adobe Premiere CS6 SDK

Download it from Adobe

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
Dec 08, 2013 Dec 08, 2013

Copy link to clipboard

Copied

I don't have much more time to work on this project, so this will probably be the final release.

NVENC_export Version v1.06 (Dec 13, 2013) is now available -

NVENC_export Version v1.05 (Dec 7, 2013) is now available -

  • [1.06] in Premiere Elements, fixed hang caused by audio-export format being incompatible with project audio settings (eg. stereo-audio project to 5.1-audio export)  Now, the plugin will gracefully abort the export and complain about the incompatible audio format.

  • [1.05] Upgraded NVENC API from 2.0 to 3.0 -- this adds one new encoding option: enableVFR (variable frame rate)

  • [1.05] Note, you must have the latest NVidia Geforce drivers installed on your system (Dec 2013.)  Older Geforce drivers do NOT support API 3.0, and will fail with this plugin release.

Download link  NVENC_export Version v1.05 (Dec 7, 2013) - https://googledrive.com/host/0B96CRWkNxmWdODdiQ05QS1l0M0U/nvenc_export_v105.zip

NVENC_export Version v1.06 (Dec 13, 2013) - https://googledrive.com/host/0B96CRWkNxmWdODdiQ05QS1l0M0U/nvenc_export_v106.zip

  • You will also need to download and install the following item from Microsoft:

"Visual C++ Redistributable for Visual Studio 2012 Update 4"

Installation tutorial:

nvenc_export installation tutorial part 1/3: http://youtu.be/wPrcQ133YE0

Third party tools:

(1) NVENC does not include built-in multiplexing.  If you wish to output *.TS or *.MP4 files, you must download and install the following third-party tools:

(2) To enable AAC-audio output, you must download and install NeroAacEnc.

Known problems:

(Same limitations as previous versions.)

(1) NVENC does not include built-in multiplexing.  If you wish to output *.TS or *.MP4 files, you must download the third-party tools mentioned above.

(2) If encoding to interlaced-video, you must set the Field Type to Upper First. Other choices will cause the plugin to crash, or generate a bad (unusable) file.

(3) NVENC does not support (AC3) Dolby Digital audio, only PCM.  (If you separately download and install NeroAacEnc, then AAC-audio is supported.)

(4) When outputing video Level5 H264 video (i.e. video larger than 1920x1080), the bitrate-control modes don't work correctly, and will result in an abnormally small and bad looking video.  To workaround this, change the rateControl setting to RC_CONSTQP


Source code link

This section is only for software-developers who are interested in recompiling nvenc_export.

The C++ source-code can be downloaded from the following link

  NVENC_export Version v1.05 SRC (Dec 7, 2013) - https://googledrive.com/host/0B96CRWkNxmWdODdiQ05QS1l0M0U/nvenc_export_src_v105.zip

  NVENC_export Version v1.06 SRC (Dec 13, 2013) - https://googledrive.com/host/0B96CRWkNxmWdODdiQ05QS1l0M0U/nvenc_export_src_v106.zip


(nvenc_export is distributed under the LGPL license.)

I must apologize for the condition of the source-code.  I'm not a professional software developer, so some dir/paths might not work correctly out-of-the-box.  You'll need to know your way around Windows application development to fix some basic compile environment issues (for example, "d3dx9.h missing".)

Also, you will need the following items (not included in the above link) to recompile NVENC_export:

  • NVENC client license key

License-key can only be purchased from NVidia, it is not included in the above link.  (You can re-compile nvenc_export without the client-key, but the plugin won't encode any video because NVidia requires the client-key to unlock the driver's nvenc API.)


  • Microsoft Visual Studio 2012 Pro (with Update 4)

This can be downloaded for free, through Microsoft's "BusinessSiteSpark" or "DreamSpark" program.

  • Microsoft DirectX SDK (June 2010)

Download it from Microsoft

  • NVidia CUDA 5.5 SDK

Download it from NVidia

  • NVidia NVENC 3.0 SDK

Download it from NVidia

  • Adobe Premiere CS6 SDK

Download it from Adobe

Message was edited by: nvenc4everyone (updated to v1.06)

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 ,
Dec 22, 2013 Dec 22, 2013

Copy link to clipboard

Copied

Hello.

Your plugin is so great!

Well, I also have considered trying to implement "NVEnc" to another software.
If you do not mind, could you tell me where you have purchased a "NVENC client license key?"
I looked on the Internet, but it couldn't be found for me.

Without that key, I can't use the "NVEnc" on the "non-GRID GeForce" on another software.

So, I want to buy it.

I hope that you post the Hyperlink.

P.S.
This text, translated using "Google Translate".
I'm sorry if you find some mistakes.

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 11, 2014 Feb 11, 2014

Copy link to clipboard

Copied

Would love to view the results (it appears fast!), but I have the same problem as someone above...when using mp4box to create mp4 file, it simply deletes the files when done.

I can see the temp files while it creates them, then Nero AAC works fine, then mp4box runs and when AME says the job is complete the temp files are deleted and no mp4 is present.

This is with the latest Dec. version.  Also tried the Sept 6 vversion since it was mentioned as a possible fix for this issue.

Any ideas on how to make this work?

Thanks!

P.S. The language appears to be missing as well.  Evenerything appears like NV_ENC_H264_PROFLE_HIGH_GUID instead of actual names/words.

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, 2014 Feb 28, 2014

Copy link to clipboard

Copied

This plugin works well on Windows 7 x64 with Core i7 @ 3.6 GHz. I'm using it with GTX 780 Ti.

Anyone who is even moderately serious about making videos needs to use this.

My encode time for a 40 min 1080p video in H264 went down from several hours to just 20 minutes !!! Even better, CPU usage remains at around 15% during encode, whereas before it was stuck at 99% !!! So before, my PC was useless for hours during encode, whereas now I can still use it with the encode happening in the background. Not to mention the lightning fast encoding. Quality wise the result is perfect for me, as a hobbyist.

Adobe / nvidia should invest a little time in such a plugin. Especially nvidia, because such a plugin in itself justifies the price of a high-end CUDA card. Obviously there is still potential for improvement of the plugin, as my GPU load averaged only 30% during encode. This means it hasn't unleashed the full potential of CUDA processing just yet.

Many thanks to "nvenc4everyone" for sharing this !!!

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
Mar 15, 2014 Mar 15, 2014

Copy link to clipboard

Copied

NVENC_export Version v1.07 (Mar 14, 2014) is now available -

  • [1.07] for systems with more than 1 NVidia GPU installed, fixed a very stupid bug in the GPU-selection control box.  nvenc_export always used the 1st detected NVidia GPU (GpuIndex==0), regardless of the user's selection.  This is useful for systems with multiple types of NVidia cards, since you choose which GPU will run nvenc_export.  For instance, the Geforce GTX750/750TI (GM107) is ~50% faster at H264-encode than the previous Kepler generation (GK1xx).

Also, the first frame of encoded H264 bitstreaam is now tagged with a debug-message; which is readable can be read/displayed from the third-party tool MediaInfo. The nvenc_export settings, nvenc_export version, and GPU device are reported in the message.

Download link

NVENC_export Version v1.07 (Mar 14, 2014) - https://googledrive.com/host/0B96CRWkNxmWdODdiQ05QS1l0M0U/nvenc_export_v107.zip

  • You will also need to download and install the following item from Microsoft:

"Visual C++ Redistributable for Visual Studio 2012 Update 4"

Installation tutorial:

nvenc_export installation tutorial part 1/3: http://youtu.be/wPrcQ133YE0

Third party tools:

(1) NVENC does not include built-in multiplexing.  If you wish to output *.TS or *.MP4 files, you must download and install the following third-party tools:

(2) To enable AAC-audio output, you must download and install NeroAacEnc.

Known problems:

(Same limitations as previous versions.)

(1) If MPE hardware-acceleration (CUDA) is enabled in Premiere Pro or Media Encoder, then nvenc_export cannot resize the source-video to a different output-size.  You must make sure the source-video size and output-video size are the same, otherwise the video-encode will fail.  (Alternatively, turn off MPE hardware-acceleration.) I suspect this is caused by Adobe's hardware MPE-renderer not supporting resize-operations on the PrPixelFormat_YUV_420_* surfaceformat, which is requested by nvenc_export.

(2) NVENC does not include built-in multiplexing.  If you wish to output *.TS or *.MP4 files, you must download the third-party tools mentioned above.

(3) If encoding to interlaced-video, you must set the Field Type to Upper First. Other choices will cause the plugin to crash, or generate a bad (unusable) file.

(4) NVENC does not support (AC3) Dolby Digital audio, only PCM.  (If you separately download and install NeroAacEnc, then AAC-audio is supported.)

(5) When outputing video Level5 H264 video (i.e. video larger than 1920x1080), the bitrate-control modes don't work correctly, and will result in an abnormally small and bad looking video.  To workaround this, change the rateControl setting to RC_CONSTQP


Source code link

This section is only for software-developers who are interested in recompiling nvenc_export.

The C++ source-code can be downloaded from the following link

  NVENC_export Version v1.07 SRC (Mar 14, 2014) - https://googledrive.com/host/0B96CRWkNxmWdODdiQ05QS1l0M0U/nvenc_export_src_v107.zip


(nvenc_export is distributed under the LGPL license.)

I must apologize for the condition of the source-code.  I'm not a professional software developer, so some dir/paths might not work correctly out-of-the-box.  You'll need to know your way around Windows application development to fix some basic compile environment issues (for example, "d3dx9.h missing".)

Also, you will need the following items (not included in the above link) to recompile NVENC_export:

  • *NVENC client license key [optional, only needed for Geforce drivers older than WHQL 334.89]

As of the Geforce WHQL 334.89 driver releae (Feb 2014), NVENC API is now open for all.  The client-key is only necessary if you want to access NVENC hardware on older Geforce drivers (which still check for the key.)


  • Microsoft Visual Studio 2012 Pro (with Update 4)

This can be downloaded for free, through Microsoft's "BusinessSiteSpark" or "DreamSpark" program.

  • Microsoft DirectX SDK (June 2010)

Download it from Microsoft

  • NVidia CUDA 5.5, NVENC 3.0, and NVAPI SDKs

Download them from NVidia

  • Adobe Premiere CS6 SDK

Download it from Adobe

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 17, 2014 Mar 17, 2014

Copy link to clipboard

Copied

Hi,

I'm a begginer to this new type of encoding video. I'm here to ask for some help.

I have a GeForce GTX 780 ( I already have added it in the text file of premiere pro) and I'm trying to encode with this awesome plugin. But everytime I'm trying to do that, I'm getting the same error concerning SDK_File.cpp so the encoding wouldn't start. Check the screen below :

nvenc.png

Checked the resolution, as mentioned in the message but didn't change anything. Anyone ?

Bests Regards,

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 22, 2014 Apr 22, 2014

Copy link to clipboard

Copied

Just want to say thanks as it seems not many others have. I've just used it with Adobe Encoder CS6 it works great. Your instructions are very easy to follow aswell.

Current laptop setup:

i7-4900MQ @ 3.8GHz

32GB RAM @ 1600MHz

GTX 780M 4GB RAM

Encoding h.264 with CPU:

- Preset Used: Custom

- Video: 1920x1080, 50 fps, Progressive

- Audio: AAC, 192 kbps, 48 kHz, Stereo

- Bitrate: VBR, 2 pass, Target 18.57 Mbps, Max 20.98 Mbps

- Encoding Time: 00:24:08

Encoding h.264 with NVENC:

- Preset Used: Custom

- Video: 1920x1080, 50.00 fps, 1.0000 PAR, (#0) GeForce GTX 780M (3954 MB)

- Audio: 48000 Hz, Stereo (AAC)

- Bitrate: Encoded bitrate: H264=25600 Kbps, AAC=192 Kbps

- Encoding Time: 00:05:00

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
Sep 14, 2014 Sep 14, 2014

Copy link to clipboard

Copied

NVENC_export Version v1.08 (Sep 13, 2014) is now available -

  • [1.08] Fix incompatibility with MPE hardware-acceleration - Turning on hardware-acceleration should no longer cause nvenc_export to crash. (nvenc_export doesn't follow a key minimum requirement for all plugin-exporters: at a minimum, the exporter must support PrPixelFormat RGBA32.  To get around this, nvenc_export requests Adobe to render the output in YUV420-planar format, and if that fails, falls back to a YUV422 packed-pixel format.)

  • Some cosmetic changes have been made to the embedded mediaInfo string - nvenc appears to completely drop descriptions that are too long.

  • For Maxwell GPUs only (Geforce GTX750TI, GTX960, GTX970, GTX980) - add support for High_Profile_444P (4:4:4 video encoding, lossless mode.) Neither of these modes are practical -- slow, and in the case of lossless mode, filesize is very large.  (Also, TS/MP4 muxing does not work correctly with this profile.)

  • nvenc_export requires Geforce driver 340.52 (July 2014) or later



Download link

NVENC_export Version v1.08 (Sep 13, 2014) - https://googledrive.com/host/0B96CRWkNxmWdODdiQ05QS1l0M0U/nvenc_export_v108.zip

  • You will also need to download and install the following item from Microsoft:

"Visual C++ Redistributable for Visual Studio 2012 Update 4"

Third party tools:

(1) NVENC does not include built-in multiplexing.  If you wish to output *.TS or *.MP4 files, you must download and install the following third-party tools:

(2) To enable AAC-audio output, you must download and install NeroAacEnc.

Known problems:(Same limitations as previous versions.)

(1) In Adobe Premiere CC 2014 and Media Encoder CC 2014, the 'Export Audio' option is permanently enabled.  (This seems to be a problem between the Adobe CC SDK and CC2014;  it didn't happen in last-year's release.)

(2) NVENC does not include built-in multiplexing.  If you wish to output *.TS or *.MP4 files, you must download the third-party tools mentioned above.

(3) If encoding to interlaced-video, you must set the Field Type to Upper First. Other choices will cause the plugin to crash, or generate a bad (unusable) file.

(4) NVENC does not support (AC3) Dolby Digital audio, only PCM.  (If you separately download and install NeroAacEnc, then AAC-audio is supported.)

(5) When outputing video Level5 H264 video (i.e. video larger than 1920x1080), the bitrate-control modes don't work correctly, and will result in an abnormally small and bad looking video.  If this happens, to workaround it, change the rateControl setting to RC_CONSTQP. 


(6) High_Profile_444 output can cause problems with TSMuxer and MP4Box (stuttering video, or even unreadable video.)  And not all encoder options function correctly in High_Profile_444 (some options are ignored, others cause unreadable output.)


Source code link

This section is only for software-developers who are interested in recompiling nvenc_export.The C++ source-code can be downloaded from the following link


NVENC_export Version v1.08 SRC (Sep 13, 2014) - https://googledrive.com/host/0B96CRWkNxmWdODdiQ05QS1l0M0U/nvenc_export_src_v108.zip

(nvenc_export is distributed under the LGPL license.)


I must apologize for the condition of the source-code.  I'm not a professional software developer, so some dir/paths might not work correctly out-of-the-box.  You'll need to know your way around Windows application development to fix some basic compile environment issues (for example, "d3dx9.h missing".)


     Also, you will need the following items (not included in the above link) to recompile NVENC_export:

  • Microsoft Visual Studio 2012 Pro (with Update 4)

This can be downloaded for free, through Microsoft's "BusinessSiteSpark" or "DreamSpark" program.


  • Microsoft DirectX SDK (June 2010)

Download it from Microsoft

  • NVidia CUDA 6.5, NVENC 4.0, and NVAPI SDKs

Download them from NVidia

  • Adobe Premiere CS6 SDK

Download it from Adobe

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 ,
Oct 22, 2014 Oct 22, 2014

Copy link to clipboard

Copied

Hi, is there any plan to add h.265 encoding support? The NVENC in the GTX 970/980 now supports h.265 and we're anxious to start using this capability.

Cheers

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 ,
Jan 04, 2015 Jan 04, 2015

Copy link to clipboard

Copied

First of all, thanks for all your hard work on this plug-in! I am having some trouble though. I followed the install directions exactly, but every time I try to export using NVENC v1.08 I get the following:

A low-level exception occurred in: NVENC_export (Exporter)

Export Error

Error compiling movie.

Unknown error.

It happens in both Adobe Premiere CC 2014 (8.0.1), and Adobe Media Encoder CC 2014 (8.0.1.48).

My hardware as follows:

GPU: Nvidia GTX 970, Nvidia Driver 347.09

CPU: i7-4790k

RAM: 16gb @ 1600mhz

I am basically using the default settings NVENC comes loaded with, and the MP4 and AAC multiplexer as per the instructions. I am rendering in 1080p at 30fps.

Thanks for any help you might be able to give!

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 ,
Jan 06, 2015 Jan 06, 2015

Copy link to clipboard

Copied

I tried this and I didn't notice any faster rendering times from what I was getting before.

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