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

関連情報