web-dev-qa-db-fra.com

Impossible de trouver un format de sortie approprié pour 'libvorbis' libvorbis: argument non valide.

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)

1
Akarin

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.

0
Elder Geek

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.

1
llogan