11

我用 Inkscape 的Sozi插件创建了一个动画演示。它看起来很棒,但是,并非所有浏览器都支持 SVG 动画(例如,Chrome 根本不喜欢 Inkscape/Sozi SVG)。我想将演示文稿转换为视频。一种选择是进行屏幕截图,但我希望有更好的东西。

环顾四周,我也遇到了这个答案- 但逐帧创建 SVG 并不是真的可行,因为我想保留缩放/滑动动画。

关于使用什么工具的任何想法?

4

4 回答 4

7

1. 将 SVG 转换为画布

可以使用此工具将 SVG 转换为画布元素

2.录制画布动画

可以使用 MediaStreamRecorder(取决于浏览器支持)或Whammy.js从画布动画创建视频文件。我以前用过 whammy,它就像一个魅力。


于 2013-10-29T08:52:21.767 回答
7

有一个名为的节点包timecut,它使用 Chromium 将 SVG 录制到 MP4 视频文件中。https://github.com/tungs/timecut

安装

$ cd project
$ npm install timecut

用法

$ cd project
$ ./node_modules/timecut/cli.js Animation.svg

这将创建一个名为video.mp4.

timecut有相当多的选项,如帧速率、像素格式等。

于 2020-10-02T15:15:30.073 回答
0

你可以试试 synfig studio,我已经在几个个人动画项目中使用了它。我真的很好,有很好的教程/文档/社区。

http://www.synfig.org/cms/

引用:“Synfig Studio 是一款免费的开源 2D 动画软件,设计为强大的工业级解决方案,用于使用矢量和位图艺术品创建电影质量动画。它消除了逐帧创建动画的需要,让您用更少的人员和资源制作更高质量的 2D 动画。Synfig Studio 可用于 Windows、Linux 和 MacOS X。

希望这可以帮助

菲利普

于 2015-01-12T15:13:41.887 回答
-2

你问的是不可能的,因为 SVG 动画是插值的,而主要的视频格式都是基于帧的。如果要渲染为视频,则必须分离出离散的帧。

如果您希望您的用户以相同的速度观看视频(而不是放慢速度),那么选择足够高的帧速率以流畅地显示动画(例如 30 fps)就足够了。缺点当然是增加了文件大小。

将动画 SVG 转换为电影提供了多个用于拆分和转换的选项。


顺便说一句,Chrome 确实支持 SVG 动画。您是否在最近的版本中尝试过?此外,尝试将您的文件从 Inkscape 导出为“普通 SVG”(而不是默认的“Inkscape SVG”),这会去除可能会混淆浏览器的 Inkscape 特定元素。

于 2012-07-16T23:21:08.190 回答