Возможный дубликат:
Конвертируйте 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"