ImageMagick은 애니메이션 GIF 변환을 거부하고 CPU 문제로 인해 프로세스를 자동으로 종료합니다.

ImageMagick은 애니메이션 GIF 변환을 거부하고 CPU 문제로 인해 프로세스를 자동으로 종료합니다.

나는 성공하지 못한 채 아래 솔루션을 사용해 보았습니다.

내 애니메이션 GIF는 13.5MB입니다. 내 컴퓨터에는 16GB RAM 메모리가 있습니다. 저는 8개의 AMD Ryzen 7 2700X CPU를 가지고 있습니다. 오류가 발생합니다.

$ convert -limit memory 2MB -limit map 2MB -limit area 1000MB -delay 2 -loop 0 "Bug do pagamento.gif" Extraídos/bug.png
convert: unable to write pixel cache '/tmp/magick-RSymnnZRmXzueDXGI3ehEtIiUkBcymGa': Sem espaço livre no dispositivo @ error/cache.c/WritePixelCachePixels/5830.
convert: corrupt image `Bug do pagamento.gif' @ error/gif.c/DecodeImage/505.
convert: corrupt image `Bug do pagamento.gif' @ error/gif.c/ReadGIFImage/1368.
convert: no images defined `Extraídos/bug.png' @ error/convert.c/ConvertImageCommand/3285.
zsh: exit 1     convert -limit memory 2MB -limit map 2MB -limit area 1000MB -delay 2 -loop 0 
convert -limit memory 2MB -limit map 2MB -limit area 1000MB -delay 2 -loop 0   2,75s user 2,73s system 99% cpu 5,505 total

사용 LANG=C:

$ LANG=C convert -limit memory 2MB -limit map 2MB -limit area 1000MB -delay 2 -loop 0 "Bug do pagamento.gif" Extraídos/bug.png
convert: unable to write pixel cache '/tmp/magick-RlftdgBD6MZCwArQzkuz5QI-kJtui7yk': No space left on device @ error/cache.c/WritePixelCachePixels/5830.
convert: corrupt image `Bug do pagamento.gif' @ error/gif.c/DecodeImage/505.
convert: corrupt image `Bug do pagamento.gif' @ error/gif.c/ReadGIFImage/1368.
convert: no images defined `Extraídos/bug.png' @ error/convert.c/ConvertImageCommand/3285.
zsh: exit 1     LANG=C convert -limit memory 2MB -limit map 2MB -limit area 1000MB -delay 2  
LANG=C convert -limit memory 2MB -limit map 2MB -limit area 1000MB -delay 2    2,84s user 2,60s system 99% cpu 5,454 total
  • tmpfs:
LANG=C df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           7,9G  7,2M  7,9G   1% /tmp

답변1

ffmpeg나는 마침내 그 일을 누가 할 것인지를 물었습니다 .
24M 비디오를 2.8M gif로 변환하는 데 사용한 명령입니다.

ffmpeg -i <input_file>.mp4 -r 15 -vf scale=512:-1 out.gif

관련 정보