De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

NVIDIA NVENC (abreviatura de NVIDIA Encoder) es una función de las tarjetas gráficas Nvidia que realiza la codificación de video , descargando esta tarea de cálculo intensivo de la CPU a una parte dedicada de la GPU . Se introdujo con la serie GeForce 600 basada en Kepler en marzo de 2012. [1] [2]

El codificador es compatible con muchos programas de grabación y transmisión en vivo, como Wirecast , Open Broadcaster Software (OBS) y Bandicam , así como con aplicaciones de edición de video, como Adobe Premiere Pro o DaVinci Resolve . También funciona con la captura de juegos Share , que se incluye en el software GeForce Experience de Nvidia. [3] [4] [5]

Las tarjetas gráficas GeForce dirigidas al consumidor no admiten oficialmente más de 3 transmisiones de video de codificación simultánea, independientemente del recuento de tarjetas instaladas, pero esta restricción se puede eludir en los sistemas Linux y Windows aplicando un parche no oficial a los controladores , que también puede desbloquear NVFBC . [6] Las tarjetas profesionales admiten entre 3 y transmisiones simultáneas sin restricciones por tarjeta, según el modelo de tarjeta y la calidad de compresión. [1]

Los chips NVIDIA también cuentan con un decodificador integrado, NVDEC (abreviatura de NVIDIA Decoder), para descargar la decodificación de video de la CPU a una parte dedicada de la GPU. [1]

Versiones [ editar ]

NVENC se ha sometido a varias revisiones de hardware desde su introducción con la primera GPU Kepler (GK104). [7]

Primera generación, Kepler GK1xx [ editar ]

La primera generación de NVENC, que es compartida por todas las GPU basadas en Kepler , admite H.264 de alto perfil (YUV420, cuadros I / P / B, CAVLC / CABAC), H.264 SVC Temporal Encode VCE y Display Encode Mode (DEM).

La documentación de NVidia indica un rendimiento máximo del codificador de 8 × en tiempo real a una resolución de 1920 × 1080 (donde la línea de base "1 ×" es igual a 30  Hz). El rendimiento real varía según el ajuste preestablecido seleccionado, los parámetros y configuraciones controlados por el usuario y las frecuencias de reloj de la GPU / memoria. La clasificación de 8 × publicada se puede lograr con el ajuste preestablecido de alto rendimiento NVENC, que sacrifica la eficiencia y la calidad de la compresión por el rendimiento del codificador. El ajuste preestablecido de alta calidad es considerablemente más lento pero produce menos artefactos de compresión .

Segunda generación, Maxwell GM107 [ editar ]

Introducido con la arquitectura Maxwell de primera generación , NVENC de segunda generación agrega soporte para el perfil HP444 de alto rendimiento (YUV4: 4: 4, codificación predictiva sin pérdidas) y aumenta el rendimiento del codificador hasta 16 × en tiempo real, lo que corresponde a aproximadamente 1080p a 480  Hz con el preajuste de alto rendimiento.

Maxwell GM108 no es compatible con el codificador de hardware NVENC.

Tercera generación, Maxwell GM20x [ editar ]

Introducido con la arquitectura Maxwell de segunda generación, NVENC de tercera generación implementa el algoritmo de compresión de video Codificación de video de alta eficiencia (también conocido como HEVC, H.265) y también aumenta el rendimiento del codificador H.264 para cubrir la resolución 4K a 60  Hz (2160p60). Sin embargo, no admite fotogramas B para la codificación HEVC (solo fotogramas I y P ). El tamaño máximo de la unidad de árbol de codificación (CU) de NVENC HEVC es 32 (el estándar HEVC permite un máximo de 64) y su tamaño mínimo de CU es 8.

La codificación HEVC también carece de Sample Adaptive Offset (SAO). Con el lanzamiento de Nvidia Video Codec SDK 7, se agregaron funciones de cuantificación adaptativa, control de velocidad anticipada, fotogramas B adaptables (solo H.264) y GOP adaptable. [11] Estas funciones dependen de los núcleos CUDA para la aceleración de hardware.

SDK 7 admite dos formas de cuantificación adaptativa; Spatial AQ (H.264 y HEVC) y Temporal AQ (solo H.264).

Las tarjetas de Nvidia para consumidores (GeForce) y algunas de sus tarjetas Quadro profesionales de gama baja están restringidas a tres trabajos de codificación simultáneos. Sus tarjetas Quadro de gama alta no tienen esta restricción.

Cuarta generación, Pascal GP10x [ editar ]

NVENC de cuarta generación implementa la codificación de hardware HEVC Main10 de 10 bits. También duplica el rendimiento de codificación de 4K H.264 y HEVC en comparación con NVENC de la generación anterior. Admite submuestreo de croma HEVC 8K, 4: 4: 4 , codificación sin pérdidas y desplazamiento adaptativo de muestra (SAO).

Nvidia Video Codec SDK 8 agregó la función de predicción ponderada exclusiva de Pascal (basada en CUDA). La predicción ponderada no es compatible si la sesión de codificación está configurada con cuadros B (H.264).

No hay soporte de B-Frame para la codificación HEVC y el tamaño máximo de CU es 32 × 32.

NVIDIA GT 1030 y Mobile Quadro P500 son chips GP108 que no son compatibles con el codificador NVENC. [8]

En los gráficos para portátiles, los gráficos NVIDIA MX no incluyen NVENC, ya que se basan en un chip GM108 de generación Maxwell o GP108 de generación Pascal. [12] La GeForce MX350 es un chip GP107 cuyo codificador NVENC se desactiva durante la fabricación.

Quinta generación, Volta GV10x / Turing TU117 [ editar ]

Volta NVENC tiene un rendimiento similar al NVENC de Pascal. [1]

No ofrece soporte para HEVC B-Frames.

Sexta generación, Turing TU10x / TU116 [ editar ]

NVENC de sexta generación implementa codificación HEVC 8K a 30 FPS, fotogramas B HEVC y fotogramas B HEVC como referencia (con soporte para cada uno de los modos intermedios [13] ) y compatibilidad con Alpha HEVC [14] y proporciona hasta un 25% de ahorro de velocidad de bits para HEVC y hasta un 15% de ahorro en tasa de bits para H.264. Sin embargo, el lanzamiento inicial de la Nvidia GeForce GTX 1650 estuvo exento de esta generación, ya que utilizó Volta NVENC en lugar de Turing. Nvidia actualizó el codificador NVENC de las tarjetas GTX 1650 en 2020 para usar también el motor Turing. [15] La GTX 1650 Super utiliza el motor Turing NVENC, ya que se basa en el TU116 en lugar del TU117 utilizado en la GTX 1650 original. [16]

Séptima generación, Ampere GA10x [ editar ]

Ampere tiene esencialmente el mismo motor de generación NVENC que Turing. [17] Solo NVDEC tiene soporte para decodificación AV1 (con grano de película).

Soporte del sistema operativo [ editar ]

El núcleo SIP de Nvidia NVENC debe ser compatible con el controlador del dispositivo . El controlador proporciona una o más interfaces (por ejemplo, OpenMAX IL ) a NVENC. Solo se puede acceder al núcleo NVENC SIP a través de la API NVENC patentada (a diferencia de la API VDPAU de código abierto ).

Se incluye con el controlador GeForce de Nvidia .

NVENC está disponible para los sistemas operativos Windows y Linux. [1] El controlador de dispositivo nouveau de código abierto y gratuito no es compatible con Nvidia NVENC. [18]

Soporte de software de aplicación [ editar ]

  • Adobe Premiere Pro agregó compatibilidad con NVENC en la versión 14.2 en mayo de 2020 [19]
  • Avidemux admite NVENC desde al menos 2016 [20]
  • Bandicut
  • Corel VideoStudio
  • DaVinci Resolve Studio al exportar video en H.264 o H.265 [21]
  • FFmpeg ha admitido NVENC desde 2014, [22] y es compatible con los controladores de Nvidia [23]
  • HandBrake agregó compatibilidad con NVENC en la versión 1.2.0 en diciembre de 2018 [24]
  • HitFilm express / pro al obtener una vista previa de video en la línea de tiempo o exportar video en H.264 o H.265 [25]
  • MacroSystem BogartSE admite la exportación de NVENC desde v9.4 (octubre de 2017) y la codificación de disco UHD desde v11.3 (octubre de 2019) [26]
  • MediaCoder
  • Software de emisora ​​abierta (OBS)
  • Shotcut
  • StaxRip
  • VideoProc
  • XMedia Recode

Rendimiento de la GPU [ editar ]

Comparación del rendimiento de codificación [27]

Ver también [ editar ]

  • Intel Quick Sync Video , núcleo SIP equivalente de Intel
  • Motor de codificación de video , el núcleo SIP equivalente de AMD hasta 2017
  • Video Core Next , el núcleo de video de AMD que combina la funcionalidad del motor de codificación de video y el decodificador de video unificado
  • Nvidia PureVideo , decodificación de video por hardware.
  • GPU NVIDIA , lista de GPU Nvidia
  • Nvidia NVDEC

Referencias [ editar ]

  1. ^ a b c d "NVIDIA VIDEO CODEC SDK" . Desarrollador NVIDIA . Nvidia . Consultado el 12 de noviembre de 2017 .
  2. ^ "Conjunto de características de Maxwell: Kepler refinado" . AnandTech . 2014-02-18.
  3. ^ "Requisitos del sistema para NVIDIA GeForce Experience | GeForce | GeForce" . www.geforce.com . Consultado el 17 de agosto de 2016 .
  4. ^ "Especificaciones técnicas Wirecast" . telestream.net . Consultado el 19 de diciembre de 2017 .
  5. ^ "Software Open Broadcaster - Índice" . obsproject.com . Archivado desde el original el 23 de marzo de 2019 . Consultado el 17 de agosto de 2016 .
  6. ^ "parche de nvidia" . GitHub .
  7. ^ "S5613 - Codificación de video de alto rendimiento con GPU NVIDIA" . Nvidia .
  8. ^ a b c d "Matriz de compatibilidad de GPU de codificación y descodificación de vídeo" . Desarrollador NVIDIA . 2016-11-09 . Consultado el 22 de agosto de 2020 .
  9. ^ a b c "NVIDIA VIDEO CODEC SDK" . Desarrollador NVIDIA . 2016-11-09 . Consultado el 22 de agosto de 2020 .
  10. ^ "Arquitectura de NVIDIA Ampere en profundidad" . Blog para desarrolladores de NVIDIA . 2020-05-14 . Consultado el 31 de agosto de 2020 .
  11. ^ http://on-demand.gputechconf.com/gtc/2016/presentation/s6226-abhijit-patait-high-performance-video.pdf
  12. ^ [NVIDIA GeForce MX250 y MX230 - dos gráficos "nuevos" para portátiles: https://newsbeezer.com/polandeng/nvidia-geforce-mx250-and-mx230-two-new-graphics-for-laptops/ ]
  13. ^ "El indicador del modo de referencia B-Frame en ffmpeg nvenc tiene errores y no funciona. · Problema # 2374 · obsproject / obs-studio" . GitHub . Consultado el 24 de marzo de 2021 .
  14. Harrison, John (30 de enero de 2021), johnhe4 / nvenc_h265_transparency , consultado el 24 de marzo de 2021
  15. ^ "Tarjeta gráfica NVIDIA GeForce GTX 1650" . NVIDIA . Consultado el 24 de marzo de 2021 .
  16. Walton, Jarred (23 de noviembre de 2019). "Revisión de Nvidia GeForce GTX 1650 Super" . Jugador de PC . Consultado el 24 de marzo de 2021 .
  17. ^ https://www.nvidia.com/content/dam/en-zz/Solutions/geforce/ampere/pdf/NVIDIA-ampere-GA102-GPU-Architecture-Whitepaper-V1.pdf
  18. ^ "Matriz de características de Nouveau" . Freedesktop.org .
  19. Tack, Stanley (19 de mayo de 2020). "Corte al video: Adobe Premiere Pro ayuda a los creadores de contenido a trabajar más rápido con exportaciones aceleradas por GPU | Blog de NVIDIA" . El blog oficial de NVIDIA . Consultado el 24 de marzo de 2021 .
  20. ^ Registro de cambios de AVIDemux
  21. ^ "Foro de Blackmagic • Ver tema - Davinci studio 16, NVENC no disponible" . forum.blackmagicdesign.com . Consultado el 24 de marzo de 2021 .
  22. ^ "codificación de hardware nvenc.c H.264 usando nvidia nvenc" .
  23. ^ "QUADRO DESKTOP / QUADRO NOTEBOOK DRIVER RELEASE 375" .
  24. ^ Lanzamiento de HandBrake 1.2.0
  25. ^ Publicación en el foro de un miembro del personal que dice que hay un problema con la forma en que el software interactúa con el codificador, pero al mismo tiempo dice que existe.
  26. ^ Información de MacroSystem Arabesk 8 de Casablanca Expert
  27. ^ "Recursos de NVIDIA vGPU para diseño y visualización" . NVIDIA . Consultado el 24 de marzo de 2021 .

Enlaces externos [ editar ]

  • SDK DE CODEC DE VIDEO DE NVIDIA
  • Matriz de soporte de NVENC