ffmpeg 透明png生成透明背景视频
时间: 2023-09-22 20:05:35 浏览: 109
使用 ffmpeg 可以方便地将透明PNG图片序列合成为透明背景视频。下面是一个简单的命令示例:
```
ffmpeg -framerate 30 -i %04d.png -c:v libx264 -preset ultrafast -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2,format=yuv420p" output.mp4
```
其中,`-framerate` 表示帧率,`-i` 表示输入文件名的通配符,`-c:v` 表示视频编码器,`-preset` 表示编码速度,`-pix_fmt` 表示像素格式,`-vf` 表示视频过滤器,`output.mp4` 表示输出文件名。
需要注意的是,输入的 PNG 序列文件名需要按照一定的规则进行命名,如 `%04d.png` 表示文件名为 4 位数字,例如 `0001.png`、`0002.png` 等等。此外,由于 PNG 图片可能包含 alpha 通道,需要使用 `yuv420p` 像素格式来支持透明度。
如果想要生成透明背景的视频,还需要在命令中添加 `-movflags +faststart -fflags +genpts -bsf:v h264_mp4toannexb` 参数,如下所示:
```
ffmpeg -framerate 30 -i %04d.png -c:v libx264 -preset ultrafast -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2,format=yuv420p" -movflags +faststart -fflags +genpts -bsf:v h264_mp4toannexb output.mp4
```
这样可以确保生成的视频在播放时能够正确地显示透明背景。