Articulo de referencia

API de aceleración de vídeo

La API de aceleración de vídeo ( VA-API ) es una interfaz de programación de aplicaciones de código abierto que permite a aplicaciones como el reproductor multimedia VLC o GStre...

La API de aceleración de vídeo ( VA-API ) es una interfaz de programación de aplicaciones de código abierto que permite a aplicaciones como el reproductor multimedia VLC o GStreamer utilizar las capacidades de aceleración de vídeo por hardware, generalmente proporcionadas por la unidad de procesamiento gráfico (GPU). Se implementa mediante la biblioteca gratuita y de código abierto libva , combinada con un controlador específico para el hardware, que suele proporcionarse junto con el controlador de la GPU.

La interfaz de decodificación/codificación de vídeo VA-API es independiente de la plataforma y del sistema de ventanas, pero está dirigida principalmente a la Infraestructura de Renderizado Directo (DRI) en el Sistema X Window en sistemas operativos tipo Unix (incluidos Linux , FreeBSD y Solaris ) y Android ; sin embargo, también puede utilizarse con subsistemas de gráficos y búfer de fotogramas directos para la salida de vídeo. El procesamiento acelerado incluye soporte para decodificación de vídeo , codificación de vídeo , mezcla de subimágenes y renderizado. [ 2 ]

La especificación VA-API fue diseñada originalmente por Intel para su serie de hardware GPU GMA (Graphics Media Accelerator) con el propósito específico de reemplazar eventualmente el estándar XvMC como el equivalente multiplataforma Unix predeterminado de la API de aceleración de video DirectX (DxVA) de Microsoft Windows , pero hoy en día la API ya no está limitada al hardware o GPU específicos de Intel. [ 3 ] Otros fabricantes de hardware pueden usar libremente esta API de estándar abierto para el procesamiento de video acelerado por hardware con su propio hardware sin pagar regalías. [ 4 ]

Descripción general

Un ejemplo de la salida de vainfo, que muestra los códecs de vídeo compatibles con la aceleración VA-API.

La principal motivación para VA-API es permitir la decodificación de vídeo acelerada por hardware en varios puntos de entrada ( VLD , IDCT , compensación de movimiento , eliminación de bloqueos [ 5 ] ) para los estándares de codificación actuales ( MPEG-2 , MPEG-4 ASP / H.263 , MPEG-4 AVC/H.264 , H.265/HEVC y VC-1/WMV3 ). Se consideró extender XvMC, pero debido a su diseño original solo para MPEG-2 MotionComp , tenía más sentido diseñar una interfaz desde cero que pudiera exponer completamente las capacidades de decodificación de vídeo en las GPU actuales . [ 6 ]

Hardware y controladores compatibles

A partir de 2022, VA-API es compatible de forma nativa con: [ 7 ]

Códecs de vídeo compatibles

Actualmente, VA-API admite estos códecs de vídeo en su versión principal oficial, pero tenga en cuenta que los códecs de vídeo compatibles dependen del hardware y de las capacidades del controlador.

  • Perfil principal de aceleración de decodificación MPEG-2
  • Perfil avanzado de aceleración de decodificación VC-1/WMV3
  • Aceleración de decodificación MPEG-4 Parte 2 (H.263) (también conocido como MPEG-4 SP / MPEG-4 ASP, más comúnmente llamado Xvid )
  • Perfil principal de aceleración de codificación AVC H.264
  • Aceleración de decodificación H.264 AVC Perfil alto
    • H.264 / AVC Decodificación de longitud variable por hardware (VLD) - CABAC
    • H.264 / AVC Decodificación de longitud variable por hardware (VLD) - CAVLC
    • H.264 / Transformación inversa de hardware AVC (IT)
    • Compensación de movimiento por hardware (HWMC) H.264 / AVC
    • Desbloqueo en bucle de hardware H.264 / AVC (ILDB)
  • aceleración de codificación H.265/HEVC
  • aceleración de decodificación H.265/HEVC
  • Aceleración de codificación de VP9 de 8 bits [ 9 ]
  • Aceleración de decodificación de VP9 de 8 y 10 bits [ 9 ]
  • Aceleración de codificación AV1 de 8 y 10 bits
  • Aceleración de decodificación AV1 de 8 bits y 10 bits [ 7 ]

Procesos que se pueden acelerar con VA-API

Procesos de decodificación y posprocesamiento de vídeo que pueden descargarse y acelerarse si tanto los controladores del dispositivo como el hardware de la GPU lo permiten:

Arquitectura de software

Arquitectura de la API de aceleración de vídeo

La interfaz actual es independiente del sistema de ventanas, por lo que potencialmente puede usarse con subsistemas gráficos distintos de la DRI (Direct Rendering Infrastructure) en X Window System , como el renderizado directo con framebuffer , y puede funcionar con bibliotecas DRM (Direct Rendering Manager) de terceros . En resumen, es un esquema para pasar varios tipos de búferes de datos desde la aplicación a la GPU para decodificar o codificar un flujo de bits comprimido .

Software compatible con VA-API

Un registro de Firefox que muestra que se está utilizando VA-API para la aceleración de la decodificación de vídeo.

Véase también

  • Motor de códec distribuido (libdce): API de Texas Instruments para el motor de códec de vídeo en sistemas embebidos basados ​​en OMAP.
  • OpenMAX : una API de abstracción de medios multiplataforma libre de regalías del Grupo Khronos.

Referencias

  1. "Versión 2.24.1" . 8 de julio de 2026. Consultado el 9 de julio de 2026 .
  2. "Aceleración de vídeo VA-API en Intel Medfield - Phoronix" . Phoronix.com . Consultado el 23 de febrero de 2019 .
  3. "Video4Linux2: Camino hacia una API de códec de vídeo estandarizada" (PDF) . Events.linuxfoundation.org . Archivado del original (PDF) el 6 de enero de 2014. Consultado el 23 de febrero de 2019 .
  4. Nathan Willis (01/07/2009). "La API de VA avanza lenta pero seguramente" . Lwn.net .
  5. "Mplayer y FFmpeg obtienen soporte para VA-API - Phoronix" . Phoronix.com . Consultado el 23 de febrero de 2019 .
  6. "vaapi" . Freedesktop.org . Consultado el 23 de febrero de 2019 .
  7. 1 2 "Aceleración de vídeo por hardware" . wiki.ArchLinux.org .
  8. Vilerino, Sil (15 de febrero de 2023). "¡La API de aceleración de vídeo (VA-API) ya está disponible en Windows!" . Blog para desarrolladores de DirectX . Consultado el 8 de marzo de 2023 .
  9. 1 2 "Hardware/vaapi" . wiki.libav.org . Archivado del original el 1 de febrero de 2017. Consultado el 20 de enero de 2017 .
  10. " [ Cliente ] 2.2.6 Lanzado – Incluye reducciones significativas en el uso de la CPU" . Bluecherrydvr.com . 2 de marzo de 2017. Consultado el 23 de febrero de 2019 .
  11. "datarhei Restreamer" .
  12. "Lanzamiento de Emby Server 3.0.6400" . Emby.media . 29 de agosto de 2016. Consultado el 23 de febrero de 2019 .
  13. "Copia archivada" . Archivado del original el 16 de septiembre de 2016. Consultado el 31 de agosto de 2016 .{{cite web}}: CS1 mantenimiento: copia archivada como título ( enlace )
  14. "Firefox en Fedora finalmente obtiene VA-API en Wayland" . mastransky.wordpress.com . 3 de junio de 2020. Consultado el 19 de agosto de 2020 .
  15. "Firefox 80 disponible con VA-API en X11, soporte para compilación de sombreadores paralelos WebGL" . www.phoronix.com . Consultado el 25 de agosto de 2020 .
  16. "Fluendo" .
  17. ^ "Los nuevos códecs de Fluendo admiten VDPAU, VA-API - Phoronix" . Phoronix.com . Consultado el 23 de febrero de 2019 .
  18. "Aceleración de hardware" .
  19. "Aceleración de vídeo por GPU H.264 VA-API para Flash - Phoronix" . Phoronix.com . Consultado el 23 de febrero de 2019 .
  20. "Decodificación, codificación y procesamiento de vídeo acelerados por hardware en gráficos Intel mediante VA-API" . Cgit.freedesktop.org . Consultado el 23 de febrero de 2019 .
  21. "Entrada de la lista de correo que describe los usos de VA-API" . Lists.moblin.org . Archivado del original el 30 de abril de 2010. Consultado el 23 de febrero de 2019 .
  22. "RealPlayer para MID e Intel/Linux FAQ" . HelixCommunity.org . Archivado del original el 24 de marzo de 2012. Consultado el 12 de mayo de 2011 .
  23. "GPU Intel" . jellyfin.org . Consultado el 2 de diciembre de 2024 .
  24. 1 2 "XBMC logra compatibilidad con Intel VA-API - Phoronix" . Phoronix.com . Consultado el 23 de febrero de 2019 .
  25. "Este fragmento contiene instrucciones para configurar FFmpeg y Libav para usar la codificación acelerada por hardware basada en VAAPI (en plataformas compatibles) para formatos de vídeo H.264 (y H.265 en hardware compatible)" . Fragmento . Consultado el 2 de diciembre de 2024 .
  26. «gbeauchesne/mplayer-vaapi» . GitHub .
  27. "Notas de la versión - 0.25 - Wiki oficial de MythTV" . Mythtv.org . Consultado el 23 de febrero de 2019 .
  28. "OBS Studio ahora admite VA-API para codificación de video - Phoronix" . www.phoronix.com . Consultado el 6 de agosto de 2020 .
  29. "Biblioteca OpenShot | libopenshot" .
  30. "VLC 1.1.0 release - VideoLAN" . Videolan.org . Consultado el 23 de febrero de 2019 .
  31. "El proyecto xine - Noticias" . Xine-project.org . Consultado el 23 de febrero de 2019 .
  32. Servicio, API de FFmpeg. "Servicio API de FFmpeg" . Servicio API de FFmpeg . Consultado el 09/02/2026 .
  • Sitio web oficial
  • Intel Media y Audio para Linux
  • decodificación de hardware móvil
  • "La API de VA avanza lentamente, pero con paso firme" : una visión general de 2009.
  • "MPlayer y FFmpeg obtienen compatibilidad con VA-API" – desde 2008