Reglages x264 cli (qualite au bon prix)

Modérateur : Modérateurs

Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 13:09
Contact :

Reglages x264 cli (qualite au bon prix)

Message par leon1789 » mar. 09 sept., 2014 15:56

Bonjour à tous

voici le paramétrage perso de x64

Code : Tout sélectionner

x264.exe  --keyint 500 --qpstep 4 --me dia --subme 8 --merange 12 --rc-lookahead 30 --partitions i8x8,p8x8,b8x8 --psy-rd 0.7:0.15 --ref 4 --trellis 1 --b-adapt 2 --bframe 5 --b-bias 0 --deblock -1:-1 --deadzone-inter 21 --deadzone-intra 0 --qcomp 0.60 --aq-strength 0.90 --ipratio 1.40 --chroma-qp-offset 4 --no-dct-decimate --no-mixed-refs --no-chroma-me
Evidemment, on peut avoir un meilleur encodage (un poil meilleur qu'avec le preset VerySlow !) avec ceci :

Code : Tout sélectionner

x264.exe --keyint 300 --qpstep 4 --me umh --subme 10 --merange 32 --rc-lookahead 80 --partitions i8x8,p8x8,b8x8 --psy-rd 1:0 --ref 9 --trellis 2 --b-adapt 2 --bframe 8 --b-bias 0 --deblock 0:-1 --deadzone-inter 11 --deadzone-intra 0 --qcomp 0.62 --aq-strength 0.95 --ipratio 1.4 --chroma-qp-offset 0 --no-dct-decimate --direct spatial --nr 30                                                                                
Au niveau de l'image, ces deux configurations (et celle du preset VerySlow) sont de même netteté, même niveau de blocking, même niveau de bruit, même niveau compression...
Mais alors, où se fait la différence en terme de qualité d'encodage entre les deux configurations ci-dessus ? C'est dans le respect des couleurs par rapport à la source : la seconde configuration respecte davantage. Personnellement, avec mes yeux, je ne vois pas de différence, mais un logiciel d'analyse la voit...

Seulement, la seconde configuration est 4 fois plus lente que la première. Le preset VerySlow, pas meilleur en terme d'encodage, est encore plus lent que la seconde configuration...
Modifié en dernier par leon1789 le mar. 18 août, 2015 10:23, modifié 18 fois.
Avatar du membre
Subbat
Administrateur
Administrateur
Messages : 8754
Enregistré le : jeu. 11 déc., 2008 20:12
Localisation : Quelque part... dans le centre de la France...

Message par Subbat » mar. 09 sept., 2014 16:02

Salut leon... sauf que pour l'instant on voit rien... tes balises img sont pas bonnes...
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 13:09
Contact :

Message par leon1789 » mar. 09 sept., 2014 16:04

Ben oui, je me suis trompé de bouton : j'ai cliqué sur Envoyer au lieu de Prévisualisation ! :hop:

Du coup, il faut encore attendre... j'ai pas fini... :whi:
Avatar du membre
Subbat
Administrateur
Administrateur
Messages : 8754
Enregistré le : jeu. 11 déc., 2008 20:12
Localisation : Quelque part... dans le centre de la France...

Message par Subbat » mar. 09 sept., 2014 16:12

Ah ok... :ange:

Sur la 1ère série d'image... j'ai franchement beaucoup de mal à voir la différence entre les 4 dernières images... entre la source et les autres oui... mais pour le reste... je ne dois pas avoir des yeux suffisamment expert...
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 13:09
Contact :

Message par leon1789 » mar. 09 sept., 2014 16:39

Cela dépend des yeux, mais aussi des écrans : il faut éventuellement mettre la lumière à fond et zoomer. La différence se fait sur les détails, parfois sur la lumière, les blocs..

Bon, voici mes classements avec une attribution de 1 à 4 pts (il y a évidemment une part de subjectivité) :

#64
script1 : 2 pts
script2 : 3 pts
script3 : 4 pts
script4 : 1 pt

#606
script1 : 3 pts
script2 : 2 pts
script3 : 4 pts
script4 : 1 pt

#1326
script1 : 4 pts
script2 : 3 pts (problème de couleur)
script3 : 2 pts (problème de couleur)
script4 : 1 pt

#1472
script1 : 3 pts
script2 : 2 pts
script3 : 4 pts
script4 : 1 pt

#1610
script1 : 2 pts
script2 : 3 pts
script3 : 4 pts
script4 : 1 pt

#1831
script1 : 3 pts
script2 : 4 pts
script3 : 2 pts
script4 : 1 pt

#2068
script1 : 3 pts
script2 : 2 pts
script3 : 4 pts
script4 : 1 pt
Modifié en dernier par leon1789 le mer. 10 sept., 2014 16:13, modifié 1 fois.
Avatar du membre
Subbat
Administrateur
Administrateur
Messages : 8754
Enregistré le : jeu. 11 déc., 2008 20:12
Localisation : Quelque part... dans le centre de la France...

Message par Subbat » mar. 09 sept., 2014 19:10

leon1789 a écrit :Cela dépend des yeux, mais aussi des écrans : il faut éventuellement mettre la lumière à fond et zoomer. La différence se fait sur les détails, parfois sur la lumière, les blocs..

Effectivement, sur l'écran de mon domicile (Dell), c'est nettement plus facile à comparer...

Bon, voici mes classements avec une attribution de 1 à 4 pts (il y a évidemment une part de subjectivité) :

#64
script1 : 2 pts
script2 : 3 pts
script3 : 4 pts
script4 : 1 pt

Subbat : Idem pour moi pour cette image #64


#606
script1 : 3 pts
script2 : 2 pts
script3 : 4 pts
script4 : 1 pt

Subbat : Idem là aussi pour moi sur cette image #606


#1326
script1 : 2 pts
script2 : 4 pts
script3 : 3 pts (problème de couleur)
script4 : 1 pt

Subbat : #1326 Là pas tout à fait d'accord, pour le script 1 et 4 Ok, mais je trouve que c'est sur le script 2 qu'il y a un problème de couleur plus important que sur le 3... Sur le script 2, l'extrémité du rocher au 1er plan est mauve...

#1472
script1 : 3 pts
script2 : 2 pts
script3 : 4 pts
script4 : 1 pt

Subbat : Idem là aussi pour moi sur cette image #1472


#1610
script1 : 2 pts
script2 : 3 pts
script3 : 4 pts
script4 : 1 pt

#1831
script1 : 3 pts
script2 : 4 pts
script3 : 2 pts
script4 : 1 pt

#2068
script1 : 3 pts
script2 : 2 pts
script3 : 4 pts
script4 : 1 pt

Si je trouve le temps, j'éditerais mon post pour les séries suivantes...
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 13:09
Contact :

Message par leon1789 » mer. 10 sept., 2014 16:11

Subbat a écrit : Subbat : #1326 (...) je trouve que c'est sur le script 2 qu'il y a un problème de couleur plus important que sur le 3... Sur le script 2, l'extrémité du rocher au 1er plan est mauve...
En effet, dans les deux cas, les couleurs ne sont pas respectées : sur mon écran, ce sont les signes en bas à droite qui sont mauves avec le script3, et bleus avec les script2.
Avatar du membre
Subbat
Administrateur
Administrateur
Messages : 8754
Enregistré le : jeu. 11 déc., 2008 20:12
Localisation : Quelque part... dans le centre de la France...

Message par Subbat » mer. 10 sept., 2014 16:29

leon1789 a écrit :
Subbat a écrit : Subbat : #1326 (...) je trouve que c'est sur le script 2 qu'il y a un problème de couleur plus important que sur le 3... Sur le script 2, l'extrémité du rocher au 1er plan est mauve...
En effet, dans les deux cas, les couleurs ne sont pas respectées : sur mon écran, ce sont les signes en bas à droite qui sont mauves avec le script3, et bleus avec les script2.
Oui j'avais remarqué pour les singes (et non les signes ;) ) avec le script 3, mais je trouvais que c'était moins gênant...
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 13:09
Contact :

Message par leon1789 » ven. 12 sept., 2014 17:03

Seul Subbat ose donner un avis que les copies d'écran ? :(
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23228
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite » ven. 12 sept., 2014 18:40

Perso, je ne vois quasi aucune différence entre toutes les images ...
Il n'y a que pour la 1326 qu'il y a un truc bizarre sur les rochers dans 2 images et pour la suivante, une des images montre une barbe avec plus de précision que les autres.
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 13:09
Contact :

Message par leon1789 » sam. 13 sept., 2014 7:45

En effet, la barbe permet de juger la netteté sur l'image #1472. De mon coté, avec cette barbe, je peux classer facilement les images par ordre croissant de netteté : script4 est flou, puis script2, puis script1 (pareil au niveau de la barbe, mais meilleur au niveau du front, je trouve), et enfin script3 proche de l'original.


S'il n'y a pas assez de différences entre les images d'une même série, c'est que j'ai dû encoder avec un débit trop élevé. Pourtant, ce sont des encodages --crf x avec x compris entre 21.5 et 23 ...
Avatar du membre
Underground78
Administrateur
Administrateur
Messages : 11269
Enregistré le : mar. 06 févr., 2007 21:54
Localisation : France
Contact :

Message par Underground78 » sam. 13 sept., 2014 11:01

Je vois des bugs sur la source déjà, des artefacts de couleur étranges.
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 13:09
Contact :

Message par leon1789 » sam. 13 sept., 2014 12:59

C'est bien possible : la source est elle-même une compression x264 . Voir ici http://forum.doom9.org/showthread.php?t=170986
Avatar du membre
Underground78
Administrateur
Administrateur
Messages : 11269
Enregistré le : mar. 06 févr., 2007 21:54
Localisation : France
Contact :

Message par Underground78 » sam. 13 sept., 2014 13:13

Ça a plutôt l'air d'être au décodage puisque l’artefact n'est pas dans la version encodée ou pas au même endroit. Comment tu décodes ta source ?
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 13:09
Contact :

Message par leon1789 » sam. 13 sept., 2014 19:10

Pour faire les copie d'écrans, je passe par un script avs ( ffmpegsource("original.mp4") ou ffmpegsource("script....mp4") ) ouvert à l'aide de virtualdub.

Pour les tests (les quatre encodages), je laisse x264 faire tout seul via une ligne de commande ( x264.exe ... original.mp4 )
Avatar du membre
Underground78
Administrateur
Administrateur
Messages : 11269
Enregistré le : mar. 06 févr., 2007 21:54
Localisation : France
Contact :

Message par Underground78 » sam. 13 sept., 2014 19:30

Bizarre, j'aurais cru que ffmpegsource s'en sortirait bien...
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 13:09
Contact :

Message par leon1789 » lun. 15 sept., 2014 9:35

J'avais dit que je présenterai la méthodologie et le résultat, donc je vais le faire rapidement...

Je suis parti de la configuration du preset veryslow (qu'on peut considérer comme le preset de qualité maximale avec x264, tant en image qu'en compression) et j'ai cherché à modifier les paramètres de sorte à accélérer le traitement (en effet, le preset veryslow est très lent, comme son nom l'indique). Le preset veryslow est le script1 ci-dessus. A comparer avec le preset medium (le preset par défaut avec x264) qui est le script4 ci-dessus.

Pour cela, je me suis muni de huit films DVD (de genres variés) et d'un outil d'analyse vidéo (pas question d'analyser des centaines de milliers d'images à la main) qui fournit un certain nombre de mesures numériques des encodages (http://compression.ru/video/quality_mea ... html#start).
J'ai dû évidemment utiliser un script avisynth (un script minimal, sans fioriture) pour lire les .d2v et exporter l'image en YV12 vers x264 (encoder le format YV12 est plus rapide qu'encoder le format RGB).

Pour l'analyse sur le luma, j'ai utilisé les mesures le SSIM et le VQM (mesures psychovisuelles), MSU Blocking pour l'analyse de la formation des blocs, MSU Blurring pour évaluer la netteté d'une image, MSU Noise pour une estimation de bruit (mais aussi du banding je trouve).
Pour analyser l'équilibre entre les compressions luma (Y) et chroma (U et V), j'ai utilisé quatre type de mesures : PSNR-YUV, Delta-YUV, MSAD-YUV et MSE-YUV.

Ainsi, tout en essayant de garder les mêmes résultats des évaluations numériques du preset veryslow (bitrate compris), je suis arrivé à accélérer l'encodage au même niveau que le preset medium (celui qui est utilisé par défaut par x264, temps d'encodage qui était mon objectif), encodage en une passe --crf 18. Bien sûr, les évaluations numériques ne remplacent pas l'oeil humain...

Le réglage obtenu est l'encodage script2 ci-dessus (pour moi, le temps d'encodage est comparable à --preset medium, la qualité d'image et le taux de compression comparables à veryslow pour les films) :

Code : Tout sélectionner

x264.exe --keyint 500 --me dia --subme 8 --merange 12 --rc-lookahead 30 --partitions i8x8,p8x8,b8x8 --psy-rd 0.7:0.15 --ref 4 --b-adapt 2 --bframe 5 --deblock -1:-1 --deadzone-intra 0 --aq-strength 0.9 --ipratio 1.25 --chroma-qp-offset 9 --no-dct-decimate --no-mixed-refs --no-chroma-me
Constatant que les paramètres --deblock -1:-1 et --psy-rd ...:0.15 sont proches du réglage --tune film de x264, j'ai aussi aussi comparé avec le x264 --preset veryslow --tune film qui est le script 3 ci-dessus..
Modifié en dernier par leon1789 le lun. 24 nov., 2014 17:16, modifié 1 fois.
Avatar du membre
Subbat
Administrateur
Administrateur
Messages : 8754
Enregistré le : jeu. 11 déc., 2008 20:12
Localisation : Quelque part... dans le centre de la France...

Message par Subbat » lun. 15 sept., 2014 12:13

Ah ouais... pas mal ça alors... avoir la rapidité du medium et la qualité du veryslow... bien joué...

J'ignorais pour la rapidité supplémentaire en yv12 par rapport au rgb... Il me semble que les scripts de m4ng sont forcément en sortie rgb... intéressant à savoir pour modifier le cas échéant à la mimine...
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 13:09
Contact :

Message par leon1789 » lun. 15 sept., 2014 12:43

Subbat a écrit : la qualité du veryslow...
C'est cela que j'aurais aimé tester avec des yeux qui ne sont les miens.

Pour l'encodage RGB vs YV12, je posterai le résultat d'un test ce soir.
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 13:09
Contact :

Message par leon1789 » lun. 15 sept., 2014 20:43

Subbat a écrit :J'ignorais pour la rapidité supplémentaire en yv12 par rapport au rgb... Il me semble que les scripts de m4ng sont forcément en sortie rgb... intéressant à savoir pour modifier le cas échéant à la mimine...
La sortie avisynth est peut-être au format rgb (suite à un convertToRGB), mais est-ce que x264 l'encode en format rgb (profile High 4:4:4 Predictive, level ...) ? Je pense que x264 doit reconvertir la sortie avisynth en yuv avant de compresser (profile High, level ...)
Avatar du membre
Subbat
Administrateur
Administrateur
Messages : 8754
Enregistré le : jeu. 11 déc., 2008 20:12
Localisation : Quelque part... dans le centre de la France...

Message par Subbat » mar. 16 sept., 2014 8:30

leon1789 a écrit :
Subbat a écrit :J'ignorais pour la rapidité supplémentaire en yv12 par rapport au rgb... Il me semble que les scripts de m4ng sont forcément en sortie rgb... intéressant à savoir pour modifier le cas échéant à la mimine...
La sortie avisynth est peut-être au format rgb (suite à un convertToRGB), mais est-ce que x264 l'encode en format rgb (profile High 4:4:4 Predictive, level ...) ? Je pense que x264 doit reconvertir la sortie avisynth en yuv avant de compresser (profile High, level ...)
Oui, il me semble bien qu'il y a un message de x264 qui dit quelque chose de cet ordre... qu'il fait un conversion vers du yuv...
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 13:09
Contact :

Message par leon1789 » mar. 16 sept., 2014 15:48

Nous sommes d'accord.
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 13:09
Contact :

Message par leon1789 » mer. 24 déc., 2014 13:33

Salut à tous,

Je passais pour relire la réponse du matou ci-dessus.

Comment peut-il se faire qu'il n'y ait plus de titre à la discussion ? J'ai essayé d'en remettre un (en éditant le premier message), mais en vain... :bad:

Joyeuses fêtes !
Avatar du membre
Subbat
Administrateur
Administrateur
Messages : 8754
Enregistré le : jeu. 11 déc., 2008 20:12
Localisation : Quelque part... dans le centre de la France...

Message par Subbat » mer. 24 déc., 2014 15:41

Salut léon... depuis notre passage obligé à php je sais plus quoi, il y a des incompatibilité avec notre forum qui est toujours en phpbb2... dont les accents dans le titre des sujets... Normalement si tu édites ton 1er message et met un titre sans accents ça devrait aller...
Avatar du membre
leon1789
Messages : 775
Enregistré le : dim. 26 août, 2007 13:09
Contact :

Message par leon1789 » ven. 26 déc., 2014 9:33

Merci Subbat ! Effectivement, sans accent, ça revient !
Répondre