Cómo hacer que la codificación de vídeo asistida por GPU (NVENC) de NVIDIA funcione en Ubuntu

La codificación de archivos de vídeo puede ser una carga completa. Incluso con las CPUs más rápidas del mercado, el proceso puede durar hasta aproximadamente el mismo tiempo que el vídeo en sí (por ejemplo, treinta minutos de codificación para un vídeo de treinta minutos). No importa qué programas de codificación le ofrezcan, siempre están limitados por el poder de sus chips.

Para resolver este problema, las tarjetas NVIDIA tienen un pequeño truco que han estado utilizando desde el lanzamiento de las tarjetas gráficas de la serie GeForce 600 en 2012, llamadas NVENC. Esto le permite utilizar la GPU para codificar secuencias de vídeo. Usando NVENC, no sólo puede convertir vídeos más rápidamente que con una CPU convencional, sino que también puede transmitir vídeo a través de software como Open Broadcaster Software (OBS) mientras reduce o elimina completamente el tartamudeo y el retraso. Como Linux no tiene NVENC por defecto, tendrás que hacerlo funcionar a mano. Aquí explico cómo se puede hacer esto en distribuciones basadas en Ubuntu.

Primero lo primero

Para que el NVENC de NVIDIA funcione en Ubuntu, primero tienes que descargar el kit de desarrollo de software (SDK) de NVIDIA Video Codec de este sitio . Necesitará crear una cuenta, pero el proceso es bastante sencillo. No necesitas todos los archivos en el ZIP, así que ahora vamos a navegar a “Samples/common/inc.” Copie todo lo que vea en su carpeta “/usr/local/include”. Es necesario copiar estos archivos para que “ffmpeg” (un codificador que se encuentra frecuentemente con las distribuciones de linux) reconozca NVENC y lo incorpore.

Configuración de repositorios de código fuente



El siguiente paso consistirá en recompilar su versión actual de ffmpeg. Esto significa que va a necesitar las dependencias de compilación para el software, y para ello tendrá que configurar Linux para permitir la descarga desde los repositorios de código fuente en sus fuentes de software.

En Ubuntu, puede navegar a “Ajustes del sistema -> Software & Actualizaciones”, luego haga clic en “Código fuente” bajo “Software Ubuntu”. En Linux Mint (la distribución que estoy usando porque soy perezoso), esto se puede hacer accediendo al Administrador de actualizaciones, haciendo clic en “Editar”, haciendo clic en “Fuentes de software” y marcando la pequeña casilla con “Habilitar repositorios de código fuente”. Este método puede variar dependiendo de su entorno de escritorio y de la distribución de Linux, por lo que es posible que tenga que hacer una pequeña búsqueda personal para conseguirlo.

Ahora la parte del proceso de afilado de los dientes!

Reconstruyendo ffmpeg

Dado que ffmpeg no construye con muchas de sus opciones habilitadas automáticamente (lo que significa que casi todas son opt-in en lugar de opt-out), tendrá que averiguar cómo se construyó en su sistema y luego construirlo usando la misma configuración más soporte para audio NVENC y AAC. Aquí es donde entran las cabeceras que copió antes. Mira, ffmpeg echará un vistazo a tus archivos en “/usr/local/include” para encontrar cualquier códecs que no encuentre en sus propios bolsillos.

Primero, construimos dependencias con

sudo apt-get build-dep ffmpeg

A continuación, queremos descargar el códec de audio AAC con

sudo apt-get install libfdk-aac-dev

Una vez hecho esto, necesitaremos obtener el código fuente de la versión actual de ffmpeg con

sudo apt-get source ffmpeg

Y cuando eso termine, tendrás que hacer una pequeña búsqueda en tu carpeta de Inicio. Busca una carpeta que empiece por “ffmpeg”. Tendrá el número de versión justo después de separarlo con un guión. Aquí está el mío:



Abra su terminal en esa carpeta. Si no puede hacerlo, abra el terminal y escriba:

cd ffmpeg- donde "" representa el número completo de la versión que viste en el nombre de esa carpeta. En mi caso, escribiría

cd ffmpeg-2.8.8

Ahora escriba

ffmpeg -buildconf

Le mostrará la configuración completa de su instalación actual de ffmpeg. Tendrá que copiar todo después de "configuración:" sin los bits debajo de esa pared masiva de texto. En mi caso, estoy copiando esto: (Tu configuración puede ser diferente, así que no copies lo que te estoy mostrando aquí.)

--prefix=/usr --extra-version=0ubuntu0.16.04.1 --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=libenjpeg --disable-decoder=libschroedinger --enable-gnuavresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-enablelibmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse-libschroedinger --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-enablelibvorbis --enable-libvvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-enableopengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv

Ahora, pega lo que tengas en gedit o en algún otro editor de texto y añade esto al final:

OK, ahora todo lo que tienes que hacer es escribir

donde "" representa la masiva pared de texto que acabas de editar para añadir soporte para codecs no libres, NVENC, y audio AAC. Esto puede tardar un poco.

Después de todo esto, escriba

make

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"""">>>>i

Espere a que esto termine, luego escriba

sudo make install

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

¡Estás acabado!

Probando

Vale, ¿cómo sabes que has conseguido soporte para NVENC? Es hora de sacar a ffmpeg a dar una vuelta y codificar un video con él.

Para ello, necesitará un archivo de vídeo para convertir. Digamos que nuestro video está en"/home/miguel/Desktop/test.mkv", y queremos codificarlo como"/home/miguel/Desktop/test.mp4". Así es como lo hacemos con ffmpeg y su nuevo amor por NVENC:

.

Deberías ver algo como esto:



Y eso es todo! Matamos dos pájaros de un tiro: aprendiste cómo obtener NVENC en tu sistema Linux y cómo codificar un vídeo usando el práctico comando de terminal de ffmpeg. Si te quedas atascado en algún sitio o encuentras una forma mejor de hacerlo, ¡no olvides dejar un comentario!

Fuente: este post proviene de Vida Tecno, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
Creado:
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Etiquetas: Linux

Recomendamos

Relacionado

Linux

A medida que se acerca el Mundial de Fútbol 2010, los fanáticos del fútbol que no son capaces de captarlo en la televisión han comenzado a buscar fuentes alternativas para apoyar a sus equipos favoritos. No hace falta decir que P2P es uno de los recursos más populares. Sin embargo, para poder ver el vídeo P2P, necesitará instalar un reproductor personalizado. Sopcast es el más popular entre todos ...

Linux

¿Alguna vez has grabado un videoclip y luego te has preguntado » ¿Cómo puedo convertir todo esto en imágenes individuales? » Si es así, esta guía es probablemente lo que estás buscando. Verás, hay una herramienta ahí fuera llamada FFMPEG. Es una herramienta de vídeo y se puede utilizar para una multitud de cosas. Esto incluye la descompilación de videos. Todavía tengo que encontrar una f ...

Mac

Hay muchas ocasiones en las que es necesario convertir un vídeo de un formato a otro. Por ejemplo, quieres convertir un vídeo al formato de iPhone para que puedas transferirlo y verlo en movimiento, o quieres convertir las imágenes sin editar de tu grabación de vídeo al aire libre a un formato que puedas subir a Youtube. Por cualquier razón, necesitará un convertidor de vídeo para llevar a cabo es ...

Linux

Si eres usuario de Ubuntu y tienes un dispositivo Android (ejecutando la versión 4.0 o superior de Android), sabrás que no puedes conectar el dispositivo a tu ordenador y hacer que aparezca en tu gestor de archivos. La razón de esto es porque Android 4.0 y superior está usando el protocolo MTP como puente de conexión y MTP no está totalmente soportado en Linux. Anteriormente te hemos mostrado cómo ...

Linux

Puede parecer que los DVDs han seguido el camino de los dinosaurios, pero siguen siendo una forma popular de compartir datos y vídeos. Puede enviarlos fácilmente, y no necesita una tonelada entera de ancho de banda o estrategias complicadas de compartición de archivos para enviarlos a sus amigos y familiares. En Linux, DevedeNG es una excelente manera de crear sus propios DVDs de vídeo, con menús ...

Linux

Para todos los usuarios de Ubuntu, hay un área en la que se queda corta en comparación con otros sistemas operativos y es con su aspecto. Por defecto, el dulce ojo de Ubuntu es bastante apagado: Nunca he sido un fanático de la combinación de colores púrpura y naranja que saluda una instalación fresca. Incluso el tema oscuro en Windows es un placer de usar. Para mí, personalmente, los temas más osc ...

Linux

Desde hace tiempo el kernel de Linux soporta oficialmente el controlador de Microsoft Xbox One. Dicho esto, el apoyo no es el mejor. Para empezar, hay algunos ajustes que se podrían hacer, así como la capacidad de soporte para múltiples controladores y más. En este artículo te mostraremos cómo configurar un controlador de Xbox One en Ubuntu. Para ser más específicos, repasaremos cómo usar el contr ...