AMD VCN

Hardware y Configuraciones Compatibles

  • GPU AMD Radeon RX6000 (RDNA2), RX7000 (RDNA3) y RX9000 (RDNA4) o superior
  • Windows 10 o posterior
  • Soporte limitado disponible en Ubuntu 22.04 y versiones posteriores.

Nota: estos no son límites estrictos. La codificación de hardware a través de VCN podría funcionar en GPUs de series más antiguas y sistemas operativos anteriores, pero esto no es oficialmente compatible.

Activando Soporte

El soporte para el codificador AMD VCN se habilita en las preferencias, en la pestaña de video. Si tu sistema no es compatible, la opción estará deshabilitada.

En Linux, necesitamos los controladores oficiales de amdgpu-pro.

  1. Descargar los controladores más recientes desde: AMD Radeon Software for Linux versión 24.20 o posterior es necesario para usar el codificador VCN.
  2. Ejecutar el siguiente comando: sudo dpkg -i amdgpu-install_VERSION_all.deb (donde la versión es similar a: 6.3.60302-1)
  3. Ejecutar: sudo amdgpu-install -y --usecase=graphics,amf --accept-eula
  4. Reiniciar el equipo.

Para instalaciones nativas, el codificador VCN debería estar disponible en la interfaz gráfica de HandBrake.

Si estás utilizando una instalación Flatpak, deberás realizar algunos pasos adicionales:

  1. Si no tienes Flatseal instalado, deberás instalarlo.
  2. Abrir FlatSeal y elegir la aplicación HandBrake.
  3. En la sección «Other Files», agregar una carpeta «/opt».
  4. En la sección «Environment – Variables», cambia LD_LIBRARY_PATH=/app/extensions/lib:/opt/amdgpu-pro/lib/x86_64-linux-gnu añadiendo :/opt/amdgpu-pro/lib/x86_64-linux-gnu al final. Nota: en distros no-ubuntu, esta ruta puede ser diferente, por ejemplo, en RHEL/SLE podría estar en: /opt/amdgpu-pro/lib64.

Ahora, si ejecutas HandBrake, deberías ver las opciones VCN disponibles.

Preajustes

Los siguientes preajustes están disponibles en la categoría «Hardware» en el menú de preajustes:

  • H.265 VCN 2160P 4K
  • H.265 VCN 1080p

Estos son un buen punto de partida para configurar HandBrake para usar estos codificadores.

Limitaciones Conocidas

  • El codificador AV1 que se incluye con los productos Navi 3.x requiere una resolución que sea divisible por 64 tanto en ancho como en altura. Asegúrate de que la resolución de salida después de recortar siga esta regla.

Rendimiento

HandBrake admite el codificador de hardware AMD VCN, pero NO admite el decodificador de hardware.

El CPU aún se utilizará para:

  • Decodificación de video
  • Todos los filtros de video
  • Codificación de audio
  • Motor de HandBrake, sincronización A/V, etc.
  • Subtítulos
  • Multiplexado

Estas operaciones ocurren en paralelo a medida que avanza el trabajo. Por lo tanto, es normal ver una alta utilización de la CPU (o incluso un 100%) incluso cuando se usa VCN.

También es común, especialmente en hardware de gama baja o más antiguo, que el CPU sea un cuello de botella, lo que provocará un rendimiento inferior al esperado. Para minimizar este efecto, desactiva los filtros que no necesites.

Opciones Avanzadas

El codificador de hardware AMD VCN tiene un conjunto limitado de opciones avanzadas de codificación. En general, no se recomienda cambiar estos parámetros, ya que los preajustes integrados ofrecen un buen rango de opciones para usos comunes.

Si usas la interfaz gráfica de HandBrake, puedes establecer las opciones en el campo de Opciones Avanzadas en la pestaña de Video con el siguiente formato:

option1=value1:option2=value2

Si usas la interfaz de línea de comandos de HandBrake, usa el parámetro --encopts de la siguiente manera:

--encopts="option1=value1:option2=value2"

Tipos de valor de las opciones

Se admiten los siguientes tipos de valor (cada opción solo acepta un tipo de valor):

  • integer – Un número que puede escribirse sin un componente fraccionario o decimal.
  • boolean – 0 significa desactivado (o deshabilitado), 1 significa activado (o habilitado).
  • string – Una cadena alfanumérica de caracteres. Consulta los comentarios de la opción para los valores aceptables.

Lista de Opciones

Opción Tipo H.264 H.265 Detalle
usage string Opciones: transcoding, ultralowlatency, lowlatency, webcam
coder string Selección del codificador. Valores: auto (predeterminado), cabac, cavlc.
preanalysis boolean Establecer en 1 para habilitar el análisis preliminar, 0 para deshabilitar (predeterminado).
vbaq boolean Establecer en 1 para habilitar la cuantización adaptativa basada en varianza, 0 para deshabilitar (predeterminado).
enforce_hrd boolean Establecer en 1 para aplicar el decodificador de referencia hipotética, 0 para deshabilitar (predeterminado).
max_au_size int Tamaño máximo de la unidad de acceso para el control de tasa, en bits. Predeterminado: 0 (automático).
me_half_pel boolean Establecer en 1 para habilitar la estimación de movimiento a medio píxel (predeterminado), 0 para deshabilitar.
me_quarter_pel boolean Establecer en 1 para habilitar la estimación de movimiento a un cuarto de píxel (predeterminado), 0 para deshabilitar.
bf_delta_qp int Delta QP de la B-Picture. La escala de valores es -10–10. Predeterminado: 4.
bf_ref boolean Establecer en 1 para habilitar los B-Frames de referencia (predeterminado), 0 para deshabilitar.
bf_ref_delta_qp int Delta QP de la B-Picture de referencia. La escala de valores es -10–10. Predeterminado: 4.
intra_refresh_mb int Número de bloques macro Intra-Refresh por ranura. Predeterminado: 0 (automático).
header_insertion_mode string Opciones: none, gop, idr
gops_per_idr int GOPs por IDR. 0 significa que no se insertará IDR.

Próximos pasos

Continúa con Ajustar la calidad.

Este artículo es parte de la Documentación de HandBrake y fue escrito por Bradley Sepos (BradleyS). Únete a nosotros en GitHub para contribuir con tus ideas y sugerencias, y para proponer correcciones.

HandBrake Team. CC BY-SA 4.0.