将PNG转换为具有透明度的webm视频

seb*_*ian 6 video ffmpeg webm avconv

我想avconv用来将一系列PNG图像转换为WebM视频,保持透明度.

我知道输出视频中使用的像素格式必须支持透明度.所以我尝试过:

$ avconv -framerate 25 -f image2 -i frames /%03d.png -pix_fmt yuva420p output.webm

不幸的是avconv抱怨:

Incompatible pixel format 'yuva420p' for codec 'libvpx-vp9', auto-selecting format 'yuv420p'

我在用ffmpeg version 2.8.4-1+b1 Copyright (c) 2000-2015 the FFmpeg developers.

Gya*_*yan 9

使用VP8:

ffmpeg -framerate 25 -f image2 -i frames/%03d.png -c:v libvpx -pix_fmt yuva420p output.webm
Run Code Online (Sandbox Code Playgroud)

编辑:现在,使用VP9

ffmpeg -framerate 25 -f image2 -i frames/%03d.png -c:v libvpx-vp9 -pix_fmt yuva420p output.webm
Run Code Online (Sandbox Code Playgroud)

  • 对于任何对Ubuntu LTS感到沮丧的人:VP9 + alpha在ffmpeg 2.8.x上不起作用,你应该得到ffmpeg 3.x. (3认同)

cdl*_*dlv 8

2016-07-13以来,可以使用alpha通道(VP9a)对VP9/webm视频进行编码.

您只需要在该日期之后编译的ffmpeg副本.顺便说一句,你需要写的是:

ffmpeg -i frames/%03d.png output.webm
Run Code Online (Sandbox Code Playgroud)

FFmpeg理解png格式,并将输出的默认帧速率设置为25 fps和yuva420p像素格式.

  • 我添加了`-b:v 800k` 以提高视频比特率以获得更好的图像质量。默认值不够好。 (3认同)