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