Я знаю, что это "хромой" вопрос, но: допустим, у меня есть БОЛЬШОЙ файл wmv, avi и т.д. Я хочу преобразовать это в.MP4, с возможным наименьшим размером файла и, конечно, с тем же качеством с аудио / видео. Как? Какой кодек я должен использовать? Я использую FFmpeg

2 ответа2

5

Вы можете попробовать кодировать с помощью libx264 crf 18. Он хорошо известен тем, что дает (возможно) "визуально без потерь" результат.

ffmpeg -i input.avi -vcodec libx264 -x264-params crf=18 -preset veryslow -acodec copy out.mp4

Обратите внимание, что я использовал предустановку veryslow, которая даст вам наименьший возможный файл. Кроме того, я решил скопировать звуковую дорожку, а не перекодировать ее, в основном потому, что я предполагаю, что в вашем примере уже есть стерео AAC/MP3.

Если выходной сигнал слишком велик для вас, попробуйте с более высоким значением crf (до 23), но качество пострадает.

4

Получение самого маленького видео с наименьшим количеством потерянного качества является более сложной задачей, чем что-либо еще. В Интернете есть руководства, которые порекомендуют вам настройки для использования в FFmpeg для таких вещей, как захваты игр, потоки, DVD-рипы и т.д.

Если вы хотите без потерь, попробуйте это:

ffmpeg -i input.mp4 -c:v libx264 -crf 0 output.mp4

Важной частью является часть -crf 0 которая устанавливает его в без потерь. Однако выходной файл обычно будет очень большим. Вы можете изменить его на -crf 18 что даст вам что-то приемлемое по качеству и лишенное большинства артефактов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .