Using NVIDIA's NVENC On Linux With FFmpeg
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.
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.
42 Comments