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
This is all the menù (Premiere Pro/Workstation)... I can't find it!
I can find it in Media Encoder, but not in Premiere...
In my laptop (same Windows version, same Premiere and Media Encoder version), it is exactly the opposite thing... I can find the GPU setting in Premiere but not in Media Encoder!
Copy link to clipboard
Copied
CONTROL + F12 opens a console. Now what? It looks like an empty Notepad editor. How do I enable NVENC decode?
Copy link to clipboard
Copied
When I try to enter this command the console response is "Command gpu.enablegopformats = true unknown. Try 'con.help'.
Copy link to clipboard
Copied
Mark, you should select "Debug Database View" from a dropdown list near to the right from the "Console" title (these small horizontal lines icon).
Michele, i think it's related to GPU model and drivers.
And of course it's clear why it's not enabled by default, i have also discovered that GPU decode
currently works only for MOV containers, MTS and M2TS files simply show up as black footage 😕
Decode capability is kinda like an NVENC encode right now - needs a solid stable version.
I hope Adobe will implement them both in the future!
Copy link to clipboard
Copied
The workstation has a GTX Titan with 355.82 nVidia driver; the laptop has a GTX860M with 355.82 driver (the mobile version). But it's not a problem... It was just curiosity
And I hope, as you do, that Adobe will give us a supported NVENC encoder...
Copy link to clipboard
Copied
I eventually found it.. had to click that icon at the top of the window and select the right view. Lots of interesting tweaks in there.
At Level 40, the highest the bitrate will go is 20mb/s. I usually encoded my 24P 1080 BDs at 35mb/s, unless the material is very long form.
Click Ignore on the Assertion failed message and encoding will proceed with no apparent issues.
NVENC smashes through 4K to HD renders at breakneck speeds on my Titan X. Breathtaking. To think I used to wait 14 hours for a MPEG HD encode to BD on my old machine.
Copy link to clipboard
Copied
MarkWeiss wrote:
NVENC smashes through 4K to HD renders at breakneck speeds on my Titan X. Breathtaking. To think I used to wait 14 hours for a MPEG HD encode to BD on my old machine.
I finally gathered up enough of a spine to install this to cut my 1440p/60fps h.264 videos. Formally it was taking my rig time t to export the videos. After the plugin, 1/2t. That's impressive!
FWIW I have the same GPU MarkWeiss‌ does x 2. The plugin apparently will only allow me to use one of them, though.
Either way, I'd love to see Adobe integrate this into Premiere Pro and AME, OEM. Hopefully everyone's filled out a feature request.... right?
Copy link to clipboard
Copied
What would be really great is if Adobe used the GPU to decode XAVC. That seems to be a bottleneck for many people these days.
Banging out a concert video render in about 10 minutes now, compared to 14 hours that I used to wait, takes a lot of the gamble out of finalizing projects. The Youtube excerpts used to take 45 minutes for each 5 minute segment to render at 1080P. Now it's a 20 second affair to render the same length and resolution of clip.
Copy link to clipboard
Copied
MarkWeiss wrote:
What would be really great is if Adobe used the GPU to decode XAVC. That seems to be a bottleneck for many people these days.
My point: Adobe (via Kevin M) has stated that they want to try to be more helpful to the gaming/YouTube community. The accepted editor within that community is Sony Vegas. Nearly everyone doing gaming vids uses it. One thing they have to address is VFR source footage. They have to do that if they want to be considered useful in the aforementioned market. XAVC isn't even remotely a concern there.
The second thing they should consider, since every YouTuber is exporting to h.264 mp4: use the HVENCs available on both the nVidia and the AMD GPUs.
Copy link to clipboard
Copied
Another reason people use Vegas is no monthly fees.
Copy link to clipboard
Copied
But it's not compatible with my GTX 970, the GTX 460 used to work there until i changed to a 660/970... It uses the CPU but NOT the superspeed of my GPU.
Also, vids cameout a bit dark of output , while CC doesn't (without any brightness setting touched)
Copy link to clipboard
Copied
In trying to debug another program, this plugin was found by Google for me, so I happily added it to PP CS6. My only motivation is BluRay compliant streams so all my testing is in that area. Since the plugin can only handle progressive sources (right?), the largest frame size I can generate is 1280x720, NTSC 59.94fps. I'm using 347.88 on a GTX 650, Win 7 x64. Maybe my observations can help others.
* The Feb 2015 release of 1.09 is the last version that works for me, using high profile @ 4.0.
>>> Profiles of 4.1 and above don't generate compliant streams because the VBV buffer size is out of spec. Unfortunately no amount of change to the VBV size parameter helps. Quite possibly there is some other setting that marks the steam HDMV compatible.
* All updates by irisb50359875 seem to have broken even 4.0 level steam generation with assertion failures.
Copy link to clipboard
Copied
I thought profile 4.1 worked but is limited to 20mb/s?
I'm getting assertion errors with the Titan X GPU, but if I ignore them, it works anyway. But the streams are not BD compliant.
I recall 4.1 working on my old Core2Quad with GTX680.
Presently, I only use it for Youtube exports. It's very quick for that. In fact, the other day I had to export just the audio track from a concert to make a CD. It was annoyingly slow, compared to exporting h.264 video with this plugin. So much progress has been made in rendering video at breakneck speeds, that now audio export lags behind!
Copy link to clipboard
Copied
First off, level 4.0 allows up to 24Mpbs, which is roughly has as high as my either of my camcorders generates its 1080p streams. Given that BD can only go as high as 1080i, the plugin's maximum compatible BD stream would be 720p. For that level 4.0 is plenty.
Using the old 1.09 plugin, generating a level 4.1 BD steam, it's not compatible due to VBV size being out of spec. For me 720p and 4.0 is fine as I work manly with soccer videos, where 720p @ 59.94 fps is way better than 1080i @ 29.97.
Copy link to clipboard
Copied
Adobe Premiere Pro CC 15, gpac-0.5.2-DEV-rev625-g1f8466a-master, nvenc_export_v109, NeroAACCodec-1.5.1
i5-4690K
gtx 980 (355.82 WHQL)
How to get rid of this error?
Please help, thank you.
Copy link to clipboard
Copied
HELP!
This plugin is amazing, actually uses the GPU, however I would like the output format is Blu-ray .m2v
PLEASE appreciate your kindness.
Add me on facebook:
Copy link to clipboard
Copied
I have to question WHY you'd want m2v as the output extension? Is it because that's what your edit software expects?
BluRay format for authoring software is usually either an elementary steam or transport stream.
Elementary stream is just that, separated Video and Audio
.m2v = MPEG2
.m4v = H264
Now, as far as I understand NVENC, it is an H264 or H265 encoder so .m2v would be an invalid extension.
Be aware that you can rename any extension to anything else and for many dumb or inflexible programs, it's what you need to do.
Copy link to clipboard
Copied
Hi guys, I'm having a issue, when i "encode" my video to Mp4 or TS with the nvenc tool, my video plays ok with any player but when i try to export it again to premiere my preview it's all GREEN, i can hear all the audio stuff and even go forward and backwards but theres just a green screen there... i don't know what happend anyone with this issue???
Copy link to clipboard
Copied
Hi! Apparent problem: h264 video made on a system with drivers dated later 353.62, not encoded Harmonic ProMedia Carbon (long attempts, scored several gigabytes of RAM ivydaёt error). It turned out that the only important thing in what driver file is created - if it is 353.62 and less - the Carbon encodes any drivers. What has changed and become compatible with the encoder?
Copy link to clipboard
Copied
Hello, i have a probleme: APP CC 2015 works fine when I`m trying to render video in 30 fps, but if i select 60 fps and try to export it - this is what I get (source video is 60 fps)
Copy link to clipboard
Copied
Got it working again, something messed up but i managed to fix it, working again flawessly!
Copy link to clipboard
Copied
I did install everything as instructed here and the YouTube videos...but when I go to the format menu I see NOTHING
I am using APP CS6 Windows 7 64, nVidia GT 755. What could it be happening?
Copy link to clipboard
Copied
Okay, so i have the problem with this plugin: unsynchronised video. It looks like it`s slower than it should be
Copy link to clipboard
Copied
I just found that plugin and I tried it, but I can't quite see difference.
Bellow I have my settings. Did I set something wrong? I try to get 1080p 60FPS 12Mbps progressive video with 256Mbps AAC audio.
Yes I did download and set all required software but my GPU load is only around 50% and CPU works at 100% during the exporting time.
Can anyone help me to set it right?
My specs:
Windows Pro 10 x64
MSI X99S Gaming 7
Intel Core i7 5930K
G.Skill Ripjaws4 32GB DDR-4 2133MHz
MSI GTX Titan X 12GB
3x Kingston SSDNow V300 SSD drives (120,240 & 480 GB)
Copy link to clipboard
Copied
what you want?