¿Cómo es que la codificación H.265 de FFmpeg es mucho más eficiente que la de Adobe?

¿Cómo es que la codificación H.265 de FFmpeg es mucho más eficiente que la de Adobe?

Tengo un archivo de vídeo de 1080p de treinta segundos que se renderizó desde Premiere Pro/Media Encoder (tasa de bits objetivo 10) y está codificado en H.265. Tiene 36,6 MB. Cuando ejecuto el comando

ffmpeg -i input -c:v libx265 -c:a copy output.mp4

el nuevo archivo sólo tiene 5,04 MB. mediainforevela que el nuevo archivo tiene una tasa de bits de sólo 1164 kb/s. Aunque uno es mucho más pequeño que el otro, ambos vídeos parecen idénticos (ambos tienen una puntuación VMAF superior a 97 en comparación con la versión sin comprimir).

¿ libx265Elige inteligentemente la tasa de bits y, por lo tanto, hace que el tamaño del video sea mucho más pequeño?

Respuesta1

voluntadhan perdido datos al volver a codificar independientemente de la "calidad" perceptiva. De ahí viene la reducción de tamaño. Se perderán o aproximarán detalles menores o imperceptibles utilizando algoritmos del compresor.

Sin embargo, la principal diferencia estará en el hecho de que Adobe y ffmpegtienen diferentes configuraciones predeterminadas de calidad y ancho de banda. Esa "puntaje VMAF" parece similar solo le dice que un humano probablemente no verá la diferencia, ni siquiera la cantidad de datos que se han perdido.

ffmpegdecodificará fotogramas y los recodificará utilizando cualquiera que sea su configuración predeterminada. Lo más probable es que los impagos sean agresivos y, segúnhttps://trac.ffmpeg.org/wiki/Encode/H.265por defecto tendrá el mediumperfil de calidad.

El valor predeterminado es medio. El ajuste preestablecido determina la eficiencia de la compresión y, por lo tanto, afecta la velocidad de codificación. Los ajustes preestablecidos válidos son ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslowy placebo. Utilice el ajuste preestablecido más lento para el que tenga paciencia. Ignore placebo, ya que proporciona retornos insignificantes para un aumento significativo en el tiempo de codificación.

Las configuraciones de compresión más lentas preservarán más fielmente la verdadera calidad original a costa de tamaños de archivo y tiempos de compresión más altos.

ffmpegtambién tiene por defecto un CRF de 28, que será una compresión relativa bastante alta

Elija un CRF. CRF afecta la calidad. El valor predeterminado es 28 y debería corresponder visualmente al vídeo libx264 en CRF 23.

Incluso es posible que ffmpegtenga algunas funciones de compresión más avanzadas habilitadas de forma predeterminada. Adobe puede evitar algunas funciones de aproximación de codificación en favor de tasas de bits más altas para reducir el tiempo de renderizado o preservar la calidad u otras funciones. Es difícil saberlo sin saber exactamente qué configuraciones están en uso.

Si desea tener una comparación justa entre Adobe y ffmpeglos resultados, entonces debe renderizar en un formato sin comprimir, averiguar exactamente qué configuración está usando Adobe y luego comprimirla.sin comprimirarchivo en ambos.

Recomprimir un archivo ya comprimido (decodificar y recodificar) dará como resultadopérdida de generaciónlo cual, si bien puede no parecer significativo en una sola pasada, perderá datos y calidad. Después de varias pasadas la pérdidavoluntadser significativo.

Respuesta2

VMAFno es una buena métrica en absoluto para codificaciones de muy alta calidad. Incluso comparar contenido matemáticamente idéntico a veces puede dar puntuaciones de vmaf tan bajas como alrededor de 97,4, mientras que ni siquiera vmaf 100 garantiza transparencia visual.

Lo que significa que las puntuaciones VMAF no dicen casi nada sobre la calidad de estas codificaciones específicas.

En ese momento, la mejor métrica visual adecuada para videos casi transparentes sería una métrica de imágenes fijas comoButterauglio SSIMULACRA.

información relacionada