有一个名为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是一款免费且开源的2D动画软件,旨在使用矢量和位图艺术作品创建具有工业级强度的电影质量动画的强大解决方案。它消除了逐帧创建动画的需求,使您能够以更少的人力和资源生产更高质量的2D动画。Synfig Studio适用于Windows、Linux和MacOS X。”
希望这能有所帮助。
菲利普
你所问的是不可能的,因为SVG动画是插值的,而主要的视频格式都是基于帧的。如果你想渲染成视频,你必须将离散的帧分开。
如果你期望用户以相同的速度观看视频(而不是减慢速度),选择一个足够高的帧率来平滑显示动画就足够了(比如30 fps)。缺点当然是增加了文件大小。
将动态SVG转换为电影提供了几个拆分和转换的选项。
顺便提一下,Chrome确实支持SVG动画。您在最近的版本中尝试过吗?此外,尝试从Inkscape导出文件为“普通SVG”(而不是默认的“Inkscape SVG”),这将剥离可能会混淆浏览器的Inkscape特定元素。