Como instalar o FFmpeg-NVENC no Ubuntu – Tutorial passo a passo

Olá! No tutorial de hoje você vai aprender a compilar o FFmpeg com o codec Nvidia NVENC habilitado no Ubuntu e seus derivados. O NVENC pode ser muito útil para quem faz captura de tela no Linux, ele permite que os games especialmente rodem com uma taxa de FPS muito próxima da original do game sem a gravação, o que sem dúvida é interessante.

FFmpeg-NVENC Ubuntu Tutorial


Infelizmente o processo de instalação não é tão simples, porém, se você seguir o passo a passo, tudo deve ocorrer sem maiores problemas. Será necessário recompilar o FFmpeg no seu sistema. Vamos começar?

Tutorial passo a passo para instalar o FFmpeg com suporte ao NVENC no Ubuntu

Existem alguns preparativos que você deve fazer para estar apto para recompilar o FFmpeg com o codec Nvidia NVENC ativado. E vamos precisar usar o terminal para muitos passos, então fique atento.

1 – Ative o repositório de código fonte no Ubuntu

Abra o menu do sistema e procure pelo aplicativo “Programas e atualizações“, e na aba “Aplicativos Ubuntu“, marque a opção “Código fonte“. 
Habilite a opção de baixar código fonte
Depois de marcar a caixa de seleção que permite o download de softwares à partir do código fonte, clique no botão “Fechar” e permita a atualização dos repositórios.

2 – Tenha drivers de vídeo atualizados

Para poder desfrutar do NVENC com plenitude é recomendável ter as versões mais recentes dos drivers Nvidia no Ubuntu, para aprender a instalar a versão correta dos drives no seu sistema consulte este post do blog Diolinux. 

OBS: No meu caso, na momento em que fiz o tutorial, utilizei o driver 367.24.

3 – Remova o FFmpeg instalado à partir do repositório oficial

Se você instalou o FFmpeg do repositório do Ubuntu, pode ser uma boa removê-lo. As pessoas que me ajudaram a testar este tutorial fizeram das duas formas, tanto removendo o FFmpeg, quanto deixando-o. Particularmente eu preferi remover, então é com você.

sudo apt-get remove ffmpeg

sudo apt-get autoremove 

Compilando o FFmpeg com o NVENC no Ubuntu

Muito bem, agora que já fizemos os nossos preparativos, vamos começar a fazer a instalação do FFmpeg com NVENC incluso.

1 – Instale as bibliotecas de 32 bits para compatibilidade com aplicações desta arquitetura:

sudo apt-get install libgtk2.0-0:i386 libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 libidn11:i386 libglu1-mesa:i386

2 – Preparando componentes úteis (O CUDA é opcional):

sudo apt-get install build-essential git yasm unzip wget sysstat

sudo apt-get install nvidia-cuda-toolkit nvidia-modprobe

3 –  Baixe o Patch Nvidia NVENC do site

Temos uma passo importante aqui, que é onde você vai baixar o NVENC para habilitá-lo dentro do FFmpeg.

Entre no site de desenvolvedores da Nvidia e baixar o NVIDIA Video Codec SDK. Para baixar a versão utilizada neste tutorial clique aqui. Salve na sua pasta home. Se preferir, baixar usando o wget:

wget -c https://developer.nvidia.com/video-sdk-601

4 – Extraia o conteúdo

unzip nvidia_video_sdk_6.0.1

5 – Copie os arquivos necessários para a compilação para a pasta adequada.

sudo cp nvidia_video_sdk_6.0.1/Samples/common/inc/*.h /usr/local/include

6 – Baixe as dependências do FFmpeg


sudo apt-get build-dep ffmpeg

sudo apt-get install libfdk-aac-dev

7 – Baixe o código fonte do FFmpeg (não rode este comando com o sudo!):

apt-get source ffmpeg

8 – Mude para o diretório do arquivo baixou, ele está na sua home, se a versão for diferente de “2.8.6” coloque a versão correta.

cd ffmpeg-2.8.6

9 – Veja todos os possíveis parâmetros

ffmpeg -buildconf

Caso você não tenha removido o FFmpeg no início, copie todos os sufixos disponíveis da instalação original, eles ficam depois da linha “Configure:” e adicione ao final da linha (como no próximo passo) os parâmetros: 

enable-nonfree –enable-nvenc –enable-libfdk-aac

Configurando O FFMPEG

10 – Habilite os plugins do FFmpeg, incluindo o NVENC. Nesta parte você pode colocar apenas os que você desejar, no meu caso utilizei estes.

./configure –prefix=/usr –extra-version=1ubuntu2 –build-suffix=-ffmpeg –toolchain=hardened –libdir=/usr/lib/x86_64-linux-gnu –incdir=/usr/include/x86_64-linux-gnu –cc=cc –cxx=g++ –enable-gpl –enable-shared –disable-stripping –disable-decoder=libopenjpeg –disable-decoder=libschroedinger –enable-avresample –enable-avisynth –enable-gnutls –enable-ladspa –enable-libass –enable-libbluray –enable-libbs2b –enable-libcaca –enable-libcdio –enable-libflite –enable-libfontconfig –enable-libfreetype –enable-libfribidi –enable-libgme –enable-libgsm –enable-libmodplug –enable-libmp3lame –enable-libopenjpeg –enable-libopus –enable-libpulse –enable-librtmp –enable-libschroedinger –enable-libshine –enable-libsnappy –enable-libsoxr –enable-libspeex –enable-libssh –enable-libtheora –enable-libtwolame –enable-libvorbis –enable-libvpx –enable-libwavpack –enable-libwebp –enable-libx265 –enable-libxvid –enable-libzvbi –enable-openal –enable-opengl –enable-x11grab –enable-libdc1394 –enable-libiec61883 –enable-libzmq –enable-frei0r –enable-libx264 –enable-libopencv –enable-nonfree –enable-nvenc –enable-libfdk-aac

 11 – Construa:

make

12 – Instale

make install

Fim.

Com isso você já poderá utilizar o FFmpeg em programas como o OBS e o Simple Screen Recorder para fazer gravações de tela com maior qualidade.
NVENC no OBS Ubuntu
Tome cuidado para não sobrescrever esta versão do FFmpeg com as atualizações do sistema, caso isso ocorra, será necessário compilar novamente.
Obs: É possível renderizar usando este codec no Kdenlive utilizando a opção HVENC.
Até a próxima! 

_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.