Невозможно найти подходящий выходной формат для 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 от каждой команды.

Другие вопросы по тегам