¿Qué CRF o configuraciones debo elegir para h265 para lograr una calidad similar a h264?

Estoy haciendo algunos experimentos con HEVC x265.

Tengo un metraje sin procesar y la calidad de los detalles de h264 con la misma configuración de CRF se ve mejor que h265.

¿No debería ser al contrario?

Tal vez mi configuración no sea la mejor: estoy usando ffmpeg para transcodificar y vlc para revisar los videos, luego copio el contenido de la pantalla y comparo las pantallas en un programa como Photoshop.

Los comandos FFmpeg que uso son los siguientes:

ffmpeg -i input.mp4 -c:v libx264 -crf 30 -c:a copy output_h264.mkv

y

ffmpeg -i input.mp4 -c:v libx265 -crf 30 -c:a copy output_h265.mkv

Usé 30 como CRF para fines de prueba porque los artefactos son más visibles :)

¿La pérdida de calidad podría ser causada por VLC y su soporte experimental en la descontaminación de h265? ¿Quizás algo más visible a tasas de bits más bajas?

Respuestas (1)

Las escalas CRF para x264 y x265 no se corresponden. Se supone que x265 CRF 28 es equivalente a x264 CRF 23. Pero x265 aún no está tan maduro en su desarrollo como x264, así que tome esa equivalencia de CRF con una pizca de sal.

Dicho esto, puede intentar establecer su propia calibración entre las versiones actuales de las bibliotecas de codificación en su ffmpeg ejecutando el siguiente comando, que ejecuta dos métricas de calidad de video populares:

ffmpeg -i encoded-video.mp4 -i reference-video.mp4 -lavfi "ssim;[0:v][1:v]psnr" -f null -

Las líneas finales de la salida de la consola contendrán:

[Parsed_ssim_0 @ 000000000039ad80] SSIM Y:0.984483 U:0.980458 V:0.980921 All:0.983219 (17.751712)
[Parsed_psnr_1 @ 0000000000398320] PSNR y:42.63 u:43.19 v:44.09 average:42.90 min:42.07 max:46.16

Entonces, ejecute el comando una vez con la salida x264 y una vez con x265 y compare con diferentes salidas x265, hasta que obtenga medidas similares. Por supuesto, estas métricas no son perfectas, pero puede usarlas como una guía aproximada para establecer la equivalencia.

Hmm interesante, ¿puedo preguntar por qué esta escala no corresponde? ¿Es un diseño deseado con una mayor cantidad de valores CRF o podría considerarse de esta manera porque libx265 aún no está lo suficientemente maduro en ffmpeg?
Una adición al comentario anterior. En la documentación de ffmpeg que vinculó se dice que x265 crf 28 es aproximadamente equivalente a x264 crf 23. Entonces, si generalmente el CRF de h265 es "mejor" cualitativamente hablando que los x264, ¿cómo es posible que los resultados de codificación de x265 sean peores que x264 con el mismo CRF? ¿Sigue siendo una mala decodificación de vlc + libx265 demasiado joven?
28 y 23 son los valores CRF predeterminados de x265 y x264 respectivamente, de ahí la supuesta equivalencia. La respuesta corta a la desviación del rendimiento esperado es que x265 todavía está en "desarrollo pesado". Nada que ver específicamente con libx265 incluido con ffmpeg Consulte forum.doom9.org/showthread.php?t=170986 ypression.ru/video/codec_comparison/hevc_2015/…
Ya veo, así que debido a este pesado estado de desarrollo, incluso si decido pasar de ffmpeg y libx265 a otro codificador, los resultados no cambiarán tanto, ¿verdad? ¿No hay algunos productos comerciales basados ​​en x265 hoy en día? ¡Debería estar ya casi terminado en todas sus partes!
Si observa el PDF que vinculé en el último comentario, hay muchos codificadores, la mayoría patentados. Mi observación se limita a x265 independiente o su implementación, ya sea en ffmpeg o cualquier otra cosa. Esos otros codificadores podrían ser mejores: no he estudiado ese PDF de cerca.
¿Cuál es el equivalente x265 de x264 crf 18?
Alrededor de las 21.......