FFmpeg: Сохранение качества при конвертации

FFmpeg: Сохранение качества при конвертации

Возможный дубликат:
Конвертируйте AVI в MP4, сохраняя то же качество

Я хотел бы преобразовать большое количество файлов wmv, mpg и avi (с разными аудио- и видеокодировками) в mp4/x264/aac с эквивалентным качеством. Я провел несколько тестов с помощью следующей команды:

ffmpeg.exe -i "test.avi" -c:v libx264 -c:a libvo_aacenc "test.mp4"

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

Используя эту команду, FFmpeg автоматически сохраняет размеры видео, но я все еще не уверен, как он обрабатывает такие вещи, как битрейт, когда они опущены? Каков наилучший способ сохранить качество видео при конвертации его в другой формат и кодек?

Я использую 64-битную Windows 7 и ffmpeg-20121230-git-518239c-win64-shared

решение1

-crfПо умолчанию FFmpeg устанавливает значение 23.

Пытаться:

ffmpeg.exe -i "test.avi" -c:v libx264 -crf 20 -c:a aac -strict -2 "test.mp4"

TheКРФопция устанавливает качество кодирования. Скорость передачи данных будет меняться по мере необходимости для обеспечения постоянного качества на протяжении всего видео. 51 — худшее, 0 — лучшее — без потерь.

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

Возможно, вы захотите использовать параметры -ssи -tдля создания коротких тестовых кодировок. -ssгде время начала и -tдлительность — оба в секундах. Вероятно, вам не нужно кодировать все видео, чтобы определить, что приемлемо.

Чтобы создать 1-минутный клип, начинающийся с 1-й минуты видео:

ffmpeg.exe -i "test.avi" -c:v libx264 -crf 20  -c:a aac -strict -2 -ss 60 -t 60 "test.mp4"

Связанный контент