2012-11-30 06:38:03 +0000 2012-11-30 06:38:03 +0000
115
115

Как изменить размер видео, чтобы сделать его меньше с FFmpeg

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

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

Как это сделать?

Ответы (2)

182
182
182
2012-11-30 06:53:23 +0000

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

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, которую вы можете загрузить в качестве статической сборки, или скомпилировать себя .

21
21
21
2018-02-24 06:57:24 +0000

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

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

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

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

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

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

ПРИМЕЧАНИЕ:

iw : input width
ih : input height

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

Документация : [ COPY17_005foption ].(https://ffmpeg.org/ffmpeg.html#filter005foption)

Похожие вопросы

8
12
3
5
7