How to install / compile NVENC in ubuntu?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
I see support for nvidia NVENC in this document, but it seems confusing, some step by step? or PPA with ffmpeg-nvenc for ubuntu?
http://developer.download.nvidia.com/compute/redist/ffmpeg/1511-patch/FFMPEG-with-NVIDIA-Acceleration-on-Ubuntu_UG_v01.pdf
nvidia software-installation compiling ffmpeg codecs
add a comment |
I see support for nvidia NVENC in this document, but it seems confusing, some step by step? or PPA with ffmpeg-nvenc for ubuntu?
http://developer.download.nvidia.com/compute/redist/ffmpeg/1511-patch/FFMPEG-with-NVIDIA-Acceleration-on-Ubuntu_UG_v01.pdf
nvidia software-installation compiling ffmpeg codecs
add a comment |
I see support for nvidia NVENC in this document, but it seems confusing, some step by step? or PPA with ffmpeg-nvenc for ubuntu?
http://developer.download.nvidia.com/compute/redist/ffmpeg/1511-patch/FFMPEG-with-NVIDIA-Acceleration-on-Ubuntu_UG_v01.pdf
nvidia software-installation compiling ffmpeg codecs
I see support for nvidia NVENC in this document, but it seems confusing, some step by step? or PPA with ffmpeg-nvenc for ubuntu?
http://developer.download.nvidia.com/compute/redist/ffmpeg/1511-patch/FFMPEG-with-NVIDIA-Acceleration-on-Ubuntu_UG_v01.pdf
nvidia software-installation compiling ffmpeg codecs
nvidia software-installation compiling ffmpeg codecs
edited Oct 15 '16 at 4:20
andrew.46
22.3k1470150
22.3k1470150
asked May 27 '16 at 6:32
Fast OSFast OS
51114
51114
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
As always with FFmpeg continuing development shifts the goal posts many times and this is certainly true of nvenc and FFmpeg. There have been 3 phases:
Roll your own: Pre August 27th 2016 it was necessary to track down your own headers to build nvenc. Arduous and more than a little confusing.
Built into the source: August 27th 2016 saw the required headers incorporated as part of the FFmpeg source, nothing required but the ability to compile the FFmpeg source from git, or use a 'release' version cut from git at this time.
Use nv-codec-headers: On February 26th 2018 the NVidia headers were removed from the FFmpeg source. A separate git repository was created to hold continuing work with these headers. At the moment these headers must be installed as well as FFmpeg from git to get access to nvenc and friends.
Two steps are required:
1. Install the nv-codec-headers package:
Something like the following Terminal commands should suffice:
sudo apt-get install make git
mkdir $HOME/nv-codec-headers_build && cd $HOME/nv-codec-headers_build
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make && sudo make install
If for some reason you change your mind and wish to completely remove the installed files as well as the build directory simply run the following two Terminal commands:
sudo rm -v /usr/local/{lib/pkgconfig/ffnvcodec.pc,include/ffnvcodec/*.h}
rm -rfv $HOME/nv-codec-headers_build
And your system has been cleaned. If however you wish to continue use the following step:
2. Compile FFmpeg:
Use this very well tested guide:
- Compile FFmpeg on Ubuntu, Debian, or Mint
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
The nv-codec-headers
will be automagically recognised (no extra ./configure
options are needed) and nvenc will be successfully built.
Testing:
I have tested this on Bionic Beaver LTS and the results are:
andrew@ilium:~$ ffmpeg -encoders 2>/dev/null | grep nvenc
V..... h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_h264 NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_hevc NVIDIA NVENC hevc encoder (codec hevc)
V..... hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc)
andrew@ilium:~$
And if you see a similar picture as above, and you have a supported graphics card, you are right to go :)
Notes:
- There is no difference between
hevc_nvenc
andnvenc_hevc
: thenvenc_*
variants are the old legacy names. - You can view options specific to each encoder. For example,
ffmpeg -h encoder=h264_nvenc
.
Hardware Acceleration Guide for FFmpeg: FFmpeg Wiki guide for hardware acceleration in general with FFmpeg, a canonical section for compiling and using nvenc...
- The latest version corresponds to Video Codec SDK version 9.0.18 and requires NVidia drivers version 418.30 or newer.
Thanks so much for this detailed guide. I got similar output from your testing section, which is great. Aside from the nVidia drivers, do we also need to install the Cuda SDK to get FFMPEG to use the installed GPU?
– Kimberly W
yesterday
@KimberlyW Not required on my system, I have just now tested...
– andrew.46
yesterday
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f778100%2fhow-to-install-compile-nvenc-in-ubuntu%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
As always with FFmpeg continuing development shifts the goal posts many times and this is certainly true of nvenc and FFmpeg. There have been 3 phases:
Roll your own: Pre August 27th 2016 it was necessary to track down your own headers to build nvenc. Arduous and more than a little confusing.
Built into the source: August 27th 2016 saw the required headers incorporated as part of the FFmpeg source, nothing required but the ability to compile the FFmpeg source from git, or use a 'release' version cut from git at this time.
Use nv-codec-headers: On February 26th 2018 the NVidia headers were removed from the FFmpeg source. A separate git repository was created to hold continuing work with these headers. At the moment these headers must be installed as well as FFmpeg from git to get access to nvenc and friends.
Two steps are required:
1. Install the nv-codec-headers package:
Something like the following Terminal commands should suffice:
sudo apt-get install make git
mkdir $HOME/nv-codec-headers_build && cd $HOME/nv-codec-headers_build
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make && sudo make install
If for some reason you change your mind and wish to completely remove the installed files as well as the build directory simply run the following two Terminal commands:
sudo rm -v /usr/local/{lib/pkgconfig/ffnvcodec.pc,include/ffnvcodec/*.h}
rm -rfv $HOME/nv-codec-headers_build
And your system has been cleaned. If however you wish to continue use the following step:
2. Compile FFmpeg:
Use this very well tested guide:
- Compile FFmpeg on Ubuntu, Debian, or Mint
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
The nv-codec-headers
will be automagically recognised (no extra ./configure
options are needed) and nvenc will be successfully built.
Testing:
I have tested this on Bionic Beaver LTS and the results are:
andrew@ilium:~$ ffmpeg -encoders 2>/dev/null | grep nvenc
V..... h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_h264 NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_hevc NVIDIA NVENC hevc encoder (codec hevc)
V..... hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc)
andrew@ilium:~$
And if you see a similar picture as above, and you have a supported graphics card, you are right to go :)
Notes:
- There is no difference between
hevc_nvenc
andnvenc_hevc
: thenvenc_*
variants are the old legacy names. - You can view options specific to each encoder. For example,
ffmpeg -h encoder=h264_nvenc
.
Hardware Acceleration Guide for FFmpeg: FFmpeg Wiki guide for hardware acceleration in general with FFmpeg, a canonical section for compiling and using nvenc...
- The latest version corresponds to Video Codec SDK version 9.0.18 and requires NVidia drivers version 418.30 or newer.
Thanks so much for this detailed guide. I got similar output from your testing section, which is great. Aside from the nVidia drivers, do we also need to install the Cuda SDK to get FFMPEG to use the installed GPU?
– Kimberly W
yesterday
@KimberlyW Not required on my system, I have just now tested...
– andrew.46
yesterday
add a comment |
As always with FFmpeg continuing development shifts the goal posts many times and this is certainly true of nvenc and FFmpeg. There have been 3 phases:
Roll your own: Pre August 27th 2016 it was necessary to track down your own headers to build nvenc. Arduous and more than a little confusing.
Built into the source: August 27th 2016 saw the required headers incorporated as part of the FFmpeg source, nothing required but the ability to compile the FFmpeg source from git, or use a 'release' version cut from git at this time.
Use nv-codec-headers: On February 26th 2018 the NVidia headers were removed from the FFmpeg source. A separate git repository was created to hold continuing work with these headers. At the moment these headers must be installed as well as FFmpeg from git to get access to nvenc and friends.
Two steps are required:
1. Install the nv-codec-headers package:
Something like the following Terminal commands should suffice:
sudo apt-get install make git
mkdir $HOME/nv-codec-headers_build && cd $HOME/nv-codec-headers_build
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make && sudo make install
If for some reason you change your mind and wish to completely remove the installed files as well as the build directory simply run the following two Terminal commands:
sudo rm -v /usr/local/{lib/pkgconfig/ffnvcodec.pc,include/ffnvcodec/*.h}
rm -rfv $HOME/nv-codec-headers_build
And your system has been cleaned. If however you wish to continue use the following step:
2. Compile FFmpeg:
Use this very well tested guide:
- Compile FFmpeg on Ubuntu, Debian, or Mint
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
The nv-codec-headers
will be automagically recognised (no extra ./configure
options are needed) and nvenc will be successfully built.
Testing:
I have tested this on Bionic Beaver LTS and the results are:
andrew@ilium:~$ ffmpeg -encoders 2>/dev/null | grep nvenc
V..... h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_h264 NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_hevc NVIDIA NVENC hevc encoder (codec hevc)
V..... hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc)
andrew@ilium:~$
And if you see a similar picture as above, and you have a supported graphics card, you are right to go :)
Notes:
- There is no difference between
hevc_nvenc
andnvenc_hevc
: thenvenc_*
variants are the old legacy names. - You can view options specific to each encoder. For example,
ffmpeg -h encoder=h264_nvenc
.
Hardware Acceleration Guide for FFmpeg: FFmpeg Wiki guide for hardware acceleration in general with FFmpeg, a canonical section for compiling and using nvenc...
- The latest version corresponds to Video Codec SDK version 9.0.18 and requires NVidia drivers version 418.30 or newer.
Thanks so much for this detailed guide. I got similar output from your testing section, which is great. Aside from the nVidia drivers, do we also need to install the Cuda SDK to get FFMPEG to use the installed GPU?
– Kimberly W
yesterday
@KimberlyW Not required on my system, I have just now tested...
– andrew.46
yesterday
add a comment |
As always with FFmpeg continuing development shifts the goal posts many times and this is certainly true of nvenc and FFmpeg. There have been 3 phases:
Roll your own: Pre August 27th 2016 it was necessary to track down your own headers to build nvenc. Arduous and more than a little confusing.
Built into the source: August 27th 2016 saw the required headers incorporated as part of the FFmpeg source, nothing required but the ability to compile the FFmpeg source from git, or use a 'release' version cut from git at this time.
Use nv-codec-headers: On February 26th 2018 the NVidia headers were removed from the FFmpeg source. A separate git repository was created to hold continuing work with these headers. At the moment these headers must be installed as well as FFmpeg from git to get access to nvenc and friends.
Two steps are required:
1. Install the nv-codec-headers package:
Something like the following Terminal commands should suffice:
sudo apt-get install make git
mkdir $HOME/nv-codec-headers_build && cd $HOME/nv-codec-headers_build
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make && sudo make install
If for some reason you change your mind and wish to completely remove the installed files as well as the build directory simply run the following two Terminal commands:
sudo rm -v /usr/local/{lib/pkgconfig/ffnvcodec.pc,include/ffnvcodec/*.h}
rm -rfv $HOME/nv-codec-headers_build
And your system has been cleaned. If however you wish to continue use the following step:
2. Compile FFmpeg:
Use this very well tested guide:
- Compile FFmpeg on Ubuntu, Debian, or Mint
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
The nv-codec-headers
will be automagically recognised (no extra ./configure
options are needed) and nvenc will be successfully built.
Testing:
I have tested this on Bionic Beaver LTS and the results are:
andrew@ilium:~$ ffmpeg -encoders 2>/dev/null | grep nvenc
V..... h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_h264 NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_hevc NVIDIA NVENC hevc encoder (codec hevc)
V..... hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc)
andrew@ilium:~$
And if you see a similar picture as above, and you have a supported graphics card, you are right to go :)
Notes:
- There is no difference between
hevc_nvenc
andnvenc_hevc
: thenvenc_*
variants are the old legacy names. - You can view options specific to each encoder. For example,
ffmpeg -h encoder=h264_nvenc
.
Hardware Acceleration Guide for FFmpeg: FFmpeg Wiki guide for hardware acceleration in general with FFmpeg, a canonical section for compiling and using nvenc...
- The latest version corresponds to Video Codec SDK version 9.0.18 and requires NVidia drivers version 418.30 or newer.
As always with FFmpeg continuing development shifts the goal posts many times and this is certainly true of nvenc and FFmpeg. There have been 3 phases:
Roll your own: Pre August 27th 2016 it was necessary to track down your own headers to build nvenc. Arduous and more than a little confusing.
Built into the source: August 27th 2016 saw the required headers incorporated as part of the FFmpeg source, nothing required but the ability to compile the FFmpeg source from git, or use a 'release' version cut from git at this time.
Use nv-codec-headers: On February 26th 2018 the NVidia headers were removed from the FFmpeg source. A separate git repository was created to hold continuing work with these headers. At the moment these headers must be installed as well as FFmpeg from git to get access to nvenc and friends.
Two steps are required:
1. Install the nv-codec-headers package:
Something like the following Terminal commands should suffice:
sudo apt-get install make git
mkdir $HOME/nv-codec-headers_build && cd $HOME/nv-codec-headers_build
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make && sudo make install
If for some reason you change your mind and wish to completely remove the installed files as well as the build directory simply run the following two Terminal commands:
sudo rm -v /usr/local/{lib/pkgconfig/ffnvcodec.pc,include/ffnvcodec/*.h}
rm -rfv $HOME/nv-codec-headers_build
And your system has been cleaned. If however you wish to continue use the following step:
2. Compile FFmpeg:
Use this very well tested guide:
- Compile FFmpeg on Ubuntu, Debian, or Mint
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
The nv-codec-headers
will be automagically recognised (no extra ./configure
options are needed) and nvenc will be successfully built.
Testing:
I have tested this on Bionic Beaver LTS and the results are:
andrew@ilium:~$ ffmpeg -encoders 2>/dev/null | grep nvenc
V..... h264_nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_h264 NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_hevc NVIDIA NVENC hevc encoder (codec hevc)
V..... hevc_nvenc NVIDIA NVENC hevc encoder (codec hevc)
andrew@ilium:~$
And if you see a similar picture as above, and you have a supported graphics card, you are right to go :)
Notes:
- There is no difference between
hevc_nvenc
andnvenc_hevc
: thenvenc_*
variants are the old legacy names. - You can view options specific to each encoder. For example,
ffmpeg -h encoder=h264_nvenc
.
Hardware Acceleration Guide for FFmpeg: FFmpeg Wiki guide for hardware acceleration in general with FFmpeg, a canonical section for compiling and using nvenc...
- The latest version corresponds to Video Codec SDK version 9.0.18 and requires NVidia drivers version 418.30 or newer.
edited 1 hour ago
answered Oct 15 '16 at 4:20
andrew.46andrew.46
22.3k1470150
22.3k1470150
Thanks so much for this detailed guide. I got similar output from your testing section, which is great. Aside from the nVidia drivers, do we also need to install the Cuda SDK to get FFMPEG to use the installed GPU?
– Kimberly W
yesterday
@KimberlyW Not required on my system, I have just now tested...
– andrew.46
yesterday
add a comment |
Thanks so much for this detailed guide. I got similar output from your testing section, which is great. Aside from the nVidia drivers, do we also need to install the Cuda SDK to get FFMPEG to use the installed GPU?
– Kimberly W
yesterday
@KimberlyW Not required on my system, I have just now tested...
– andrew.46
yesterday
Thanks so much for this detailed guide. I got similar output from your testing section, which is great. Aside from the nVidia drivers, do we also need to install the Cuda SDK to get FFMPEG to use the installed GPU?
– Kimberly W
yesterday
Thanks so much for this detailed guide. I got similar output from your testing section, which is great. Aside from the nVidia drivers, do we also need to install the Cuda SDK to get FFMPEG to use the installed GPU?
– Kimberly W
yesterday
@KimberlyW Not required on my system, I have just now tested...
– andrew.46
yesterday
@KimberlyW Not required on my system, I have just now tested...
– andrew.46
yesterday
add a comment |
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f778100%2fhow-to-install-compile-nvenc-in-ubuntu%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown