Using NVIDIA's NVENC On Linux With FFmpeg

Written by Michael Larabel in NVIDIA on 22 November 2014 at 08:58 AM EST. 42 Comments
NVIDIA
With the new NVIDIA 346 Linux driver series NVENC support was made available for accelerated video encoding support under Linux.

VDPAU only supports GPU-based video decoding while the NVIDIA 346.16 Beta driver brought NVENC for GeForce GPUs as a means of video encoding. NVENC via the NVIDIA Video Codec SDK allows for H.264 hardware video encoding with Kepler and Maxwell CPUs.

For those wishing to make use of the assisted H.264 video encoding, there's multiple FFmpeg Git branches around supporting libnvenc, such as this GitHub repository. However, building the NVENC Linux support isn't straightforward as for now it seems at least one header file must be fetched from NVIDIA's Windows version of the Video Codec SDK for the Linux build to pan out.


However, once the support is working, the NVENC Linux results seem very favorable. With time the early adoption woes should be addressed and this will be beneficial to NVIDIA Linux users. More Linux software in due time should end up supporting NVENC as well -- assuming the NVIDIA library doesn't end up getting mapped to VA-API, OpenMAX, or another video encode API.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week