Page 1 sur 2

exemple de script x264 cli

Posté : sam. 01 sept., 2012 12:21
par N00B0dy
bonjour à tous :yeap: , voilà je voudrais modifier mes paramètres d'encodage afin d'obtenir la qualité des vo que j'utilise mais avisynth c'est du chinois pour le débutant que je suis :glups:, alors si quelqu'un pouvait me montrer un exemple de script comprenant tous les paramètres d'encodage (deblock,ref psy etc,les matrices BT.709 et autres) ça me permettrait de voir comment je dois organiser le script et la syntaxe à utiliser.J'encode en x264 cli Level@ 3.1 AAC MP4.

Merci d'avance pour vos réponses. :yeap:

Posté : sam. 01 sept., 2012 14:14
par Subbat
Salut et :welc sur le forum

Ce n'est malheureusement pas moi qui pourra beaucoup t'aider... pour ce qui est de certains filtres avisynth, leon1789 a développé une fonction qui est pas mal et simple à utiliser grâce à un outil d'aide en ligne pour l'écriture du script... Il y a dans cette fonction le deblocking, antialising, désentrelacement, blur, sharp, etc...

Par contre le ref psy dont tu parles ne me dit rien du tout... tu es sur que tu ne confond pas les filtres que l'on peut appliquer via avisynth et des paramètres propres à l'encodeur x264 ?

Posté : sam. 01 sept., 2012 14:25
par Underground78
Salut,

En fait tout ce dont tu parles ressemble fort aux paramètres du x264 plutôt qu'à un script AviSynth.

Tu es sûr de ne pas être en train de mélanger les choses ?

Posté : sam. 01 sept., 2012 15:28
par N00B0dy
tout d'abord merci à vous deux de vous intéresser à ma demande :yeap: ,et oui underground tu as raison je crois que je me suis planté :spo: (je débute) en fait ce sont certains de ces paramètres là que je veux modifier :


cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x113 / me=umh / subme=8 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=crf / mbtree=1 / crf=19.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00

donc si vous pouviez me montrer comment m'y prendre toujours en x264 cli level@3.1 AAC MP4

merci :o:

Posté : sam. 01 sept., 2012 18:04
par Underground78
Avec m4ng tu peux utiliser le système de préréglages et jouer sur le niveau de qualité et le type de source (qui utilisent les paramètres "preset" et "tune" du x264).

Il n'est normalement pas conseillé de modifier la ligne de commande à la main. Avec m4ng tu ne peux pas le faire directement, il faudra que tu crées un nouveau preset. Si tu veux réellement le faire, inspire toi tu contenus du dossier "cli" dans le répertoire "system" du dossier d'installation de m4ng. Duplique un des fichiers et édite le pour mettre tes propres paramètres.

Concernant les informations sur les paramètres de la ligne de commande, je te conseille de regarder l'aide disponible en passant le paramètre --help ou bien cet article.

Posté : sam. 01 sept., 2012 23:30
par leon1789
Donc pas avisynth, mais x264 cli. ;)
Pour ma part, voici les paramètres que j'utilise pour encoder des films DVD (level 3.0, voire 3.1) :

Code : Tout sélectionner

cabac=1 / ref=6 / deblock=1:0:0 / analyse=0x3:0x133 / me=hex / subme=6 / psy=0 / mixed_ref=1 / me_range=16 / chroma_me=0 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=5,5 / fast_pskip=1 / chroma_qp_offset=7 / threads=4 / sliced_threads=1 / slices=4 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=6 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=500 / keyint_min=4 / scenecut=50 / intra_refresh=0 / rc_lookahead=90 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.55 / qpmin=15 / qpmax=69 / qpstep=5 / ip_ratio=1.00 / aq=2:1.00
J'ai essayé d'avoir un bon rapport qualité d'encodage / temps de calcul , en faisant des expériences uniquement avec de film DVD (pas d'anime, pas de source perso, etc, réclamant des valeurs différentes pour les paramètres).


Je compare avec les paramètres de N00B0dy :

Par exemple, je n'ai pas vraiment trouvé d'intérêt à me=umh, le me=hex me paraît tout aussi bien en qualité, mais moins lourd en calcul.

De même, subme=8 est certes un peu meilleur que subme=6, mais il est surtout beaucoup plus coûteux en calcul...

Idem pour b_adapt=2 : un peu meilleur que b_adapt=1, mais nettement plus coûteux.

Je n'ai jamais compris pourquoi chroma_qp_offset=-2 est intéressant : pourquoi demander une nettement meilleure qualité de compression dans le chroma que dans le luma (alors que l'oeil humain est plus sensible au luma qu'au chroma) ?... Personnellement, j'essaie plutôt d'avoir une compression plus équilibrée dans le chroma et le luma. Mon chroma_qp_offset=7 est peut-être un peu exagéré...

Je prends bframes=6, ce n'est pas toujours utile, mais bframes=3 me paraît un peu faible.

J'ai aussi l'impression que ip_ratio=1.00 donne une qualité de compression plus homogène que ip_ratio=1.40 .

Enfin, keyint_min=23 me fait peur pour une scène très mouvementée qui réclamerait des images clés fréquentes (par exemple, deux ou trois par seconde..). Je prends un peu au pif keyint_min=4 : c'est peut-être trop petit...

Et vos avis ?

Posté : dim. 02 sept., 2012 8:54
par Subbat
Bah là... beaucoup trop technique pour moi... Je me contente d'utiliser les presets existants dans m4ng et éventuellement les options dispos (fast, slow, etc... et Film, anm, etc...)...

Je ne suis pas sur qu'il y est ici beaucoup de monde qui touchent ainsi aux paramètres du x264...

Posté : dim. 02 sept., 2012 10:58
par leon1789
je pense au matou ;)

Posté : dim. 02 sept., 2012 11:10
par Subbat
Je me doutais un peu :yeap:

Posté : dim. 02 sept., 2012 15:32
par Underground78
Globalement j'évite d'y toucher, je préfère écouter les développeurs et utiliser les presets.

Concernant b_adapt ce que j'ai entendu dire c'est qu'il fallait mieux utiliser b_adapt=2 avec moins de b-frames que plus de b-frames avec b_adapt=1.

subme je le laisserais au défaut (7) qui ne coûte pas beaucoup plus que 6 mais largement moins que 8.

J'utilise plutôt me=hex qui est la valeur par défaut parce que passer à umh est réellement coûteux.

Le chroma_qp_offset=-2 est la valeur par défaut quand tu as les optimisations psycho-visuelles activées. Elles ont déjà tendance à beaucoup favoriser le luma donc c'est pour compenser.

ip_ratio=1.00 peut être une solution quand tu es sensible au "I-frame pulsing" mais je ne crois pas que ça soit trop conseillé de modifier cette valeur.

Si j'étais toi je ne changerais pas le min-keyint. Il faut se souvenir que le H264 à une notion de I-frame et IDR-frame. min-keyint ne joue que sur les IDR-frames mais n'empêche pas les I-frames d'être placées. Les IDR-frames séparent deux parties de la vidéo entre lesquelles aucune référence n'est possible donc il peut être assez contre-productif d'en placer trop.

Posté : dim. 02 sept., 2012 17:30
par leon1789
Underground78 a écrit : Concernant b_adapt ce que j'ai entendu dire c'est qu'il fallait mieux utiliser b_adapt=2 avec moins de b-frames que plus de b-frames avec b_adapt=1.

subme je le laisserais au défaut (7) qui ne coûte pas beaucoup plus que 6 mais largement moins que 8.

J'utilise plutôt me=hex qui est la valeur par défaut parce que passer à umh est réellement coûteux.

Le chroma_qp_offset=-2 est la valeur par défaut quand tu as les optimisations psycho-visuelles activées. Elles ont déjà tendance à beaucoup favoriser le luma donc c'est pour compenser.

ip_ratio=1.00 peut être une solution quand tu es sensible au "I-frame pulsing" mais je ne crois pas que ça soit trop conseillé de modifier cette valeur.
tout cela devrait aider N00B0dy (et moi aussi :) )
Underground78 a écrit : Si j'étais toi je ne changerais pas le min-keyint. Il faut se souvenir que le H264 à une notion de I-frame et IDR-frame. min-keyint ne joue que sur les IDR-frames mais n'empêche pas les I-frames d'être placées. Les IDR-frames séparent deux parties de la vidéo entre lesquelles aucune référence n'est possible donc il peut être assez contre-productif d'en placer trop.
oui en effet, tu as raison.

Posté : mer. 30 janv., 2013 13:13
par mike031
Bonjour tout le monde.

Je cherche également à modifier les presets du x264 dans m4ng afin de rajouter quelques paramètres mais je n'y arrive pas. J'ai regardé dans le dossier cli, j'ai modifié en m'aidant du wiki, mais soit m4ng n'encode rien, soit le paramètre n'est pas pris en compte du tout.

Comment faire exactement pour modifier les presets du x264??

Merci d'avance.

PS : C'est le paramètres "crf" que je voudrais intégrer, peu être un conflit avec l'option 1/2passes de m4ng?

Posté : mer. 30 janv., 2013 13:34
par Subbat
Salut, je ne sais pas si sous m4ng v3 ça marche, mais sur la v4, il suufit de mettre la valeur du crf que tu veux à la place du débit vidéo (valeur max 50), et m4ng met le mode crf en marche...

Par contre ça ne fonctionne qu'avec le x264cli... donc si tu es en mode autonome, il faut forcer l'utilisation du x264cli à la place du x264 de ffmpeg...

Posté : mer. 30 janv., 2013 14:40
par mike031
Ok, c'est bon à savoir, mais tant qu'à faire, j'aimerais mieux utiliser la v3 qui fonctionne bien tant que la v4 est encore en beta.

Posté : mer. 30 janv., 2013 17:56
par Ducke
mike031 a écrit :Ok, c'est bon à savoir, mais tant qu'à faire, j'aimerais mieux utiliser la v3 qui fonctionne bien tant que la v4 est encore en beta.
la v4 est opérationnel et pepsi est à l'affut des petits bugs qui peuvent rester ici et la ...
je crois que le crf est uniquement sur la v4

Posté : mer. 30 janv., 2013 18:27
par mike031
Bin Underground semblait dire un peu plus haut que l'on pouvait modifier les presets à la main, à moins qu'il ne parlait que de la v4.

Bon dans le pire des cas je peux toujours laisser la v3 et tester la v4 vu que les versions sont distinctes, mais bon...

Posté : mer. 30 janv., 2013 18:40
par Ducke
mike031 a écrit :Bin Underground semblait dire un peu plus haut que l'on pouvait modifier les presets à la main, à moins qu'il ne parlait que de la v4.
oui ça tu peux modifier les presets aussi dans la v3, je parlais du mode crf moi

Posté : mer. 30 janv., 2013 19:06
par Underground78
mike031 a écrit :Bin Underground semblait dire un peu plus haut que l'on pouvait modifier les presets à la main, à moins qu'il ne parlait que de la v4.
Je ne me souviens plus si la version 3 prenait en compte correctement le paramètre "crf". Il est très possible que ce paramètre là n'était pas pris en compte et que le débit était quand même ajouté à la ligne de commande ce qui ne peut pas donner grand chose de bon.

Posté : mer. 30 janv., 2013 20:17
par mike031
Bin oui c'est possible, en fait, concrètement, j'ai modifié le preset DXVA Standard dans le dossier cli en ajoutant au début des deux lignes --crf 18, je pense que j'ai bon, mais à l'encodage, ça n'a absolument rien changé, en faisant une passe, j'ai rc=abr et non rc=crf, donc je suppose que ce n'est pas bon.

Posté : mer. 30 janv., 2013 20:17
par pepsilite
dans la v3 l'option crf avait été désactivée (à ta demande Matou ;) )

Posté : mer. 30 janv., 2013 20:21
par mike031
Ah merci pepsi, ceci explique cela^^

M'en vais tester la nouvelle version alors, ne serait-ce que pour certains paramètres spécifiques du x264 pour le moment.

Merci à tous :)

Posté : mer. 30 janv., 2013 20:49
par Underground78
pepsilite a écrit :dans la v3 l'option crf avait été désactivée (à ta demande Matou ;) )
Je pense qu'on s'était mal compris à l'époque parce que moi ce que je voulais c'est que m4ng n'ajoute pas --bitrate quand --crf était détecté (ce que fait m4ng v4). :mad:

Posté : mer. 30 janv., 2013 23:19
par mike031
Alors je viens de tester la v4 et ça fonctionne avec le crf, y'a juste un léger bug, enfin c'est peu être volontaire.
Si on utilise le crf et que on laisse en 2 passes (mais il n'y aura de toute façon qu'une en crf), le profil Main@4.1 est sélectionné, si on met 1 passe, le profil High@4.1 est sélectionné, ce qui donne de meilleurs paramètres.

Et également un petit bug sur les boutons expert et autonome, il faut cliquer plusieurs fois sur l'un ou l'autre pour que ce soit validé.

Voilà, sinon fonctionne très bien, et jolie interface cette nouvelle mouture :)

Posté : jeu. 31 janv., 2013 0:09
par pepsilite
mike031 a écrit :Alors je viens de tester la v4 et ça fonctionne avec le crf, y'a juste un léger bug, enfin c'est peu être volontaire.
Si on utilise le crf et que on laisse en 2 passes (mais il n'y aura de toute façon qu'une en crf), le profil Main@4.1 est sélectionné, si on met 1 passe, le profil High@4.1 est sélectionné, ce qui donne de meilleurs paramètres.

Vu qu'il est illogique de mettre 2 passes en mode --crf, il n'y a pas de bug

Et également un petit bug sur les boutons expert et autonome, il faut cliquer plusieurs fois sur l'un ou l'autre pour que ce soit validé.

Tu peux préciser là?

Voilà, sinon fonctionne très bien, et jolie interface cette nouvelle mouture :)

Posté : jeu. 31 janv., 2013 13:49
par mike031
Non mais en fait, dans tous les cas, que l'on laisse 2 passes ou 1 passe, l'encodage crf se fait de toute façon en 1 passe (et effectivement, ça reste logique), simplement, on obtient un profil High@L4.1 dans un cas et Main@L4.1 dans l'autre, ce qui fait que les paramètres sont différents, c'est ce que je voulais dire. Mais oui, en crf, de toute façon, on reste en 1 passe. Ce qui est curieux, c'est que si on change pas en 1 passe dans l'interface, le profil change.

Pour les boutons, en fait après l'installation, j'étais en mode autonome, et pour passer en expert j'ai cliqué sur le bouton "expert", mais ça n'a rien fait, je suis resté en autonome, et en cliquant sur "autonome", je suis passé en expert et inversement pour repasser en autonome, je sais pas si je me fait bien comprendre?^^

Edit : Ah non c'est bon je viens de comprendre pour les boutons, au temps pour moi...