J'essaie de convertir certains fichiers en WebM avec ffmpeg en utilisant la commande suivante:
# First pass
ffmpeg -i input.mp4 -codec:v libvpx -quality best -b:v 225k -qmin 10 -qmax 42 -maxrate 300k -bufsize 1000k -threads 8 -vf -an -pass 1 -f webm /dev/null
# Second pass
ffmpeg -i input.mp4 -codec:v libvpx -quality best -b:v 225k -qmin 10 -qmax 42 -maxrate 300k -bufsize 1000k -threads 8 -vf -codec:a libvorbis -b:a 128k -pass 2 -f webm output.webm
Mais je reçois ce message d'erreur:
[NULL @ 0x55c5d4360220] Unable to find a suitable output format for 'libvorbis'
libvorbis: Invalid argument
J’ai déjà installé libvorbis0a, libvorbisenc2 et libvorbisfile3, j’ai donc effectué une recherche dans le référentiel, mais je n’ai trouvé aucun paquet libvorbis (seulement un libvorbis-dev pour lequel je devrais le compiler?)
Donc, vraiment, j'ai besoin de le compiler ou je fais quelque chose de mal? (Je suis sur Ubuntu 16.10)
Voici ce qui a été efficace pour moi:
Pass1:
ffmpeg -i input.mp4 -an -c:v libvpx -quality best -b:v 225k -qmin 10 -qmax 42 -maxrate 300k -bufsize 1000k -threads 4 -pass 1 -f webm /dev/null
Pass2:
ffmpeg -i input.mp4 -c:v libvpx -quality best -b:v 225k -qmin 10 -qmax 42 -maxrate 300k -bufsize 1000k -threads 4 -c:a libvorbis -b:a 128k -pass 2 -f webm output.webm
Remarque: j'ai changé les threads en 4 car je n'en ai pas 8. Le fait de le modifier pour l'adapter à votre système ne devrait pas poser de problème. J'ai aussi changé la main longue '-codec:' en la variante plus courte -c:
(force d'habitude) et ai déplacé le -an (pas de commutateur audio) à l'avant du passage 1 (je ne suis pas sûr que ce soit nécessaire dans ce cas, mais cela ne fait pas de mal). et bien sûr, j'ai supprimé le commutateur -vf (filtre vidéo) parasite mentionné par @LordNeckbeard qui était à l'origine de l'erreur que vous receviez lors de la 2e passe ainsi que de l'erreur non visible acheminée vers/dev/null "" Des options de suivi ont été trouvées sur la ligne de commande. "lors du premier passage.
Vous avez l'option -vf
(filtre vidéo) dans chaque commande, mais vous n'avez fourni aucun nom de filtre pour celle-ci. Ajoutez un filtre ou supprimez le -vf
errant de chaque commande.