ffmpeg -i input.mp4 -vf scale=640x360,setdar=16:9 -c:v libx264 -preset veryslow -profile:v main -crf 18 -b:a 189k output.mp4

Мой входной видеофайл: res: 720p и аудио битрейт: 189kbps. Я слышал, что выбор аудио битрейта такой же, как источник, ухудшает качество звука выходного файла.

Мой вопрос, как сохранить качество звука видео файла?

Мой дополнительный вопрос: предустановка veryslow влияет на аудио?

1 ответ1

2

Потоковое копирование (re-mux)

Вы можете потоковое копирование вместо кодирования. Думайте об этом как о копировании и вставке. Ваша команда будет выглядеть так:

ffmpeg -i input.mp4 -vf scale=640x360,setdar=16:9 -c:v libx264 \
-preset veryslow -profile:v main -crf 18 -c:a copy output.mp4

Так как аудио только копируется, не будет потери качества, и это будет быстро, потому что не происходит кодирование.


шифровать

Иногда вы не можете выполнить потоковое копирование, поскольку выходной формат может не поддерживать формат из входных данных, поэтому требуется кодировка.

Поскольку вы выводите на MP4, я просто упомяну кодирование аудио AAC. ffmpeg может поддерживать несколько аудио кодеров AAC, но стоит упомянуть только два:

libfdk_aac

Это лучший кодировщик, поддерживаемый ffmpeg , но его лицензия не совместима с GPL, в результате чего очень мало (если таковые имеются) распределенных сборок с поддержкой этого кодировщика. Однако вы можете следовать руководству по компиляции ffmpeg с поддержкой этого кодировщика.

ffmpeg -i input -c:a libfdk_aac -vbr 5 output.mp4

ААС

Встроенный кодировщик FACmpeg AAC доступен во всех сборках. Он считается экспериментальным, но с достаточным количеством битов в большинстве случаев звучит просто отлично.

ffmpeg -i input -c:a aac -strict experimental -b:a 192k output.mp4

Также см

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