FFMPEG Image Zoom to Position XY

411
user293004

Мне нужно увеличить до особой точки изображения. Что я должен изменить в этом существующем скрипте, например, Y: 81% X: 27%?

 ffmpeg -r 25 -i image.jpg -vf  "zoompan=z='zoom+0.001':x='if(gte(zoom,1.5),x,x+1)':y='y':d=125\" -y -shortest -c:v libx264 output.mp4 -y 

Image Example

1

1 ответ на вопрос

2
Gyan

использование

ffmpeg -i image.jpg \ -vf "zoompan=z='min(zoom+0.01,2.5)':x='iw/2-iw*(1/2-27/100)*on/150-iw/zoom/2':y='ih/2-ih*(1/2-81/100)*on/150-ih/zoom/2':d=150" \ -c:v libx264 output.mp4 -y 

150продолжительность масштабирования (и фильма), и она масштабируется от центра к целевой точке. zoompanне будет генерировать плавное движение, если анимация короткая, поэтому подумайте об увеличении длины.

Кажется, работает, но даже с большей продолжительностью не гладко. я пытался изменить все "150" чисел с 400, но еще страшнее, чем раньше :-( user293004 5 лет назад 0
Вы изменили `on / 150` на` on / 400`? Gyan 5 лет назад 0
да, как вы описали ... https://youtu.be/Qjn1LlLUZqM user293004 5 лет назад 0
Хорошо, я просто увеличил масштаб без эффекта покачивания: ffmpeg -i image.jpg -vf \ "scale = 8000: -1, zoompan = z = 'min (zoom + 0.0015,1.5)': x = 'iw / 2-iw * (1 / 2-88 / 100) * на / 150-IW / увеличение / 2 ': у =' IH / 2-IH * (1 / 2-94 / 100) * на / 150-IH / увеличение / 2 ': d = 150 \ "-c: v libx264 -t 5 -s \" 800x450 \ "output.mp4 -y user293004 5 лет назад 0

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