MLT-如何为过渡或过滤添加缓动?

时间:2018-11-02 19:31:13

标签: easing mlt

是否可以使图片(或其他任何东西)平滑移动?加速,减速... 我知道我们可以使用关键帧几何来移动元素,但是移动并不平滑。目标是在图片幻灯片中添加一些缓动(缓入/缓出/缓入...)。

这个“弹力球”的例子并不十分顺利: https://github.com/mltframework/mlt/blob/master/demo/mlt_bouncy_ball

我使用的是Linux服务器上的命令行,我不使用任何Kdenlive或Shotcut。

1 个答案:

答案 0 :(得分:1)

弹力球示例并非旨在显示平滑度或缓和度。这些示例旨在使人们在跑步前先走路。

MLT Property Animation定义“平滑”关键帧。为了使某些东西移动,您需要选择一个支持仿射位置属性的过滤器(例如仿射)。然后,如何定义关键帧及其类型取决于使用API​​还是使用属性字符串值(命令行,XML)。使用多值字符串格式时,在时间和值之间使用~=而不是=。例如,使用仿射过滤器: transition.rect=0~=0/0:100%x100%;100~=45%/45%:100%x100%;120~=50%/50%:100%x100%

现在,仅平滑的关键帧无法提供放松效果,但是您可以向目标添加一个或多个关键帧(缓入)或离开目标(缓和)。平滑关键帧仅有助于绘制曲线,而无需您添加许多关键帧来自己平滑。考虑使用插图程序绘制曲线。如果只有连接点的直线工具,则需要许多点来制作平滑曲线-点数越多,曲线越平滑。现在,如果您有曲线工具,则只需几个点。为简单起见,选择了MLT平滑关键帧使用的Catmull-Rom spline:它通过给定的点绘制一条曲线。

经常重复说,学习如何使用过滤器及其属性的最简单方法是在视频编辑器中模拟内容并查看其MLT XML输出。保持项目尽可能简单,以缩短要浏览的XML数量。