ffmpeg 支持 svg 光栅化

Oli*_*nne 1 svg ffmpeg

FFmpeg 现在支持对 SVG 光栅化的 librsvg 支持。

我尝试了以下命令:

ffmpeg -i test.svg test.png
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

ffmpeg -i test.svg test.png
Run Code Online (Sandbox Code Playgroud)

我搜索了文档,但没有给出示例。有人可以告诉我如何使用 ffmpeg 在命令行中从 SVG 文件生成 PNG 吗?

llo*_*gan 5

您的 ffmpeg 需要使用--enable-librsvg. 如果您正在编译 ffmpeg,那么您需要安装任何提供 librsvg 头文件的包。例如,在 Arch Linux 中它是librsvg,而在 Ubuntu 中它是librsvg2-dev

图像系列

用法类似于使用光栅图像作为图像 demuxer 的输入。例如,一系列命名的图像vector-001.svgvector-002.svgvector-003.svg,等:

ffmpeg -i vector-%03d.svg -vf format=yuv420p output.mp4
Run Code Online (Sandbox Code Playgroud)

单张图片

ffmpeg -i input.svg output.png
Run Code Online (Sandbox Code Playgroud)

自定义尺寸:

ffmpeg -i input.svg output.png
Run Code Online (Sandbox Code Playgroud)

-keep_ar true 是默认值,所以在这个例子中它会自动计算高度以保持纵横比。

解码器特定选项

解码器 librsvg 有几个输入选项:

ffmpeg -width 600 -i input.svg output.png
Run Code Online (Sandbox Code Playgroud)