85

Можно ли изменить размеры моих видео, чтобы уменьшить их с помощью FFmpeg?

У меня есть оригинальное видео размером 1024x576, теперь я хочу изменить размер видео до 720x480, чтобы удовлетворить требования.

Как я могу это сделать?

2 ответа2

138

Самый простой пример:

ffmpeg -i input.avi -s 720x480 -c:a copy output.mkv

Использование scale фильтра обеспечит большую гибкость:

ffmpeg -i input.avi -filter:v scale=720:-1 -c:a copy output.mkv

-1 скажет ffmpeg автоматически выбрать правильную высоту по отношению к предоставленной ширине, чтобы сохранить соотношение сторон. -1 также можно использовать для ширины, если вы задаете заданную высоту.


Недостатком масштаба при использовании libx264 является то, что для этого кодировщика требуются четные значения, а масштаб может автоматически выбирать нечетное значение, что приводит к ошибке: width or height not divisible by 2 . Вы можете сказать шкале, чтобы выбрать четное значение для данной высоты (720 в этом примере):

scale="trunc(oh*a/2)*2:720"

... или заданной ширины (1280 в этом примере):

scale="1280:trunc(ow/a/2)*2"

Обратите внимание, что ваша сборка ffmpeg может жаловаться на то, что не распознает параметры -c или -filter . Это также может не поддерживать scale . В этом случае вам следует использовать более новую версию ffmpeg, которую вы можете скачать как статическую сборку, или скомпилировать самостоятельно .

5

Я использую следующие команды для масштабирования видео и изображений. Для фиксированной ширины и высоты -

ffmpeg -i input.avi -vf scale="720:480" output.avi

и если вы хотите сохранить соотношение сторон, просто задайте высоту как -1, и он автоматически изменит размер в зависимости от ширины -

ffmpeg -i input.avi -vf scale="720:-1" output.avi

Если вы хотите масштабировать в зависимости от размера ввода, например, скажем, уменьшить ширину / высоту, половина вы можете сделать-

ffmpeg -i input.avi -vf scale="iw/1:ih/2" output.avi

НОТА :

iw : input width
ih : input height

Статическая сборка может быть загружена с - https://johnvansickle.com/ffmpeg/

Документация: https://ffmpeg.org/ffmpeg.html#filter_005foption

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