Невозможно найти подходящий выходной формат для libvorbis libvorbis: неверный аргумент
Я пытаюсь преобразовать некоторые файлы в WebM с помощью ffmpeg с помощью следующей команды:
# 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
Но я получаю это сообщение об ошибке:
[NULL @ 0x55c5d4360220] Unable to find a suitable output format for 'libvorbis'
libvorbis: Invalid argument
Я уже установил libvorbis0a, libvorbisenc2 и libvorbisfile3, поэтому я искал в репозитории, но не могу найти какой-либо пакет libvorbis (только libvorbis-dev, который, как мне кажется, предназначен для его компиляции?)
Так действительно ли мне нужно это скомпилировать или я что-то не так делаю? (Я на Ubuntu 16.10)
2 ответа
Вот что было эффективно для меня:
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
Примечание: я изменил потоки на 4, так как у меня их нет 8. Изменение этой версии в соответствии с вашей системой не должно быть проблемой. Я также изменил длинную руку '-codec: ' на более короткую -c:
вариант (сила привычки) и переместил -an (без переключателя звука) в начало прохода 1 (я не уверен, что это требуется в этом случае, но это ничего не вредит). и, конечно, я убрал ложный ключ -vf (видеофильтр), о котором упоминал @LordNeckbeard, который вызывал ошибку, которую вы получали на 2-м проходе, а также невидимую ошибку, переданную в /dev/null "" Найдены варианты трейлинга в командной строке. на первом проходе.
У тебя есть -vf
(видеофильтр) в каждой команде, но вы не указали имена фильтров. Либо добавьте фильтр, либо удалите ошибочное -vf
от каждой команды.