Remarque: Ces informations sont basées sur le wiki FFmpeg sur l' encodage VP9 . Veuillez vous référer à cet article pour plus d'informations - il sera continuellement maintenu et étendu. Pour les meilleurs résultats, vous devez utiliser une version récente de ffmpeg
en la téléchargeant à partir de leur site Web (une construction statique suffira; elle contient l' libvps-vp9
encodeur).
Débit binaire variable
L'encodage VBR vous donne la qualité globale optimale, car l'encodeur peut librement choisir le nombre de bits à affecter à une trame. Choisissez ce mode sauf si vous préparez des vidéos pour une diffusion en continu à débit binaire constant.
Option 1: encodage de qualité constante
En règle générale, si vous ne souhaitez pas cibler une taille de fichier spécifique, vous devez laisser le débit binaire varier librement, car cela conduira à la meilleure qualité. Pour ce faire, définissez le débit binaire sur 0 et le facteur de débit constant ( CRF ) sur le niveau de qualité cible:
ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 output.webm
La valeur CRF peut être comprise entre 0 et 63. Des valeurs plus faibles signifient une meilleure qualité. Les valeurs recommandées vont de 15 à 35, 31 étant recommandées pour la vidéo HD 1080p. Google a un guide avec plus d'informations à ce sujet .
Option 2: codage en deux passes avec un débit binaire cible
Si vous souhaitez que votre fichier ait un débit ou une taille de fichier cible spécifique, vous devez spécifier le débit et utiliser un codage en deux passes (qui garantira une distribution de qualité optimale). Ici, nous choisissons 5 MBit / s, ce qui devrait être suffisant pour un contenu 1080p.
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 5M -pass 1 -f webm /dev/null && \
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 5M -pass 2 output.webm
Les utilisateurs de Windows doivent utiliser à la NUL
place de /dev/null
et au ^
lieu de \
.
Débit constant
Tout d'abord, libvpx propose des modes de codage à débit constant et à débit variable . Le débit binaire constant doit être évité autant que possible (sauf si vous ciblez une taille de fichier spécifique ou un scénario de streaming), car la qualité moyenne par taille de fichier sera pire. Cependant, vous pouvez essayer de définir un débit binaire constant si rien d'autre ne fonctionne pour vous, par exemple avec 1 Mo / s:
ffmpeg -i input.mp4 -c:v libvpx-vp9 -minrate 5M -maxrate 5M -b:v 5M output.webm
Regardez la sortie et augmentez ou diminuez le débit binaire à votre goût (ou les contraintes de taille de fichier). Par exemple, vous pouvez utiliser 500K
ou 5M
, et cetera.
Vous devez spécifier -minrate
, -maxrate
et le débit -b:v
pour que l'encodeur à utiliser CBR. Ils doivent tous avoir la même valeur, sinon il choisira un débit binaire cible différent à la place et effectuera le codage VBR, mais avec une mauvaise qualité.
l'audio
Le codec audio actuel de choix pour l'encodage VP9 est Opus. FFmpeg choisira l'encodeur nécessaire et ses options par défaut. Si vous souhaitez définir explicitement -c:a libopus
, vous pouvez également le faire. Reportez-vous à la libopus
documentation pour plus d'options.