0

我想编写一个系统,它采用简单的 DSL,将其转换为 2D 动画,并将其呈现为视频。当我说“动画”时,我的意思是类似于标题序列生成器或精美版本的 PowerPoint(而不是动画卡通)。我是一名 Linux 开发人员,因此理想情况下它会使用 C 堆栈或 Java。

我一直在考虑各种选择,但我觉得我可能会遗漏一些东西。例如,有嵌入的 SVG 动画(使用 Batik 或 librsvg)。这很容易定位,但 SVG 动画实现似乎不完整且容易出错,并且不清楚如何将其转码为视频。

另一方面,有诸如 SDL(与 ffmpeg 结合?)之类的东西——它显然提供了很多功能,但可能有点矫枉过正。我看到了像 synfig 和 Blender 这样的系统,但似乎这些系统并不是真正为想要编写 API 的人设计的。处理可能也是如此,但我不确定。

由于动画不像您在游戏中看到的那样复杂,因此可以生成静止图像并将它们拼接在一起(尽管这对我来说似乎效率很低)。但即使在那里,我也不确定哪些库是理想的。

我希望我正确地描述了这个项目。我想我正在想象一个 Adob​​e Flex 版本,它具有一组更受限制的可能输出(并且再次以视频为目标)。

4

2 回答 2

0

看看 JavaFX,看看它是否适合你。

JavaFX 具有过渡、效果、混合、动画、视频播放、笔触、填充、渐变、文本和图像处理、html 显示和编辑、平行和透视相机、硬件加速等。

JavaFX 2.2 缺少视频捕获功能,因此您需要使用 ffmpeg 或其他一些库来补充它。

Groovy 或 Scala 可用于创建和运行 DSL,并且 DSL 可以调用 GroovyFX 或 ScalaFX JavaFX 包装器库。或者,如果您愿意,您可以使用普通的 java 应用程序来解析和运行您的 DSL,以避免使用这些语言。

http://www.oracle.com/technetwork/java/javafx/samples/index.html

http://docs.oracle.com/javafx/

http://fxexperience.com/2012/03/canned-animations/

于 2012-07-31T07:59:58.127 回答
0

或者你可以使用闪光灯,它的喜欢。或 linux 上的 flash 实现。或 javafx 之类的。

于 2012-07-31T01:48:25.870 回答