2017-02-27 1 views
1

로 촬영하여 GIF의 N 번째 프레임을 추출하는 방법 투명도의, 나는 diff 압축의 일종 때문에 가정합니다.누적 투명 나는</p> <pre><code>convert my.gif my.png </code></pre> <p>문제는 제외한 모든 프레임이 처음이 많이 포함되어 있다는 것입니다 내가 그 구성 프레임으로 애니메이션 GIF를 폭발 ImageMagick를 사용할 수 있습니다 알고 계정

첫 번째 프레임이 적용된 이후의 모든 투명 레이어가 적용된 후 최종 렌더링에 표시되므로 N 번째 프레임을 별도의 파일로 만들고 싶습니다. 이것은 1080p 프레임의 매우 큰 (기가 바이트) 파일이므로 N을 제외한 모든 파일을 추출하고 싶지는 않습니다.

어떻게하면됩니까? 비대화 형 솔루션이 필요합니다.

답변

0

이이 N의 당신의 계산 가능성이 NImageMagick를의 개념 다를 수 있도록, 각 1080p의 프레임에 대응하는 하나 이상의 GIF 프레임이있을 수로 작동 할 것으로 예상하는 방법을 100 % 확인합니다. 예를 들어 최적화의 일환으로 ImageMagick은 프레임의 부분 클리어를 2 번 수행하고 두 번 더 덮어 쓰기를 선택하여 단일 1080p 프레임을 렌더링하여 각 프레임마다 값이 달라지게 할 수 있습니다.

어쨌든, 당신은 모든 전체 프레임을 렌더링하는 데 필요한 부품을 한 다음 주변 프레임을 삭제를 다시 ImageMagick를을 강제로 -coalesce 옵션을 사용하여 실험을 시도 할 수 있습니다. 다음 적어도 집중적 원하는 일 이전에 모든 프레임을로드 및로드 나중에 사람을 귀찮게하지 아마

convert a.gif[784] -coalesce frame784.png 

:

최소 리소스를 많이 사용 옵션을 시도하고 하나의 프레임을로드 아마도 :

:

convert a.gif[0-784] -coalesce -delete 0-783 frame-784.png 

가장 리소스를 많이 사용하는 옵션,하지만 일 가능성이 가장 높은 사람은, 불필요한 것들을 모든 프레임을로드 한 후 삭제 아마

데이터를 잘 모릅니다. 사용해보고 사용해보십시오.

+0

감사합니다. "각 1080p 프레임에 해당하는 하나 이상의 GIF 프레임이있을 수 있습니다"라는 의미를 설명해 주시겠습니까? – spraff

+0

GIF 최적화의 일부로, ImageMagick은 1080p 프레임 N에서 1080p 프레임 N + 1까지 얻을 수있는 최적의 방법을 결정합니다. 단일 GIF 프레임에 차이점을 저장하거나 왼쪽 위 모서리를 하나의 "GIF"연산으로 지우고, 그 왼쪽 위 모서리의 일부를 다른 "GIF"연산으로 다시 그린 다음 맨 위에 무언가를 그립니다 다른 "GIF"작업과 마찬가지로 중간에 다른 "GIF"작업으로 무언가를 그립니다. 단일 1080p 프레임에 대해 4 개의 GIF * "프레임"*이 있으므로 프레임 번호가 일치하지 않을 수 있습니다. –

관련 문제