.
NVIDIA afirma tener un mejor codificador AV1 que AMD e Intel
. Esto da como resultado una mejor calidad general. Si no necesita lograr un tamaño de archivo de destino fijo, este debería ser su método de elección.
Guía de codificación de video AV1
AV1 es un código de video de código abierto y regalías desarrollado por la Alianza para Open Media (Aomedia), un consorcio de la industria sin fines de lucro. ..
. Esta guía actualmente se centra en Libaom y SVT-AV1.
Libaom (Libaom-Av1) es el codificador de referencia para el formato AV1. . Libaom se basa en libvpx y, por lo tanto, comparte muchas de sus características en términos de características, rendimiento y uso.
Para instalar FFMPEG con soporte para Libaom-AV1, mire las guías de compilación y compile FFMPEG con la opción –enable-liberom.
Libaom ofrece los siguientes modos de control de tasa que determinan la calidad y el tamaño del archivo obtenidos:
- Calidad constante
- Calidad limitada
- Tasa de bits de 1 paso
Para una lista de opciones, ejecute ffmpeg -h encoder = libaom -av1 o verifique la documentación en línea de FFMPEG. Para las opciones que se pueden aprobar a través de -aom -params, se recomienda verificar la salida de -help de la aplicación AOMENC, ya que actualmente no existe una referencia oficial en línea para ellos.
Nota: Usuarios de Libaom más antiguo que la versión 2.0.0 necesitará agregar -stricto experimental (o el alias -strict -2).
Calidad constante
Libaom-AV1 tiene un modo de calidad constante (CQ) (como CRF en X264 y X265), lo que garantizará que cada cuadro obtenga el número de bits que merece lograr un cierto nivel de calidad (perceptual), en lugar de codificar cada cuadro para cumplir con un objetivo de velocidad de bits. Esto da como resultado una mejor calidad general. Si no necesita lograr un tamaño de archivo de destino fijo, este debería ser su método de elección.
Para activar este modo, simplemente use el interruptor -CRF junto con el valor numérico deseado.
ffmpeg -i entrada.mp4 -c: v libaom -av1 -crf 30 av1_test.MKV
El valor de CRF puede ser de 0 a 63. Los valores más bajos significan una mejor calidad y un mayor tamaño del archivo. 0 significa sin pérdidas. .
Tenga en cuenta que en las versiones FFMPEG antes de las 4.3, activar el modo CRF también requiere configurar la tasa de bits en 0 con -b: v 0 . Si esto no se hace, el conmutador -CRF desencadena el modo de calidad restringido con una tasa de bits predeterminada de 256 kbps.
Calidad limitada
Libaom-AV1 también tiene un modo de calidad restringida (CQ) que garantizará que se alcance una calidad constante (perceptual) mientras mantiene la tasa de bits por debajo de un límite superior especificado o dentro de un límite cierto. Este método es útil para videos de codificación masiva de una manera generalmente consistente.
.MP4 -C: V LibAom -Av1 -Crf 30 -B: V 2000K Salida.MKV
La calidad está determinada por el -CRF y el límite de tasa de bits por el -b: V donde la tasa de bits DEBE ser distinto de cero.
También puede especificar una tasa de bits mínima y máxima en lugar de un objetivo de calidad:
ffmpeg -i entrada.MP4 -C: V Libaom -Av1 -Minrate 500K -B: V 2000K -MaxRate 2500K Salida.
Nota: Cuando se mux en MP4, es posible que desee agregar -MovFlags +FastStart a los parámetros de salida si el uso previsto para el archivo resultante está transmitiendo.
De dos pasos
. La codificación de dos pasos también es beneficiosa para la eficiencia de codificación cuando se usa la calidad constante sin una tasa de bits objetivo. Para dos pasos, debe ejecutar FFMPEG dos veces, con casi la misma configuración, excepto:
- En el pase 1 y 2, use las opciones -pass 1 y -pass 2, respectivamente.
- En el pase 1, salga a un descriptor de archivo nulo, no un archivo real. (Esto generará un archivo de registro que FFMPEG necesita para el segundo pase.)
- En el pase 1, puede dejar el audio fuera especificando -an .
ffmpeg -i entrada.mp4 -c: v libaom -av1 -b: v 2m -pass 1 -an -f null /dev /null && \ ffmpeg -i entrada.mp4 -c: v libaom -av1 -b: v 2m -pass 2 -c: una salida de libopus.MKV
Nota: Los usuarios de Windows deben usar NUL en lugar de /dev /null y ^ en lugar de \ .
Tasa de bits promedio (ABR)
Libaom-AV1 también ofrece un simple modo de “tasa de bits promedio” o “tasa de bits de destino”. En este modo, simplemente intentará alcanzar la velocidad de bits especificada en promedio, e.gramo. .
.mp4 -c: v libaom -av1 -b: v 2m salida.
Use esta opción solo si el tamaño del archivo y El tiempo de codificación son factores más importantes que la calidad solo. De lo contrario, use uno de los otros métodos de control de tarifas descritos anteriormente.
-. El valor predeterminado es 1. Los valores más bajos significan una codificación más lenta con mejor calidad y viceversa. Los valores válidos son de 0 a 8 inclusive.
-Row-MT 1 habilita la fila múltiple basada en la fila que maximiza el uso de la CPU. Para habilitar un rendimiento de decodificación rápido, también agregue mosaicos (i.. -Azulejos 4×1 o -tiles 2×2 para 4 azulejos). Habilitar Row-MT es solo más rápido cuando la CPU tiene más hilos que el número de mosaicos codificados.
-El uso real activa el modo en tiempo real, destinado a casos de uso de codificación en vivo (transmisión en vivo, videoconferencia, etc.). -Los valores utilizados en CPU entre 7-10 solo están disponibles en el modo en tiempo real (aunque debido a un error en FFMPEG, los preajustes superiores a 8 no se pueden usar a través de FFMPEG).
Colocación de plazos
Por defecto, el intervalo máximo de fotograma clave de Libaom es 9999 cuadros. Esto puede conducir a una búsqueda lenta, especialmente con contenido que tiene pocos cambios en la escena.
La opción -g se puede usar para establecer el intervalo de fotograma de teclas máximo. Cualquier cosa de hasta 10 segundos se considera razonable para la mayoría del contenido, por lo que para el contenido de 30 cuadros por segundo se usaría -g 300, para contenido de 60 fps -g 600, etc.
. Tenga en cuenta que actualmente -keyInt_min se ignora a menos que sea lo mismo que -g, por lo que el intervalo mínimo de fotograma clave no se puede establecer por sí solo.
Para la salida interna, use -g 0 .
HDR y alta profundidad
Al codificar en HDR es necesario pasar la información de color; -colorspace, -color_trc y -color_primies .
-ColorSpace BT2020NC -COLOR_TRC SMPTE2084 -Color_primies BT2020
AV1 incluye soporte de 10 bits en su perfil principal. Por lo tanto, el contenido se puede codificar en 10 bits sin tener que preocuparse por los decodificadores de hardware incompatibles.
Para utilizar de 10 bits en el perfil principal, use -pix_fmt yuv420p10le . Para un submuestreo de croma de 10 bits 4: 4: 4 (requiere el alto perfil), use -pix_fmt yuv444p10le . También es compatible con 12 bits, pero requiere el perfil profesional. Ver ffmpeg -help coder = libaom -av1 para los formatos de píxeles compatibles.
Codificación sin pérdidas
Usar -CRF 0 para la codificación sin pérdidas. Debido a un error presente en las versiones FFMPEG antes de las 4.4, el primer cuadro no se conservará sin pérdida (el problema se solucionó el 21 de marzo de 2021). Como una solución al pre-4.4 versiones se pueden usar -aom -params sin pérdida = 1 para salida sin pérdidas.
SVT-AV1
SVT-AV1 (libsvtav1) es un codificador desarrollado originalmente por Intel en colaboración con Netflix. En 2020, Aomedia adoptó SVT-AV1 como base para el desarrollo futuro de AV1, así como los esfuerzos de códec futuros. El codificador admite una amplia gama de compensaciones y escalas de eficiencia de velocidad bastante bien en muchos núcleos de CPU.
Para habilitar el soporte, FFMPEG debe construirse con –enable-libsvtav1 . Para las opciones disponibles en su compilación específica de FFMPEG, consulte FFMPEG -Help Encoder = LibsvTav1 . Consulte también la documentación de FFMPEG, la Guía del usuario del codificador ascendente y la lista de todos los parámetros.
Se pasan muchas opciones al codificador con -svtav1 -params . .9..1.
CRF es el método de control de velocidad predeterminado, pero VBR y CBR también están disponibles.
CRF
Al igual que CRF en X264 y X265, este método de control de velocidad intenta garantizar que cada cuadro obtenga el número de bits que merece para lograr un cierto nivel de calidad (perceptual).
ffmpeg -i entrada.mp4 -c: v libsvtav1 -crf 35 svtav1_test.mp4
Tenga en cuenta que la opción -CRF solo es compatible en FFMPEG GIT se construye desde 2022-02-24. .
El rango de valor de CRF válido es 0-63, siendo el valor predeterminado 50. . La codificación sin pérdidas actualmente no es compatible.
Preajustes y melodías
La compensación entre la velocidad de codificación y la eficiencia de compresión se gestiona con la opción de presentación. Desde SVT-AV1 0.9..
Tenga en cuenta que Preset 13 solo está destinado a depurar y ejecutar una codificación rápida de casco convexo. En versiones antes de 0.9.0, los presets válidos son de 0 a 8.
Como ejemplo, este comando codifica un video usando el preajuste 8 y un CRF de 35 mientras copia el audio:
.mp4 -c: una copia -c: v libsvtav1 -preset 8 -crf 35 svtav1_test.mp4
Desde SVT-AV1 0..1, el codificador también admite el ajuste para la calidad visual (nitidez). Esto se invoca con -svtav1 -params tune = 0 . El valor predeterminado es 1, que sintoniza el codificador para PSNR.
También compatible desde 0..1 está ajustando el codificador para producir bitsreams que son más rápidos (menos intensivos en CPU) para decodificar, similar a la melodía de FastDecode en X264 y X265. Desde SVT-AV1 1.0.0, esta característica se invoca con -SVTAV1-Params Fast-Decode = 1 .
..1, la opción acepta un número entero de 1 a 3, con números más altos que dan como resultado un video más fácil de decodificar. En 0.9.1, el ajuste del decodificador solo es compatible con presets de 5 a 10, y el nivel de ajuste del decodificador varía entre los preajustes.
Colocación de plazos
Por defecto, el intervalo de fotograma clave de SVT-AV1 es de 2-3 segundos, lo que es bastante corto para la mayoría de los casos de uso. .
Tenga en cuenta que a partir de la versión 1.2.1, SVT-AV1 no admite insertar fotogramas clave en los cambios de escena. . En SVT-AV1 0.9.1 y previo, la funcionalidad estaba presente pero se consideraba en un estado subóptimo y se deshabilitó de forma predeterminada.
Síntesis de grano de película
. El grano se retira de la imagen con Denoising, su aspecto se aproxima y se sintetiza, y luego se agrega en la parte superior del video a tiempo de decodificación como filtro.
La función de síntesis de grano de película se invoca con -svtav1-params film-grin = x, donde x es un entero de 1 a 50. .
El proceso de denominación de grano también puede eliminar los detalles, especialmente en los valores altos que se requieren para preservar el aspecto de películas muy granuladas. Esto se puede mitigar con la opción Film-Grain-Denoise = 0, aprobada a través de SVTAV1-Params . Mientras que de manera predeterminada, los marcos denocados se transfieren para ser codificados como las imágenes finales (Film-Grain-Denoise = 1), apagar esto conducirá a los marcos originales que se utilizarán en su lugar.
rav1e
LibraV1e es el codificador XIPH para AV1. Compilar con –enable-librav1e . Ver FFMPEG Doc y opciones de CLI ascendentes.
Rav1e afirma ser el codificador AV1 de software más rápido, pero eso realmente depende de la configuración.
AMD AMF AV1
El marco de medios avanzado (AMF) proporciona a los desarrolladores un acceso óptimo a la GPU AMD para el procesamiento multimedia. El codificador AMD AMF AV1 es un codificador de video profesional que proporciona potentes capacidades de codificación de video y una amplia gama de opciones de personalización. . Los usuarios pueden ajustar la configuración de los parámetros del codificador para cumplir con diferentes requisitos de codificación, como resolución, velocidad de bits, velocidad de cuadro, calidad de codificación y más. Estas configuraciones de parámetros se pueden personalizar en función de las necesidades de los usuarios para cumplir con diferentes escenarios de codificación de video y requisitos de dispositivo.
Uso
. AMD ha integrado varios escenarios de usuarios típicos en el codificador de AMF. Los usuarios pueden usar estos preajustes configurando el parámetro de “uso”. El parámetro de uso admite escenarios de aplicación típicos, que incluyen:
- .
- Baja baja: para transmisión de video aplicaciones en vivo, se requiere una menor latencia y una calidad de video más alta.
Para cada uso, AMF ha optimizado y preestablecido los parámetros del codificador basados en el escenario correspondiente. Estas optimizaciones de parámetros y preajuste cubren la mayoría de los parámetros, incluidos, entre otros,:
- Tamaño y estructura del Partido Republicano
- Modo de control de tarifas y estrategia
- Método de estimación de movimiento y precisión
- Restricciones de tasa de bits y resolución
Al usar estos preajustes, los usuarios pueden seleccionar de manera fácil y eficiente la configuración de codificación apropiada para su escenario de uso específico sin la necesidad de un conocimiento profundo de los parámetros del codificador y su impacto en la calidad del video y el rendimiento. El escenario de uso para la transcodificación
..mp4
El escenario de uso para la baja laticidad
ffmpeg -s 1920x1080 -pix_fmt yuv420p -i entrada.YUV -C: V AV1_AMF -Salida de baja latitud.mp4
Este parámetro se utiliza para seleccionar entre la calidad del video y la velocidad. Este parámetro tiene un impacto significativo en la velocidad de codificación.
- .
- .
- Velocidad: este preajuste prioriza la velocidad sobre la calidad, por lo que es adecuada para aplicaciones que requieren una codificación de video en tiempo real con baja latencia, como los juegos en línea y las aplicaciones de escritorio remotas.
.MP4 -C: V AV1_AMF -Salida equilibrada de calidad..MP4 -C: V1_AMF -salida de calidad de calidad.mp4 ffmpeg -i entrada..mp4
. . . Debe usarse selectivamente y con una cuidadosa consideración de las características específicas del contenido de video que se está codificando.
ffmpeg -i entrada..
VBAQ es una técnica utilizada para mejorar la calidad visual del video codificado. . Es particularmente efectivo para codificar videos con contenido visual complejo, como escenas de alta salida o alta detonación. ffmpeg -i entrada.MP4 -C: V AV1_AMF -VBAQ Salida verdadera.
Alinear
. Se espera que la información de cultivo adecuada se presente en el contenedor. El codificador AMF AV1 introduce el parámetro “alinearse” para abordar el requisito de alineación de hardware de modo que el bitstream codificado pueda decodarse y presentarse correctamente. Valores para configurar “alinearse”:
- 64×16: Los videos de entrada cuya resolución está alineada con 64×16 se codificarán; Los videos de entrada cuya resolución no está alineada con 64×16 no se codificarán; Todos los demás videos de resolución no serán compatibles.
- 1080p: Se codificarán los videos de entrada cuya resolución está alineada con 64×16, así como en el video 1920×1080; Todos los demás videos de resolución no serán compatibles. . Dos líneas adicionales están acolchadas en la parte inferior del marco, llenas de píxeles negros.
- Ninguno: Se pueden codificar videos con cualquier resolución. Sin embargo, para aquellos videos cuya resolución no está alineada con 64×16, su resolución de salida se extrapolará para estar alineada y acolchada con píxeles negros. .
ffmpeg -i entrada.MP4 -C: V AV1_AMF -Align 1080p Salida.mp4
Colocación de plazos
Por defecto, el intervalo de fotograma clave de AMF AV1 es de 250 cuadros, que es un valor equilibrado para la mayoría de los casos de uso. . . Un marco clave de 2 segundos se usa ampliamente como una configuración común para este propósito. Entonces, para el contenido con una velocidad de cuadro de 30 cuadros por segundo, uno usaría el comando “-g 60”.
ffmpeg -i entrada..
Recursos adicionales
- Documentación de parámetros SVT-AV1
- Guía FFMPEG de SVT-AV1
- SVT-AV1: preguntas y temas comunes de interés
- Guía del usuario de SVT-AV1
- Rastreador de emisión de SVT-AV1
- Rastreador de problemas de Libaom
- Rastreador de problemas rav1e
Nvidia dice que su codificador AV1 es mejor que el de AMD e Intel
Ayer la versión estable de OBS Studio 29.1 fue lanzado. Al igual que los betas, esta versión admite la codificación AV1 para la transmisión de YouTube. Nvidia aprovechó esta oportunidad para discutir su superioridad en la codificación AV1 en comparación con los competidores.
El AV1 es un códec de código abierto de Alliance for Open Media. En más de dos años, este códec de video se ha convertido en una verdadera alternativa a H264 y H265/HEVC que no son de código abierto. El formato libre de regalías será un factor importante para hacer de AV1 el futuro de la transmisión de video, y todas las principales marcas de GPU ahora están a bordo y desarrollan activamente GPU con soporte para este formato de video.
. .
Diseñado para apoyar los rigores de los creadores de contenido profesional, NVENC preserva la calidad del video con una mayor precisión que los codificadores competitivos. .
– nvidia
NVIDIA ha lanzado una comparación de video con AMD RX 7900 XTX, ARC A770 y sus GPU RTX 4080 en AV1 4K y 12 Mbps de comparación de codificación. La compañía afirma que su codificador produce imágenes de mayor calidad con la misma tasa de bits:
Comparación de la codificación AV1 4K, Fuente: NVIDIA
Las GPU NVIDIA RTX 40 se basan en el codificador NVENC de octava generación, que permite la codificación de hasta 8K60 (FPS) dividiendo los cuadros en carriles horizontales en algunos GPU. En 4K, puede proporcionar una calidad de video similar a 10 Mbps en comparación con H..
.. El proyecto está patrocinado por NVIDIA y AMD.
¿Cuál es el códec AV1, qué tarjetas gráficas lo admiten y por qué importa?
La industria tecnológica ha estado llena de charla sobre la codificación AV1 recientemente. Hay afirmaciones audaces sobre cómo revolucionará la transmisión de videos, la transmisión de juegos e Internet en general, pero lo que es AV1 y por qué es tan importante?
Ventajas del códec AV1
AV1 es un códec de video (relativamente) nuevo diseñado para transmisiones de video. Ofrece ventajas significativas sobre el AVC (H.264) y HEVC (H.265) Los códecs más comúnmente en uso actualmente. Para empezar, AV1 está libre de regalías y de código abierto, a diferencia de estas otras opciones, ya que proviene de la Alianza para los Medios Open (Aomedia) que se formó en 2015 con el propósito explícito de crear una alternativa abierta. Aomedia tiene siete miembros fundadores: Amazon, Cisco, Intel, Microsoft, Mozilla y Netflix, a los que se han unido docenas de otros miembros como Google y Apple en el camino.
. . VP9 ha obtenido una adopción razonable que incluye soporte de codificación de hardware en muchas plataformas, pero en última instancia se considera que a menudo es menos eficiente que H.265 con rendimiento similar. AV1 tarifas mucho mejor.
?
AV1 utiliza “transformaciones de frecuencia basadas en bloques” para codificar como muchos otros formatos. En efecto, estos métodos dividen un marco en pequeños “bloques” de grupos de píxeles, luego realizan algunas matemáticas relacionadas con la transformación de Fourier para almacenar los datos de una manera que se puede reconstruir aceptablemente, sin los montones de datos necesarios para describir cada bit de cada píxel. .
En el caso de AV1, utiliza los llamados superbloques de 128×128 o 64×64 píxeles que se pueden subdividir en bloques más pequeños tan pequeños como 4×4 píxeles. . Todo esto da como resultado una transmisión de video que requiere menos tasa de bits (y, por lo tanto, ancho de banda) para un objetivo de calidad de imagen determinado, o una imagen más atractiva en la misma tasa de bits en comparación con otros códecs.
Las ganancias de eficiencia media AV1 pueden admitir más funciones. . Aunque todavía no hay mucha demanda, el códec es incluso adecuado para contenido de 8k cuando llega el momento. También se puede usar para video de 360 grados con demandas de datos similares altas.
. .. .
. Estos circuitos especializados son significativamente más eficientes de lo que el software puede lograr. Como la mayoría de los códecs, la decodificación de hardware se ha implementado más ampliamente. El creciente soporte para la decodificación permite que las plataformas grandes como YouTube aprovechen el códec AV1 para reducir las demandas de ancho de banda. Suponemos que esto se extenderá a las plataformas enfocadas en vivo como Twitch, una vez que los codificadores dedicados están en manos de más creadores de contenido.
AV1 Decode ya está aquí, pero codificar es el nuevo truco
La decodificación AV1 es compatible con el hardware en las GPU AMD RDNA 2 (fuera de las GPU de la serie 30 y 40 basadas en el Navi 24, junto con las GPU de la serie Nvidia GeForce, las series 30 y 40, las GPU Intel XE y ARC, junto con chips móviles como el Samsung Exynos 2100 y 2200, Varios Soc de Dimensidad Mediatek y el procesador de tensor de Google. . .
Con ese fin, los principales jugadores de silicio ahora también claman para admitir la codificación AV1 para admitir la creación de contenido. . . Siguiendo la suite, las nuevas GPU de la serie 40 de la serie 40 de NVIDIA también traen GPU AV1 codificando el músculo, que esperamos probar muy pronto. Solo podemos asumir que las GPU de RDNA3 anunciadas de AMD no se dejarán fuera de la fiesta, tampoco se quedará fuera de la fiesta.
El futuro parece brillante para el códec AV1. Además del creciente soporte de hardware para el códec para beneficiar las transmisiones de video, el códec utiliza una técnica de codificación de capas llamada Codificación de video escalable (SVC), lo que lo hace particularmente adecuado para la videoconferencia. Un problema común, particularmente en las llamadas de conferencia más pobladas, es que la calidad de la conexión difiere de un usuario al siguiente.
SVC efectivamente permite extraer codificaciones de tasa de bits más bajas de la fuente de tasa de bits alta al tiempo que reduce la redundancia de las transmisiones paralelas de transmisión de calidad variable. Las corrientes de tasa de bits inferior no solo pueden tomar la forma de una resolución reducida, sino que también puede eliminar los marcos para reducir la velocidad de cuadros para reducir el ancho de banda también. No es el único códec para usar esta técnica, pero es una consideración muy importante, sin embargo.
AV1 es muy prometedor, como lo hacen muchos avances tecnológicos. . Depende de los creadores de contenido y las plataformas de entrega para aprovechar la tecnología, mientras que pronto cualquier persona con un dispositivo razonablemente moderno podrá obtener los beneficios de una calidad de imagen mejorada y un menor uso de datos.