ffmpeg把PNG透明背景图片序列合成透明背景视频、透明背景GIF

透明背景的照片序列:

  • 照片序列:PNG可以有alpha(透明度)通道,可以是透明背景。
  • 视频格式:在视频编辑中,大多数视频格式不支持透明度,但是有三种格式支持透明背景视频Quicktime Animation (RLE) or FFVHUFFHUFFYUV视频格式

1、接下来可以使用ffmpeg命令把PNG照片序列合成为透明背景的视频:

ffmpeg -i %d.png -vcodec qtrle movie_with_alpha.mov
ffmpeg -i %d.png -vcodec ffvhuff movie_with_alpha.avi
ffmpeg -i %04d.png -vcodec huffyuv movie_with_alpha.avi

缺点:

使用上述三种编码格式,把含有透明通道的PNG序列合成为透明背景的视频,占用的空间非常大,合出来的视频大小比所有的PNG照片序列占用存储之和还要大。

  1. ffv1 953MB
  2. huffyuv 5.19GB
  3. ffvhuff 5.19GB
  4. qtrle 2.28GB

所有的文件格式以及相应的编码格式见下表:

File Format avi,wmv,wma,asf mov mkv webm
Video Codec huffyuv qtrle huffyuv VP8
ffv1 huffyuv ffv1 VP9
ffvhuff ffvhuff ffvhuff -
lagarith lagarith lagarith -

qtrle --> .mov:巨慢,生成的文件中
ffvhuf–> .mov:巨快,生成的文件巨大
ffvhuf–> .avi:快,生成的文件巨大

# 把指定格式的视频换一个编码格式
ffmpeg -i input.mov -c:v libvpx-vp9 output.webm

视频格式全讲

  1. 常见的MPEGWMVRMVB等格式实际上都属于有损压缩,换句话说就是牺牲画质换取较小的体积。
  2. 目前常用的无损压缩编码/解码器有三种,它们分别是CorePNGHuffyuvMSU Lossless Video Codec,三者都是免费软件,在压缩比和压缩速度上可以说是各有千秋。
  3. ffv1 , FFMpeg Project 下开发的无损压缩,所以很自然的 ffdshow encoder 部分包含有它, 压缩比最大, 速度也很快, 但多半比 huffyuv 慢, 没有细看
    ffmpeg命令参数详解

2、用ffmpeg来把透明背景PNG序列合成透明背景的GIF

ffmpeg -y -i "C:\Users\Wu Xi\Desktop\新建文件夹\XKGIF\XKGIF\XKGIF\词序列测试37%04d.png" -r 24 -filter_complex "[0:v]split[a][b]; [a]palettegen=transparency_color=ffffff[p]; [b][p]paletteuse" "C:\Users\Wu Xi\Desktop\新建文件夹\XKGIF\XKGIF/merge.gif"

ffmpeg -i "./盯着你\3D%02d.png" -lavfi split[v],palettegen,[v]paletteuse "merge.gif"

#分辨率可调的合成
ffmpeg -i "./了不起\3D%02d.png" -filter_complex "[0:v]scale=700:700:force_original_aspect_ratio=decrease,format=rgba,fps=25,split[v0][v1];[v0]palettegen=reserve_transparent=on:transparency_color=00000000[v];[v1][v]paletteuse" -y 了不起.gif

原文章链接为:
ffmpeg所有详细参数详解:

猜你喜欢

转载自blog.csdn.net/baidu_41810561/article/details/128968707