it-swarm.dev

PNG 파일에서 GIF 애니메이션 만들기

gif 파일 세트에서 png 애니메이션을 만드는 도구가 있습니까?

ImageMagick suite에서 convert 명령을 시도했지만 항상 성공하지는 않습니다. 또한 몇 가지 문제가 있습니다.

  1. 진행 상황을 알 수 없습니다.
  2. 내가 무엇을 시도하든 -delay 플래그는 gif 애니메이션의 프레임 속도를 변경하지 않습니다.
  3. convert는 파일 이름의 알파벳 순서에 따라 프레임 순서를 결정합니다. 이것은 name500.pngname50.png 및 이후 name450.png 0을 추가하여이 문제를 해결할 수 있지만 성가신 일입니다.
89
Yotam

최신 버전의 ffmpeg에는 -sameq ( faq )가 없지만 GIF ​​지원 기능이 있습니다.

ffmpeg -i %03d.png output.gif

여기서 % 03d는 3 자리의 프레임 ID입니다.

ffmpeg를 사용하여 이미지 시퀀스에서 영화를 만든 다음 영화를 GIF 애니메이션으로 다시 변환 할 수도 있습니다 (ffmpeg 사용).

# cf. http://pages.uoregon.edu/noeckel/MakeMovie.html

# first convert an image sequence to a movie
ffmpeg -sameq -i %03d.jpg output.mp4

# ... and then convert the movie to a GIF animation
ffmpeg -i output.mp4 -pix_fmt rgb24 -s qcif -loop_output 0 output.gif
54
nano

convert는 편리한 명령 줄 도구입니다. cd png 파일이 들어있는 폴더로 이동 한 후 다음 명령을 실행하십시오.

convert -delay 10 -loop 0 *.png animation.gif

출처 : http://ubuntuforums.org/showthread.php?t=1132058

91
RobinJ

convert--delay 옵션은 명령 행의 다음 이미지에만 적용됩니다. 그래서 convert -delay 10 *는 첫 번째 프레임의 지연 시간 만 0.1 초로 설정합니다. 옵션을 반복해야합니다.

convert $(for a in *; do printf -- "-delay 10 %s " $a; done; ) result.gif

정렬이 필요한 경우 변환은 프레임을 정렬하지 않습니다. Shell globing * 않습니다. 프레임 번호가 0에서 700까지 인 것을 알고 있다면 직접 숫자를 계산할 수 있습니다.

convert $(for ((a=0; a<700; a++)); do printf -- "-delay 10 name%s.png " $a; done;) result.gif
20
BatchyX

업데이트 :

Png-to-gif에 convert를 사용하고 애니메이션에 gifsicle 을 사용하십시오. 그것은 하나의 응용 프로그램이 아닙니다 모든 솔루션이지만 스크립트 가능합니다.


GIMP 애니메이션 GIF 생성 및 타이밍/지연 및 반복 등에 대한 제어를 제공합니다.

7
gregnotcraig

가장 중요한 GIF 옵션 + 테스트 데이터

이 답변 을 보완하려면 :

wget -O opengl-rotating-triangle.Zip https://github.com/cirosantilli/media/blob/master/opengl-rotating-triangle.zip?raw=true
unzip opengl-rotating-triangle.Zip
cd opengl-rotating-triangle
ffmpeg \
  -framerate 60 \
  -pattern_type glob \
  -i 'tmp.*.png' \
  -r 15 \
  -vf scale=512:-1 \
  out.gif \
;

테스트 데이터는 다음과 같이 생성되었습니다 : https://stackoverflow.com/questions/3191978/how-to-use-glut-opengl-to-render-to-a-file/14324292#14324292

강조하고 싶은 중요한 ffmpeg 옵션은 다음과 같습니다.

  • -patter_type glob : 이미지를 선택하는 편리한 방법
  • -framerate 60-r 15 : 입력 이미지에서 60 FPS를 가정 (비디오 형식과 같이 이미지에 FPS 데이터가 없으므로 ffmpeg는 달리 알 수 없음), 4 개의 이미지마다 하나를 선택하여 크기를 줄입니다 (4 == 60 / 15)
  • -vf scale=512:-1 : 일반적으로 크기를 줄이고 공간을 절약하기 위해 너비, 스케일 높이를 비례 적으로 설정

또한보십시오:

우분투 18.10에서 테스트, ffmpeg 4.0.2.

ImageMagick은 양질의 gif 애니메이션을 생성 할 수 있습니다. 이 비디오 확인- http://www.youtube.com/watch?v=OFusYizJ-bA

2
xyz

포인트 2와 관련하여

내가 가진 ImageMagick "디스플레이"버전 (ImageMagick 6.7.2-7 2017-01-12)의 버전은 애니메이션 gif를 생성하기 위해 convert 명령을 사용하여 설정된 프레임 속도를 무시합니다. firefox와 같은 애니메이션 GIF를 보려면 다른 프로그램을 사용해보십시오.

0
user8388891