我用 Inkscape 的Sozi插件创建了一个动画演示。它看起来很棒,但是,并非所有浏览器都支持 SVG 动画(例如,Chrome 根本不喜欢 Inkscape/Sozi SVG)。我想将演示文稿转换为视频。一种选择是进行屏幕截图,但我希望有更好的东西。
环顾四周,我也遇到了这个答案- 但逐帧创建 SVG 并不是真的可行,因为我想保留缩放/滑动动画。
关于使用什么工具的任何想法?
我用 Inkscape 的Sozi插件创建了一个动画演示。它看起来很棒,但是,并非所有浏览器都支持 SVG 动画(例如,Chrome 根本不喜欢 Inkscape/Sozi SVG)。我想将演示文稿转换为视频。一种选择是进行屏幕截图,但我希望有更好的东西。
环顾四周,我也遇到了这个答案- 但逐帧创建 SVG 并不是真的可行,因为我想保留缩放/滑动动画。
关于使用什么工具的任何想法?
有一个名为的节点包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
有相当多的选项,如帧速率、像素格式等。
你可以试试 synfig studio,我已经在几个个人动画项目中使用了它。我真的很好,有很好的教程/文档/社区。
引用:“Synfig Studio 是一款免费的开源 2D 动画软件,设计为强大的工业级解决方案,用于使用矢量和位图艺术品创建电影质量动画。它消除了逐帧创建动画的需要,让您用更少的人员和资源制作更高质量的 2D 动画。Synfig Studio 可用于 Windows、Linux 和 MacOS X。
希望这可以帮助
菲利普
你问的是不可能的,因为 SVG 动画是插值的,而主要的视频格式都是基于帧的。如果要渲染为视频,则必须分离出离散的帧。
如果您希望您的用户以相同的速度观看视频(而不是放慢速度),那么选择足够高的帧速率以流畅地显示动画(例如 30 fps)就足够了。缺点当然是增加了文件大小。
将动画 SVG 转换为电影提供了多个用于拆分和转换的选项。
顺便说一句,Chrome 确实支持 SVG 动画。您是否在最近的版本中尝试过?此外,尝试将您的文件从 Inkscape 导出为“普通 SVG”(而不是默认的“Inkscape SVG”),这会去除可能会混淆浏览器的 Inkscape 特定元素。