2017-04-04 36 views
1

出發我從谷歌的圖像,此GIF:Glitchiness當我添加透明度爲GIF並將其轉換爲WebM的

enter image description here

然後我轉換藍色的透明度:

convert octopus.gif -transparent "#00AEFF" octopus-transparent.gif 

現在我有這個(注意已經開始出現毛刺)

enter image description here

現在的壓軸戲,我把它轉換成WEBM:

convert octopus-transparent.gif tmp%03d.png 

ffmpeg -framerate 25 -f image2 -i ./tmp%03d.png -c:v libvpx -pix_fmt yuva420p octopus.webm 

請參見下面的屏幕截圖。它仍然是透明的,但大小已不再是穩定的,並坦言它的開始看起來有點令人毛骨悚然:

enter image description here

我真的不知道很多關於視頻編解碼器和我剛剛拿到了這麼遠在別人的幫助下我希望能夠提供一些建議,告訴我如何改變這些命令來避免這些故障。

+1

你的問題是,你使用GIF處理方式1,你應該強制/使用2或3,而不是看到重複:如何解決.gif注意與損壞的alpha通道(卡住的像素)與Graphicsmagick收集?](http://stackoverflow.com/a/43316830/2521214)在接受的答案在這裏'-dispose背景'確實如此:) – Spektre

回答

2

您的問題可能是由於從優化不等大小的幀,所以加-coalesce你的指揮,所以它是

convert octopus.gif -coalesce -fuzz 25% -transparent "#00AEEF" miff:- | convert -dispose background - octopus-transparent.gif 

如果你只是想再次保存爲GIF,你可以添加 - 保存前進行層優化。但是如果你想輸出到webm,你可能需要避免-layers優化。

你也沒有恆定的藍色,所以你需要-fuzz。

要轉換的管道允許設置dispose方法。它在第一次轉換時不會內聯,因爲它需要在讀取輸入後立即設置,因此將拾取藍色背景而不是透明。

什麼是您的IM版本?也許你需要升級。我得到這個使用IM 6.9.8.3 Q16:

enter image description here