Как добиться наилучшего качества при конвертации из mp4 в avi с помощью ffmpeg?

Как добиться наилучшего качества при конвертации из mp4 в avi с помощью ffmpeg?

Когда я это использую, качество выглядит неплохо.

ffmpeg -same_quant -i video.mp4 video.avi

В ffmpegдокументации написано: «Обратите внимание, что это НЕ ТО ЖЕ КАЧЕСТВО. Не используйте эту опцию, если вы не уверены, что она вам нужна».

Получу ли я -same_quantнаилучшее качество или есть вариант, который обеспечивает такое же качество, как и исходный, и который более рекомендован?

решение1

(адаптировано из комментариев выше)

В зависимости от используемых кодеков (некоторые кодеки несовместимы с некоторыми контейнерами), вы всегда можете просто скопировать потоки ( -codec copy). Это лучший способ избежать изменений качества, поскольку вы не перекодируете потоки, а просто переупаковываете их в другой контейнер.

При работе с аудио/видеофайлами важно помнить, чтоконтейнерыв основном независимы от используемых кодеков. Обычно люди называют файлы "AVI video" или "MP4 video", но это контейнеры и они мало что говорят нам о том, сможет ли проигрыватель воспроизводить потоки, так как, помимо технических ограничений (например,AVI может иметь проблемы с h264 и Ogg Vorbis), вы можете использовать любой кодек.

-same_quantКажется, это способ сказать ffmpeg попытаться достичь похожего качества, но как только вы перекодируете видео (по крайней мере, с помощью кодеков с потерями), у вас нет возможности получить то же самое качество. Если вас беспокоит качество, хорошее практическое правило — избегать перекодирования потоков, когда это возможно.

Итак, чтобы скопировать потоки с помощью ffmpeg, вам нужно сделать:

ffmpeg -i video.mp4 -codec copy video.avi

(Как сказал @Peter.O, порядок опций важен, поэтому это то, куда -codec copyнужно идти. Вы все равно можете оставить -same_quant, но это не даст никакого эффекта, так как вы не перекодируете потоки.)

решение2

Под FreeBSD 8. 2 я попробовал -codec copy, но я также получил сообщение unknown decoded. После проб и ошибок я нашел тот, который работает под FreeBSD:

ffmpeg -i video.mp4 -vcodec copy video.avi

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