Comme @LordNeckbeard l'a déjà souligné, un débit binaire constant n'est pas la même chose qu'une qualité constante. En fait, c'est tout le contraire. Certaines parties des séquences vidéo sont plus faciles à encoder que d’autres (plus faciles à utiliser, c’est-à-dire qu’elles nécessitent moins de bits), d’autres non. Si vous dépensez tous vos efforts sur les parties faciles, vous allez en manquer pour les parties les plus difficiles.
C'est là qu'intervient une qualité constante. En x264 il y a le Facteur de taux constant , qui fait exactement cela. Je vous suggère de lire l'article lié si vous voulez plus d'informations de base. Fondamentalement, le CRF varie de 0 (sans perte, le meilleur) à 51 (le plus mauvais). Pas de ± 6 à peu près égaux le double ou la moitié du débit.
Donc, pour adapter votre script, procédez comme suit:
for i in $(seq 0 5 51); do
ffmpeg -i input.mkv -c:v libx264 -crf $i -c:a copy output-$i.mkv
done
La balance elle-même est - sauf erreur de ma part - proche de la qualité logarithmique, vous pouvez donc calculer vos pas en fonction de la qualité. seq
appel.
Avec un débit très faible ($ j = 150), au début (entre 0 et 3s), la vidéo est vraiment médiocre mais à la fin (entre 8 et 10s), la qualité est correcte! De plus, en regardant la vidéo, on peut voir cette augmentation de la qualité dans le temps. Quelqu'un peut-il m'expliquer ce phénomène?
Faire un débit binaire constant n'est pas une tâche facile pour un codeur. Vous lui donnez une certaine valeur avec laquelle travailler, par exemple dites-lui "donnez-moi 150 kBit par seconde", mais l'encodeur ne sait même pas ce qu'il va encoder à la prochaine image.
Alors, combien devrait-il dépenser pour ce cadre? Combien sur le prochain? Certaines images - comme je l’ai mentionné ci-dessus - sont faciles à encoder et ne prennent que quelques kilobits, alors que d’autres peuvent en prendre beaucoup plus. Mais l'encodeur ne peut vraiment regarder que ce qu'il a encodé dans le passé afin de le redimensionner pour de futures images. Prendre également en compte les différents types d'images .
Algorithmiquement, il est très difficile d'utiliser un débit constant. C'est aussi le pire des modes de contrôle de débit offerts par x264. Surtout pour les clips courts, puisque l'encodeur ne saura pas ce qu'il peut attendre sans l'encodage en 2 passes, vous remarquerez peut-être ceci dans votre description: la qualité change radicalement au cours des dix secondes. Mais 150 kBit / s ne suffisent pas pour des vidéos de dimensions assez décentes.