Récemment, je voulais essayer les codecs Webm VP8 et VP9, mais lorsque j'ai couru ffmpeg
pour coder un fichier H.264 MP4 dans l'un des deux autres codecs, j'ai réalisé que l'encodage était (presque d'un ordre de grandeur) plus lent.
Une vidéo 1080p30 de H.264 à VP9 à 3 Mbits / s est encodée à environ 6-7 ips tandis que la même vidéo encode à environ 40 ips à H.264. J'ai utilisé le libvpx-vp9
codec ffmpeg
pour le format VP9. J'obtiens les mêmes résultats pour VP8 et Theora aussi.
Quelqu'un peut-il m'expliquer pourquoi VP9 est tellement plus lent? J'ai essayé une machine différente qui m'a donné des résultats similaires en utilisant le frein à main.
Réponses:
libvpx-vp9
est un encodeur beaucoup plus lent quelibx264
mais les paramètres par défaut des threads dans ffmpeg (0 = auto) ne sont pas efficaces pour libvpx. Le régler manuellement donne un ralentisseur. par exempleSur une machine à 4 cœurs, lorsque j'encode un flux H.264 1080-30p, j'obtiens une bosse de
3.8 fps
à10 fps
.la source
-preset
pourlibx264
et-speed
pourlibvpx-vp9
. Tu voisffmpeg -h full
. Ceux-ci peuvent faire toute la différence, mais ils affectent également la qualité ou l'efficacité de la compression.-speed
option n'a pas fait une énorme différence pour moiVP9 est un codec plus complexe offrant une meilleure compression. Le rapport compression / performances vidéo a tendance à être exponentiel. Vous devez vous attendre à ce que le remplacement VP9 (AV1) soit encore plus lent.
la source