Explication de la mélodie x264

41

Lancer cette commande:

ffmpeg -i xr.mp4 -tune ya zu.mp4

révèle les valeurs de réglage possibles pour x264 et à son tour FFmpeg:

[libx264 @ 0000000002167100] Titres possibles: animation de film au grain stillimage psnr ssim
                                             zérolatence fastdecode

Cependant, je n'ai pas pu trouver de référence expliquant ce que ces valeurs font réellement.

Steven Penny
la source

Réponses:

63

Voici ce que font les modes:

  • film - destiné au contenu vidéo à haut débit / haute qualité. Le déblocage inférieur est utilisé ici.
  • animation- destiné aux dessins animés, etc., où le déblocage est renforcé pour compenser les grandes surfaces planes. Plus de cadres de référence sont utilisés.
  • grain - ceci devrait être utilisé pour les matériaux déjà granuleux. Ici, le grain ne sera pas filtré autant.
  • stillimage - comme son nom l’indique, il optimise le codage des images fixes en abaissant le filtre de déblocage.
  • psnret ssim- ce sont des modes de débogage à optimiser pour de bonnes valeurs PSNR et SSIM uniquement. De meilleurs indicateurs ne signifient pas nécessairement une meilleure qualité.
  • fastdecode - désactive CABAC et le filtre de déblocage en boucle pour permettre un décodage plus rapide sur les périphériques avec une puissance de calcul inférieure.
  • zerolatency - optimisation pour un encodage rapide et une diffusion en continu à faible latence

Vous pouvez voir les options détaillées appliquées à chaque morceau avec x264 --fullhelp:

--tune <string>         Tune the settings for a particular type of source
                          or situation
                              Overridden by user settings.
                              Multiple tunings are separated by commas.
                              Only one psy tuning can be used at a time.
                              - film (psy tuning):
                                --deblock -1:-1 --psy-rd <unset>:0.15
                              - animation (psy tuning):
                                --bframes {+2} --deblock 1:1
                                --psy-rd 0.4:<unset> --aq-strength 0.6
                                --ref {Double if >1 else 1}
                              - grain (psy tuning):
                                --aq-strength 0.5 --no-dct-decimate
                                --deadzone-inter 6 --deadzone-intra 6
                                --deblock -2:-2 --ipratio 1.1 
                                --pbratio 1.1 --psy-rd <unset>:0.25
                                --qcomp 0.8
                              - stillimage (psy tuning):
                                --aq-strength 1.2 --deblock -3:-3
                                --psy-rd 2.0:0.7
                              - psnr (psy tuning):
                                --aq-mode 0 --no-psy
                              - ssim (psy tuning):
                                --aq-mode 2 --no-psy
                              - fastdecode:
                                --no-cabac --no-deblock --no-weightb
                                --weightp 0
                              - zerolatency:
                                --bframes 0 --force-cfr --no-mbtree
                                --sync-lookahead 0 --sliced-threads
                                --rc-lookahead 0
llogan
la source
1
J'avais l'impression que le film «tunique» est pour du matériel granuleux, mais de ce que vous dites, il est synonyme d'input de haute qualité; En gros, si mes sources sont toujours d'excellente qualité, je devrais toujours utiliser ce morceau. Et puis - le grain optimal devrait être utilisé pour des choses telles que des matériaux de film très anciens. Est-ce exact?
Florin Andrei
6
@Florin Les deux sont destinés à des sources de haute qualité, mais filtreront une --tune filmpartie du grain et --tune grainen préserveront davantage. AIUI, ce dernier ne doit être utilisé que si le grain est une partie importante des éléments visuels que l’on peut encore remarquer aux paramètres cibles.
Tobu
7
--tune filmest destiné au contenu en direct: tout ce qui est filmé sur une caméra, par opposition à une animation ou un texte / graphique généré par ordinateur. Il est même approprié pour une animation 3D un peu réaliste, alors ne laissez pas le "film" vous nourrir. Il fonctionne pour les sources granuleuses et non granuleuses et équilibre la rétention du grain avec une qualité globale par bitrate, alors --tune grainqu'il essayera de préserver le grain à tout prix. utile si garder le grain est un must-have pour une raison quelconque. --tune filmN'aide PAS seulement pour les débits élevés (en fait, les réglages ont généralement plus d'effet sur les débits plus faibles).
thomasrutter
8
Remarque: "Image fixe" est destiné aux personnes qui écrivent des outils qui utilisent x264 pour encoder une seule image fixe, en alternative à JPEG ou JPEG2000. Cela pourrait toutefois toujours être utile pour les personnes réalisant une vidéo qui est essentiellement un diaporama d’images fixes où une image statique est affichée sous forme inchangée pour de nombreuses images avant de passer à l’image suivante, à condition qu’il s’agisse littéralement d’un diaporama statique sans transition. L’objectif de "stillimage" est qu’il optimise certaines optimisations psy qui permettraient d’améliorer des images uniques au détriment des mouvements nuisibles.
thomasrutter