2017-04-04 7 views
1

내가 구글 이미지에서이 GIF이 떨어져 시작 WEBM로 변환 할 때 :Glitchiness 나는 GIF로 투명성을 추가하고

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

:

다음

enter image description here

내가 투명성에 파란색 변환을 이제 이걸 가지고 있습니다. (이미 글리치가 나타나기 시작했습니다.)

enter image description here

(210)

이제 그랜드 피날레, 나는 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 중요 수정하는 방법 (픽셀 붙어있는) Graphicsmagick 함께 수집 된?] (http://stackoverflow.com/a/43316830/2521214)'-dispose background'는 여기에 허용 된 대답을 정확하게 않습니다 :) 그러나 – Spektre

답변

2

귀하의 문제는 당신이 추가 할 수 있습니다, 때문에 최적화에서 불평등 한 크기의 프레임 수, 그래서

그냥 다시 GIF로 저장하려면

convert octopus.gif -coalesce -fuzz 25% -transparent "#00AEEF" miff:- | convert -dispose background - octopus-transparent.gif 
입니다 그래서, 당신의 명령에 -coalesce을 추가 할 수 있습니다 - 저장하기 전에 레이어 최적화 그러나 webm으로 출력하려면 -layer 최적화를 피할 필요가 있습니다.

또한 파랑 색이 일정하지 않으므로 -fuzz가 필요합니다.

변환 할 파이프를 사용하면 dispose 메서드를 설정할 수 있습니다. 첫 번째 변환에서 인라인으로 작동하지 않습니다. 입력을 읽은 직후에 설정해야하기 때문에 투명하지 않고 파란색 배경을 픽업합니다.

메신저 버전은 무엇입니까? 아마도 업그레이드가 필요할 것입니다. 나는이 사용 IM 6.9.8.3 Q16을 얻을 :

enter image description here