带有 ffmpeg 的 svg 幻灯片

标签 svg ffmpeg

<分区>

任何人都可以向我指出如何使用 svg 图像制作幻灯片(使用 ffmpeg)。 通常的方式,

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

不起作用,因为 ffmpeg 显然无法处理 svg 文件(处理输入时发现无效数据)有没有简单的方法可以做到这一点?

谢谢

最佳答案

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

convert bloch_*.svg bloch_%03d.png

注意:为了获得最佳的 SVG 支持,请确保将 ImageMagick 编译为使用 RSVG 库。 Details

接下来,使用 ffmpeg 将光栅图像转换为 MP4 中的 H.264:

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,那么您通常不需要此选项。

关于带有 ffmpeg 的 svg 幻灯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15118609/

相关文章:

html - 如何缩放作为 div 背景的 .svg?

javascript - SVG 和 CSS3 动画在 IE 和 Safari 中不起作用

javascript - Webpack 5 不显示图像

javascript - 无法在 d3js 条形图上定位工具提示

FFmpeg 忽略数量参数

javascript - 垂直对齐 svg 圆内的文本

c - AV编解码器: not able to decode hevc

c++ - 使用ffmpeg时内存泄漏

c++ - FFMPEG API - 检索设备相机信息

image - 将图像嵌入视频 - FFMPEG 或 JW 播放器?