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:
no AAC or Dolby-Digital
no MPEG-4 muxing (*.MP4)
(To fix: Select a different codec, then re-select NVENC_export.)
Sorry, NVENC hardware was introduced with NVidia's Kepler family (2012) Anything older than that will NOT work with the plugin.
Copy link to clipboard
Copied
Any update on this not working well with drivers over 353.62? Newer version function but at almost no speed boost.
Copy link to clipboard
Copied
Hey guys!
What is the latest version of this plugin? Can I have a link for it?
Sorry for my crappy english.
Copy link to clipboard
Copied
Hello all,
I'm so interested in exporting/rendering video using GPU card. I've downloaded all the required files and copied into its location. But still can't make mp4 output as I don't know where to put the mp4box as well as other program: NeroAac...
I've read almost all the posts there but still don't know where to put the files in order to make it works!
Please show me how! Thank you so much!
Copy link to clipboard
Copied
I set that some time ago, but if I remember correctly then it doesn't matter. As long you set destination in exporting menu it will be fine.
Copy link to clipboard
Copied
Thank you so much for your help! So it's just simply copy the preset file into the installation folder and then run AE/AP, export video, choose the preset and set location for saved file... Thank you!
Copy link to clipboard
Copied
Finally I got it working! But I wonder why my GPU is still 0%-1% or 2% max while rendering using this preset?
Is there anything I did wrong? Someone please help me to solve this! Many thanks!
nvenc4everyone‌ irisb50359875‌
Copy link to clipboard
Copied
You need also choose your GPU in exporting settings.
Copy link to clipboard
Copied
Dear ZiggyGG‌,
Thanks for your help! I did choose Mecury... GPU (CUDA) in Premiere, After Effects, Media Encoder... anh tried to export many times but still no GPU load, even the Video Engine is 0%!
I've spent a lot of money to upgrade from my old GTX460 card, then to the R9 280x card and then switch to GTX760 card, just for rendering using GPU!
Copy link to clipboard
Copied
Please include screenshots of all exporting settings. Let me compare it with mine. We will find solution
Copy link to clipboard
Copied
Dear ZiggyGG‌
Thank you so much! You're so kind!
I upload some screenshots of my setting. Tried to render many times since yesterday until now, still 1-2% only! Please have a look at my setting and help me to solve this problem! Thank you!
Copy link to clipboard
Copied
I don't see your GPU selection menu in VIDEO tab. Do You have it?
Check in Project > Project Settings > General if you have GPU encoding set. If it's CPU then you must change it.
Copy link to clipboard
Copied
Dear ZiggyGG‌,
Yes, I have selected GPU as you mentioned above from the first step, I've forgot to take picture of that part.
So it means I have everything setup in a correct way, but no lucks!
Copy link to clipboard
Copied
Yesterday I set clean installation of my OS and I was forced to set this again, so here are the steps I made:
1. I copied plugin to both Plugin/Common dir in Adobe Premiere and Media Encoder installation folder
2. I put put all additional needed files to one folder and copy it to Adobe main dir. I made zip file for you here: Dropbox - external_tools.zip
3. I go to Adobe Premiere Pro main dir and delete file "cuda supported cards" so I can use my GPU for rendering. Normally it need Quadro.
4. In Project > Project settings > General I choose GPU rendering
5. In exporting settings I set all like this
6. I co go Multiplex tab and choose MP4 then I browse the right file from External Tools dir
7. I did same with the audio tab
8. At the bottom I set my exporting settings 1080p 60fps 12Mbps
That't it. All working fine.
Copy link to clipboard
Copied
Thank you so much, ZiggyGG‌! I've downloaded your files and will do the same as you show me above! Thanks for your kindness! Have a great day!
Copy link to clipboard
Copied
I have the same error. When check Ignore button i have zero load at gpu.
I am using Adobe cc 2015, gtx 970, 32gb, i72600k.
I
Copy link to clipboard
Copied
You can download this file, rename it (remove the word " Good " as I've downloaded many version, just to make sure this is the good version. Replace it with the old version of your and then use it, you should be fine now!
Copy link to clipboard
Copied
With this file i don't have error but i have gpu load only 2%, is this normal?
Only memory of gtx 970 is working and the Cpu(i7 2600k) at 50%
Copy link to clipboard
Copied
This is log:
11/23/2015 06:49:48 PM : Queue Started
- Source File: C:\Users\Admin\AppData\Local\Temp\Architect. Render V111.aep
- Output File: C:\Users\Admin\Desktop\x.mp4
- Preset Used: Custom
- Video: 1920x1080, 30.000 fps, 1.0000 PAR, <ERROR, GPU does not support NVENC encoding!>, 00:00:13:02
- Audio: 48000 Hz, Stereo (AAC)
- Bitrate: Encoded bitrate: AAC=192 Kbps
- Encoding Time: 00:16:33
11/23/2015 07:06:22 PM : File Successfully Encoded
11/23/2015 07:06:22 PM : Queue Stopped
Copy link to clipboard
Copied
Go to Premiere main installation folder and delete txt file called "supported graphics card" or something like that.
Copy link to clipboard
Copied
I don't have that file its already deleted
Copy link to clipboard
Copied
Then I suggest to check my installation guide few post back and set all with that guide.
Copy link to clipboard
Copied
Done. There is no error now. However, I cant find my output file. I just havent result after render!
Copy link to clipboard
Copied
JeDiBanKai‌ you should choose destination at codec choosing window.
splinter66‌ you are doing something wrong. I am using newest drivers in Windows 10 with my Titan X without any problems.
Copy link to clipboard
Copied
ZiggyGG‌ Actually I'm not doing anything wrong, theres nothing to really do wrong, your comment is quite unhelpful. I copied the prm file to the plugin folder, selected nvenc export option and correct settings so I really cant see that I'm doing something wrong.
Copy link to clipboard
Copied
Few post back I wrote step by step how to set that. Please follow my guide.