J'ai plusieurs fichiers m4v, que je dois convertir en webm.
J'utilise ffmpeg
pour le faire et j'ai utilisé des commandes telles que:
ffmpeg -i myfiletoconvert.m4v output.webm
La conversion fonctionne bien et la résolution est toujours la même, mais la qualité n’est tout simplement pas la même.
Ce que je voudrais réellement, c'est que la conversion soit sans perte. Je voudrais que les propriétés du fichier d'entrée soient les mêmes pour le fichier de sortie, afin que je n'ai pas de changement de qualité perceptible.
Comment pourrais-je accomplir cela?
Je voudrais que les propriétés du fichier d'entrée soient les mêmes pour le fichier de sortie, afin que je n'ai pas de changement de qualité perceptible.
Vous passez d'un codec avec perte à un autre. Cela signifie que vous perdrez la qualité quoi qu'il arrive, à moins que vous ne fixiez le débit binaire cible à un niveau tel que la perte de qualité ne soit pas perceptible (même si elle est toujours là).
L'inconvénient est bien entendu que la taille du fichier va augmenter. Vous demandez combien cela va augmenter? Personne ne peut dire. Cela dépend de la qualité de votre vidéo d'entrée et de la facilité d'encodage de la vidéo.
Pour forcer un débit au cours de la conversion, procédez comme suit, par exemple: pour constante 1 MBit/s:
ffmpeg -i in.m4v -c:v libvpx -b:v 1M -c:a libvorbis out.webm
Le codeur libvpx
peut également fonctionner avec une qualité variable en utilisant les options -qmin
, -qmax
:
ffmpeg -i in.m4v -c:v libvpx -qmin 10 -qmax 42 -c:a libvorbis out.webm
Utilisez des valeurs plus faibles pour les deux paramètres afin d’améliorer la qualité. Habituellement, FFmpeg les définit à 2/31, mais WebM a besoin d'une échelle différente ici, autant que je sache.