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

Video 将PNG转换为具有透明度的webm视频,video,ffmpeg,webm,avconv,Video,Ffmpeg,Webm,Avconv,我想使用avconv将一系列PNG图像转换为WebM视频,以保持透明度 我知道输出视频中使用的像素格式必须支持透明度。所以我试着: $avconv-帧速率25-f image2-i帧/%03d.png-pix_fmt yuva420p output.webm 不幸的是,avconv抱怨: 编解码器“libvpx-vp9”的不兼容像素格式“yuva420p”,自动选择格式“yuv420p” 我正在使用ffmpeg版本2.8.4-1+b1版权所有(c)2000-2015 ffmpeg开发人员使用VP

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

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

$avconv-帧速率25-f image2-i帧/%03d.png-pix_fmt yuva420p output.webm

不幸的是,
avconv
抱怨:

编解码器“libvpx-vp9”的不兼容像素格式“yuva420p”,自动选择格式“yuv420p”

我正在使用ffmpeg版本2.8.4-1+b1版权所有(c)2000-2015 ffmpeg开发人员使用VP8:

ffmpeg -framerate 25 -f image2 -i frames/%03d.png -c:v libvpx -pix_fmt yuva420p output.webm
编辑:现在,使用VP9

ffmpeg -framerate 25 -f image2 -i frames/%03d.png -c:v libvpx-vp9 -pix_fmt yuva420p output.webm
因为,可以使用alpha通道(VP9a)对VP9/webm视频进行编码

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

ffmpeg -i frames/%03d.png output.webm

FFmpeg了解png格式,将默认帧速率设置为25 fps,并将
yuva420p
像素格式设置为输出。

您还可以使用以下命令将allready包含alpha频道的视频转换为具有透明度的webm视频:

ffmpeg -i myVideoWithAlphaChannel.mov -c:v libvpx -vf format=rgba myVideoWithAlphaChannel.mov.webm
myVideoWithAlphaChannel.mov(使用Blender3D生成)的格式为:

  • “快速时间”格式
  • “PNG”编解码器
作为输出:

  • H.264
  • RGBA

感谢您的洞察力。但无法使其工作,如果我运行您的命令,avconv会抱怨指定的pix\u fmt不受支持。我正在使用avconv版本9.18-6:9.18-0ubuntu0.14.04.1,版权(c)2000-2014切换到最近的ffmpeg版本并尝试。仍然没有成功。我现在使用的是
avconv版本11.3-6:11.3-1~可靠
,但仍然得到
指定的pix\u fmt不受支持
。在您的答案(现在更新)中,您编写了
avconv
,而不是
ffmpeg
。所以我也使用了
avconv
。与ffmpeg合作,谢谢!对于任何对Ubuntu LTS感到沮丧的人:VP9+alpha在ffmpeg 2.8.x上不起作用,你应该添加ffmpeg 3.x.I
-b:v 800k
,以提高视频比特率以获得更好的图像质量。默认值不够好,对我不起作用。ffmpeg 4.3.2,视频不透明。