首先,我从 Google 图片中获得了这张 gif,它具有透明的 Alpha channel 。
这是原始 gif(在新选项卡中打开它以查看透明度):
这是在我的屏幕上播放的录音,以防它无法在浏览器中正确显示:
然后我运行以下脚本将其转换为 webm,这是我正在使用的游戏框架所需要的。
avconv -f gif img.gif img.webm
但是它并不能保持透明度。这是一个适当透明的 webm 的覆盖层(水,取自 https://phaser.io/examples/v2/video/alpha-webm )
白色方框不应出现在 gem 周围。
最佳答案
首先将gif转换为png帧:
convert img.gif img%03d.png
然后使用此命令将它们组合成一个 webm(我必须获得外部帮助):
ffmpeg -framerate 25 -f image2 -i ./img%03d.png -c:v libvpx -pix_fmt yuva420p img.webm
关于linux - 如何将 gif 转换为 webm 并保留 alpha channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43214818/