ffmpeg 透明图片生成长图滚动视频 叠加到另一个视频中 透明背景
时间: 2023-07-29 17:11:19 浏览: 96
要生成透明图片并将其转换为长图滚动视频,可以使用以下命令:
```
ffmpeg -loop 1 -i transparent_image.png -vf "scale=1920:1080,setsar=1,fps=30,format=rgba" -t 30 -pix_fmt yuva420p transparent_video.mov
```
上面的命令中,`transparent_image.png`指定了透明图片的文件路径,`-vf`选项指定了添加一些虚拟滤镜,`-t`指定了视频的长度,`-pix_fmt`选项指定了像素格式为`yuva420p`,该格式支持透明度通道。
要将透明视频叠加到另一个视频中,可以使用以下命令:
```
ffmpeg -i main_video.mp4 -i transparent_video.mov -filter_complex "[0:v][1:v]overlay=0:0" output.mp4
```
上面的命令中,`main_video.mp4`指定了主视频的文件路径,`transparent_video.mov`指定了透明视频的文件路径。`-filter_complex`选项指定了复杂滤镜图,其中`[0:v]`表示主视频的视频流,`[1:v]`表示透明视频的视频流,`overlay=0:0`表示将透明视频叠加在主视频的左上角。最终生成的视频文件名为`output.mp4`。
相关问题
ffmpeg 透明png生成透明背景视频
使用 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
```
这样可以确保生成的视频在播放时能够正确地显示透明背景。
使用ffmpeg将图片生成幻灯片视频
使用ffmpeg将图片生成幻灯片视频的方法如下:
1. 确保已经安装了ffmpeg软件,如果没有可以在官网下载并安装。
2. 将要生成视频的图片放到一个文件夹中。
3. 打开命令行或终端,进入到存放图片的文件夹中。
4. 输入以下命令:
```
ffmpeg -framerate 1/5 -i image%d.jpg -c:v libx264 -r 30 -pix_fmt yuv420p slideshow.mp4
```
其中,-framerate指定帧率,1/5表示每秒播放5张图片;-i指定输入的图片文件名,%d表示数字占位符,可以自动识别图片的序号;-c:v指定输出视频的编码格式;-r指定输出视频的帧率;-pix_fmt指定像素格式;最后的slideshow.mp4为输出的视频文件名。
5. 执行命令,等待生成视频即可。
注意:需要保证所有图片的尺寸一致,否则生成的视频可能存在画面变形或黑边的问题。