使用FFmpeg制作SVG幻灯片

4

有人能告诉我如何使用ffmpeg制作包含svg图像的幻灯片吗?

通常的方法是:

ffmpeg -i bloch_0%2d.svg bloch2.mp4

由于ffmpeg明显无法处理svg文件(处理输入时发现无效数据),因此它无法工作。是否有一种简便的方法来解决这个问题?

谢谢。


请在您的命令中包含完整的FFmpeg控制台输出。 - llogan
我强烈反对关闭。我是一名程序员,想要将我编写的动画引擎输出的SVG/CSS动画转换为视频,以便于那些无法处理SVG的同事观看。因此,我需要的工具应该被视为“(动画)程序员常用的软件工具”,因此是符合主题的。关闭问题除了阻止我得到答案外,还有什么作用呢?本质上,这是关于将数据从一种格式转换为另一种格式的问题:与例如将CSV转换为XLS的问题一样,并不超出主题范围。 - Phil van Kleur
1个回答

7

首先将SVG图像转换为光栅格式,例如PNG或JPEG。 如果您的SVG编辑器不支持导出为光栅格式,则可以使用ImageMagick的convert命令进行操作:

convert bloch_*.svg bloch_%03d.png

注意:为了获得最佳的SVG支持,请确保ImageMagick编译时使用RSVG库。详情请参见此处
接下来,使用ffmpeg将光栅图像转换为H.264格式的MP4。
ffmpeg -r 1 -i bloch_%03d.png -pix_fmt yuv420p bloch2.mp4
-r 1选项将输入的帧率设置为每秒1帧,但根据这些是独立图像还是某种连续动画,您可以将其设置为任何您喜欢的帧率。 -pix_fmt yuv420p不是必需的,但PNG颜色未经抽样。 H.264视频可以支持非抽样颜色与专门的配置文件,但大多数播放器仅支持4:2:0颜色抽样,因此您可能需要将其转换为4:2:0。 JPEG通常使用4:2:0,因此如果您的输入是JPEG,则通常不需要此选项。

唯一的问题是,与SVG相比,PNG文件需要更多的存储空间。 - Stuart Axon
@mark4o,你有任何关于如何在安卓中使用ImageMagick的想法吗? - prakash ubhadiya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接