3

Мне нужно создать видео с ffmpeg с различными панорамированием и увеличением, используя фильтр zoompan . Я должен иметь возможность создавать масштабирование, масштабирование, панорамирование и панорамирование из эффектов на все области видео, такие как: верхний левый, верхний средний, верхний правый, правый, нижний правый, нижний средний внизу слева, слева и посередине. До сих пор я только мог понять, как увеличить масштаб до нескольких областей, таких как:

Увеличить в верхнем левом углу:

-vf "zoompan=z='zoom+0.001':x='if(gte(zoom,1.5),x,x-1)':y='y':d=125"

Увеличить в правом верхнем углу:

-vf "zoompan=z='zoom+0.001':x='if(gte(zoom,1.5),x,x+1)':y='y':d=125"

Увеличить в левом нижнем углу:

-vf "zoompan=z='min(zoom+0.0005,1.5)':y='if(gte(zoom,1.5),y,y+1)':x='x':d=125"

Мне не удалось найти хороший ресурс, чтобы объяснить, как работают эти цифры и как я могу определить конкретные фильтры зум-панелей для всех этих вариантов.

Помогите????

1 ответ1

8

Выражения фильтра zoompan оцениваются каждый кадр. Переменные, указанные в выражениях, содержат последнее вычисленное значение или значение по умолчанию, если это первый кадр.

Значение оцененного выражения zoom представляет отношение результирующих измерений к исходным измерениям, т.е. zoom = 3 означает, что окно масштабирования имеет треть ширины и высоты ввода.

x и y обозначают место, в котором верхний левый угол окна масштабирования размещается на входном изображении.

d - длительность в кадрах, в течение которых масштаб оценивается и применяется.

Вы должны, конечно, указать частоту кадров в кадре fps и размер s фильтра (см. Документацию), иначе фильтр будет применять значения по умолчанию 25 кадров в секунду и 1280x720, что может быть не тем, что вам нужно.

Для плавного увеличения может потребоваться увеличить изображение заранее.

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