MLT Framework. Как добавить текст или изображение водяного знака в центре видео и добавить анимацию zoomIn к нему?

Пробовал это:

-filter watermark:"welcome.jpg" in=0 out=320 composite.progressive=1 producer.align=centre composite.valign=middle composite.halign=center crop_to_fill=1 composite.geometry="0=0,0:80%x80%:0%;60=0,0:100%x100%:100%;260=0,0:120%x120%:100%;320=0,0:120%x120%:0%"

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

1 ответ

Я не знаю, как анимировать центральное масштабирование только с помощью фильтра водяных знаков. Но можно анимировать масштабирование с помощью аффинного перехода. Вам нужно будет использовать две дорожки: одну с фоновым видео и другую с текстом, который нужно анимировать. Вот пример:

melt color:blue in=0 out=320 -track welcome.jpg in=0 out=320 -transition affine valign=middle halign=center scale=1 fill=1 geometry="0=10%,10%:80%x80%:0%;60=0,0:100%x100%:100%;260=-10%,-10%:120%x120%:100%;320=-10%,-10%:120%x120%:0%"

Ключ в том, что положение водяного знака относительно левого угла. Таким образом, в дополнение к анимации размера, вам также нужно анимировать координаты x и y, как показано в примере.

Также обратите внимание, что анимация будет интерполировать размер и положение для каждого кадра - но позиция округляется до ближайшего пикселя. Так что движение может быть не плавным. Это известное ограничение возможностей анимации в MLT.

Другие вопросы по тегам