projektgopher/laravel-ffmpeg-tween

该软件包已被放弃,不再维护。作者建议使用 projektgopher/laravel-ffmpeg-tools 软件包。

生成用于ffmpeg命令的字符串,以便在值之间进行缓动。

v0.8.0 2024-03-19 22:08 UTC

This package is auto-updated.

Last update: 2024-03-19 22:09:27 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

FFMpeg的命令可能难以理解。以下是一个例子:

if(lt(t\,5)\,((w*7/8)-text_w-200)\,if(gt(t\,5+2)\,((w*7/8)-text_w)\,((w*7/8)-text_w-200)+((((w*7/8)-text_w)-((w*7/8)-text_w-200))(if(eq(((t-5)/2)\,0)\,0\,if(eq(((t-5)/2)\,1)\,1\,pow(2\,-10((t-5)/2))*sin((((t-5)/2)*10-0.75)*2.0943951023932)+1))))))

这个极其疯狂的字符串将仅计算文本元素的位置。它将等待5秒,在2秒内将元素从最终位置的左侧200px处动画化,使用缓动函数EaseOutElastic。您如何将此更改为使用缓动函数EaseOutBounce?这不可能。

此软件包允许您以流畅的方式构建这些字符串,易于维护,并且对PHP和Laravel开发者来说感觉熟悉。以下示例将输出与上述相同的字符串,但想象一下这将多么容易更改

$finalXpos = '(w*7/8)-text_w';
$x = (new Tween())
    ->from("{$finalXpos}-200")
    ->to($finalXpos)
    ->delay(Timing::seconds(5))
    ->duration(Timing::seconds(2))
    ->ease(Ease::OutElastic);

API是根据GreenSock动画平台(GSAP)设计的,并且所有缓动数学都从Easings.net移植而来。这些数学字符串的字符串化是从此Gitlab仓库移植的。

安装

您可以通过composer安装此软件包。

composer require projektgopher/laravel-ffmpeg-tools

用法

在Laravel应用程序外部使用

目前,此软件包只能在Laravel应用程序中使用,但有计划将核心功能提取到单独的软件包中,以便在不依赖框架的情况下使用。

测试

变更日志

有关最近更改的更多信息,请参阅RELEASES

贡献

有关详细信息,请参阅CONTRIBUTING

安全漏洞

有关如何报告安全漏洞,请参阅我们的安全策略

致谢

非常感谢EXACTsports对本软件包开发的赞助。

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件