Table of Contents

Guide d'encodage FFmpeg et H.265

ffmpeg prend en charge le codage H.265 / HEVC à l’aide du codeur x265.

libx265 peut offrir une économie de débit de 25 à 50% par rapport à la vidéo H.264 codée avec libx264, tout en conservant la même qualité visuelle. Ces gains seront plus prononcés aux résolutions de 1080p et plus.

Obtenir ffmpeg avec le support libx265

ffmpeg doit être construit avec l'indicateur de configuration --enable-gpl --enable-libx265 et nécessite l'installation de x265.

On peut également télécharger une version statique, qui regroupe tous libx265.

Encodage

Semblable à x264, le codeur x265 dispose de plusieurs algorithmes de contrôle de débit, notamment:

Cet article se concentre sur les codages CRF et à deux passes, car le codage à débit binaire cible à une passe n'est pas recommandé.

Facteur de taux constant (CRF)

Utiliser ce mode si pour conserver une bonne qualité visuelle sans se soucier du débit exact ou de la taille du fichier encodé. Le mode fonctionne exactement comme dans x264.

Réglages

Comme avec x264, il faut faire deux choix:

Exemple d'encodage CRF

ffmpeg -i input -c:v libx265 -crf 28 -c:a aac -b:a 128k output.mp4

Cet exemple utilise l'audio AAC à 128 Kbits/s. Ceci utilise l'encodeur interne ffmpeg, mais sous AAC.

Encodage à deux passes

Cette méthode est généralement utilisée lorsqu'on cible une taille de fichier de sortie spécifique et que la qualité de la sortie d'une image à l'autre est de moindre importance.

Calcul du débit

Par exemple, pour une vidéo de 10 minutes (600 secondes) et une sortie de 200 Mio débit = taille du fichier / durée:

(200 MiB * 8192 [convertit les MiB en kBit])/600 secondes=~2730 kBit/s
2730 - 128 kBit/s (débit binaire audio souhaité)=2602 kBit/s débit binaire

Exemple d'encodage à deux passes

Pour deux passes, il faut exécuter ffmpeg deux fois, avec presque les mêmes paramètres, à l'exception de:

ffmpeg -y -i input -c:v libx265 -b:v 2600k -x265-params pass=1 -an -f mp4 /dev/null && \
ffmpeg -i input -c:v libx265 -b:v 2600k -x265-params pass=2 -c:aac -b:a 128k output.mp4

Pour libx265, l'option -pass (que l'on utilise pour libx264) n'est pas applicable.

Les utilisateurs Windows doivent utiliser NUL au lieu de /dev/null et ^ au lieu de \.

Comme avec CRF, choisir le paramètre le plus lent que l'on puisse tolérer et éventuellement appliquer un paramètre -tune. Lorsqu'on utilise des préconfigurations plus rapides avec le même débit cible, la qualité obtenue sera inférieure et inversement.

Options de passage

Généralement, les options sont passées à x265 avec l'argument -x265-params. Pour affiner le processus de codage, on peut donc transmettre toute option répertoriée dans la documentation x265. Mais il n'est généralement pas nécessaire de peaufiner les options, sauf si on sait qu'il faut changer.