Для чего используется -crf в ffmpeg

20

При преобразовании массива jpegs в видеофайл (формат ogg) я использовал опцию -crf. Каковы допустимые диапазоны для -crf? В настоящее время я использую 23.

Я не могу найти закладку, которую я прочитал, чтобы знать, что делает этот флаг, и я потратил некоторое время на поиск в Google.

Вот аргументы, которые я использую в данный момент:

-f image2 -r 10 -i " + _sourcePath + @"\img%05d.jpg -crf 18  -y -r 10 " + _destPath + "\\" + _filename + ".ogg"
Эндрю Симпсон
источник
1
Я ничего не знаю об этой команде, но она очень хорошо задокументирована здесь: ffmpeg.org/ffmpeg.html .
Бен Плонт
1
Используете ли вы libx264 (для видео H.264) или libvpx (для видео VP8)? Пожалуйста, покажите вашу команду ffmpeg и полный вывод консоли.
llogan
Привет, извините за задержку. Пришлось выгуливать собаку. Я исправлю свой вопрос. Спасибо
Эндрю Симпсон
1
Итак, вопрос в том, хотите ли вы оставить этот вопрос достаточно общим для CRF или если у вас есть конкретная проблема, с которой вам нужна помощь. В последнем случае нам нужно было бы получить полный вывод командной строки (т. Е. Все, начиная с "ffmpeg version ..." до последнего бита) и фактическую команду, которую вы используете, но, к сожалению, она сделает существующие ответы бесполезными. Вы можете задать новый вопрос, если столкнулись с конкретной проблемой.
slhck
@slhck Привет, ты абсолютно прав. Мне нужно научиться быть более конкретным и всеобъемлющим в будущем. Поскольку ваш ответ соответствовал моим потребностям больше, чем всем остальным, но все остальные также были информативными. Я буду действовать более осторожно в будущем :) Спасибо за ваше время. Очень признателен.
Эндрю Симпсон

Ответы:

19

Это относится к коэффициенту постоянной скорости ( crf).

Как уже отмечали другие (спасибо всем), значения будут зависеть от того, какой кодер вы используете.

Для x264 ваш допустимый диапазон 0-51:

Диапазон шкалы квантования составляет 0-51: где 0 - без потерь, 23 - по умолчанию, а 51 - наихудший из возможных. Чем ниже значение, тем выше качество, а субъективно вменяемый диапазон составляет 18-28. Считайте, что 18 визуально без потерь или почти так: он должен выглядеть так же или почти так же, как входные данные, но он не является технически без потерь.

Для vpx диапазон 4-63(как ответил @ sebastian-hoffner ):

По умолчанию значение CRF может быть от 4 до 63, и 10 является хорошей отправной точкой. Более низкие значения означают лучшее качество.

В обоих случаях чем ниже, тем лучше . По моему опыту, x264 я вижу гораздо чаще.

Ссылка на бесстыдный плагин Slhck (мод SU) выглядит так, как будто содержит полезную информацию.

nerdwaller
источник
Диапазон для VPX от 0-63 не 4-63, рекомендуемая скорость составляет 15-30
Suhayb
3

Флаг crf обеспечивает переменный битрейт для постоянного качества, если я правильно понимаю страницу, указанную ниже. Диапазон по умолчанию составляет от 4 до 63, но его можно настроить еще больше.

Загляните на https://trac.ffmpeg.org/wiki/vpxEncodingGuide для получения дополнительной информации.

Себастьян Хеффнер
источник
Меня это немного смущает, мы оба ссылаемся на один и тот же сайт, и каждая страница говорит что-то немного другое (то есть диапазоны). В любом случае, оба выглядят законно для меня, так что я немного ошеломлен этим.
nerdwaller
привет, спасибо за это Я стремлюсь улучшить качество видеопотока, чтобы это было с низким значением crf?
Эндрю Симпсон