¿Qué CRF o configuración debo elegir para h265 para lograr una calidad similar de h264?


8

Estoy haciendo algunos experimentos con HEVC x265.

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

¿No debería ser lo 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 de 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 propósitos de prueba porque los artefactos son más visibles :)

¿Podría la pérdida de calidad 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:


7

Las escalas CRF para x264 y x265 no 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 populares de calidad de video:

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 obtener 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 todavía no es lo suficientemente maduro en ffmpeg?
user3450548

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 vlc mala decodificación + libx265 demasiado joven?
user3450548

28 y 23 son los valores por defecto de CRF 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 Vea forum.doom9.org/showthread.php?t=170986 y compress.ru/video/codec_comparison/hevc_2015/…
Gyan

Ya veo, así que debido a este estado de desarrollo pesado, 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 haber sido casi completado en todas sus partes!
user3450548

Si mira 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 despliegue, ya sea en ffmpeg o cualquier otra cosa. Esos otros codificadores podrían ser mejores, no he estudiado ese PDF de cerca.
Gyan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.