2016-01-24 205 views
0

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

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

$ avconv -framerate 25 -f图像2 -i帧/%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

+1

[avconv!= ffmpeg](http://stackoverflow.com/q/9477115/5726027) – Mulvya

回答

5

随着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 
+0

感谢您的洞察力。如果我运行你的命令,但不能让它工作,avconv会抱怨'指定的pix_fmt不支持'。我正在使用'avconv版本9.18-6:9.18-0ubuntu0.14.04.1,版权所有(c)2000-2014' – sebastian

+0

切换到最近的ffmpeg版本并尝试。 – Mulvya

+0

仍然没有运气。我现在正在使用'avconv 11.3-6:11.3-1〜trusty',并且仍然得到'指定pix_fmt不支持'。 – sebastian

5

由于2016-07-13,有可能以编码VP9/WEBM alpha通道(VP9a)视频。

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

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

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

+0

我为增加的视频比特率添加了'-b:v 800k'以获得更好的图像质量。默认值不够好。 – Alex