формула для расчета размеров видео для целевого соотношения сторон

В настоящее время я создаю приложение, которое преобразует видео в определенное измерение с учетом целевого соотношения сторон.

целевое разрешение всегда должно быть 1280x720, я хочу, чтобы загруженное видео соответствовало этому размеру, используя черные полосы.

Кто-нибудь может указать формулу для расчета целевых размеров видео без изменения его соотношения сторон? если цель меньше 1280x720, я добавлю недостающие пиксели в виде черных полос.

я использую ffmpeg с командой "-vf scale=1280x720,pad=?:?:black"

(извините, если мой английский не так хорош)


person Nevoxx    schedule 22.04.2015    source источник


Ответы (1)


Прочитайте эту страницу, особенно этот раздел:

Иногда возникает необходимость масштабировать входное изображение таким образом, чтобы оно помещалось в указанный прямоугольник, т.е. если у вас есть заполнитель (пустой прямоугольник), в котором вы хотите масштабировать любое заданное изображение. Это немного сложно, так как вам нужно проверить исходное соотношение сторон, чтобы решить, какой компонент указать, и установить для другого компонента значение -1 (чтобы сохранить соотношение сторон). Например, если мы хотим масштабировать наше входное изображение до прямоугольника размером 320x240, мы можем использовать что-то вроде этого:

ffmpeg -i input.jpg -vf scale="'if(gt(a,4/3),320,-1)':'if(gt(a,4/3),-1,240)'" output_320x240_boxed.png
person Ronald S. Bultje    schedule 23.04.2015