libvpx
немного сложен в плане контроля скорости и настроек качества. См. Руководство по кодированию vpx и Руководство по параметрам кодирования VP8 для получения дополнительной информации. Мне потребовался час копания в исходном коде, чтобы понять это.
Если вы хотите установить постоянный битрейт, вам нужно будет установить b:v
, maxrate
и minrate
одинаковые значения, например, так (обратите внимание, что для краткости я не упомянул здесь параметры звука):
ffmpeg -i input.mov -c:v libvpx -b:v 1900K -maxrate 1900K -minrate 1900K output.webm
Если вместо этого вы хотите использовать переменное качество и просто указать верхнюю границу битрейта, вам нужно установить как b:v
, так и crf
. Если вы опустите crf
, указанный битрейт будет принят как средний. Только с crf
энкодер меняет значение b:v
на максимально допустимую скорость.
ffmpeg -i input.mov -c:v libvpx -b:v 1900K -crf 10 output.webm
Значение 10 для CRF является хорошей отправной точкой, но libvpx
может изменить качество каждого кадра в пределах qmin ≤ q ≤ qmax
, которые вы также можете указать, если хотите. Установка нижней границы 10 для qmin
кажется мне немного завышенной, но, по сути, вам все равно придется делать некоторые пробы и ошибки, поскольку, если максимальный битрейт слишком низкий, вы будете постоянно его насыщать.
person
slhck
schedule
02.04.2013