Veo soporte para NVIDIA NVENC en este documento, pero parece confuso, ¿paso a paso? o PPA con ffmpeg-nvenc para ubuntu?
Veo soporte para NVIDIA NVENC en este documento, pero parece confuso, ¿paso a paso? o PPA con ffmpeg-nvenc para ubuntu?
Como siempre con FFmpeg, el desarrollo continuo cambia las publicaciones de objetivos muchas veces y esto es cierto para nvenc y FFmpeg. Ha habido 3 fases:
Se requieren dos pasos:
1. Instale el paquete nv-codec-headers :
Algo similar a los siguientes comandos de Terminal debería ser suficiente:
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
Si por alguna razón cambia de opinión y desea eliminar por completo los archivos instalados y el directorio de compilación, simplemente ejecute los siguientes dos comandos de Terminal:
sudo rm -v /usr/local/{lib/pkgconfig/ffnvcodec.pc,include/ffnvcodec/*.h}
rm -rfv $HOME/nv-codec-headers_build
Y su sistema ha sido limpiado. Sin embargo, si desea continuar, utilice el siguiente paso:
2. Compilar FFmpeg :
Use esta guía muy bien probada:
El nv-codec-headers
será automágicamente reconocidos (no extra ./configure
se necesitan opciones) y nvenc se construirá con éxito.
Pruebas:
He probado esto en Bionic Beaver LTS y los resultados son:
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:~$
Y si ve una imagen similar a la anterior y tiene una tarjeta gráfica compatible , tiene razón para ir :)
Notas:
@ andrew.46 su respuesta es excelente, gracias. Mi reputación está por debajo del umbral para publicar esto como un comentario. Si es posible, expanda su respuesta con la siguiente información.
Si necesita volver a una versión anterior de
nv-codec-headers
, descargue y compile una versión anterior de https://github.com/FFmpeg/nv-codec-headers/releases .Esto puede ser necesario si compila
ffmpeg
contra la últimanv-codec-headers
versión, pero su controlador de gráficos es de una versión que aún no maneja la versión mínima de API CUDA requerida pornv-codec-headers
. El síntoma será queffmpeg
fallará al transcodificar transmisiones de video. En mi caso,nv-codec-headers
requería la API 9.1 de CUDA, mientras que la últimanvidia-driver
para mi distribución (prueba) todavía estaba en una versión con 9.0.Volver a una versión anterior
nv-codec-headers
probablemente sea más seguro que descargar el último controlador directamente desde Nvidia y construirlo fuera del mecanismo de actualización de su distribución.fuente