适用于Linux的2D渲染库(和视频)

时间:2012-07-31 01:45:39

标签: linux animation video svg 2d

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

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

另一方面,有一些像SDL(与ffmpeg结合使用?) - 这显然提供了很多功能,但可能有点过分。我看到像synfig和Blender这样的系统,但似乎并不是那些想要写入API的人。处理可能也是如此,但我不是很确定。

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

我希望我正确地描述了这个项目。我想我正在想象一个Adobe Flex版本,其中包含更多受限制的可能输出(并且再次定位视频)。

2 个答案:

答案 0 :(得分:0)

或者你可以使用闪光灯,它就像。或者linux上的flash实现。或者javafx和诸如此类的东西。

答案 1 :(得分: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/