ImageMagick 转换缓存目录

TPW*_*ang 2 macos terminal command-line imagemagick

我试图使用转换命令(OS X El Capitan)将.mod视频转换为它.mp4,它很快就填满了我的磁盘空间,我不得不Control+C停止它。

但重启后,磁盘空间仍然满了,我不知道缓存,即转换一半的视频在哪里,我不知道如何删除它。有人可以帮忙吗?

谢谢你!

Mar*_*ell 5

更新答案 2023 年 7 月

您可以使用以下命令获取 MAGICK_TEMPORARY_PATH:

magic identify -list configure
Run Code Online (Sandbox Code Playgroud)

它列在接近末尾的地方。

原答案

如果您设置了两个环境变量之一:

  • MAGICK_TEMPORARY_PATH

  • MAGICK_TMPDIR

然后ImageMagick将使用该目录作为其临时文件。因此,第一种检查方法是运行

env | grep -i MAGICK
Run Code Online (Sandbox Code Playgroud)

看看你是否已经设置了。

如果失败,或者如果您没有设置环境变量,我知道找到ImageMagick在磁盘上缓存的最简单方法是打开缓存调试并强制ImageMagick转到磁盘。因此,我们可以使用以下命令打开缓存调试:

convert -debug cache ...
Run Code Online (Sandbox Code Playgroud)

我们可以通过限制允许使用的 RAM 来强制ImageMagick转到磁盘:

convert -limit memory 100k ...
Run Code Online (Sandbox Code Playgroud)

所以,如果我们把它们放在一起:

convert -debug cache -limit memory 100k -size 1000x1000 xc:gray image.jpg

2016-05-19T13:25:46+01:00 0:00.000 0.000u 6.9.4 Cache convert[46510]: cache.c/SetPixelCacheExtent/3500/Cache
extend gray[0] (/var/tmp/magick-46510CYSKWOdhlrym[3], disk, 8MB)
2016-05-19T13:25:46+01:00 0:00.010 0.000u 6.9.4 Cache convert[46510]: cache.c/OpenPixelCache/3776/Cache
open gray[0] (/var/tmp/magick-46510CYSKWOdhlrym[-1], Map, 1000x1000 7.629MiB)
Run Code Online (Sandbox Code Playgroud)

而且,如果您仔细观察,您可以看到它正在/var/tmp我的 Mac OSX 上使用 - 您的系统可能有所不同,但此技术应该向您展示它正在使用什么。

作为测试,我可以设置一个环境变量并检查ImageMagick 是否正在使用它:

# Tell IM where to cache stuff on disk
export MAGICK_TEMPORARY_PATH=/tmp/TEMPPATH

# Force an operation that will require caching
convert -debug cache -limit memory 100k -size 1000x1000 xc:gray image.jpg
2016-05-19T14:09:51+01:00 0:00.000 0.000u 6.9.4 Cache convert[46584]: cache.c/SetPixelCacheExtent/3500/Cache
extend gray[0] (/tmp/TEMPPATH/magick-46584CivsEmIPjwv2[3], disk, 8MB)
2016-05-19T14:09:51+01:00 0:00.010 0.000u 6.9.4 Cache convert[46584]: cache.c/OpenPixelCache/3776/Cache
open gray[0] (/tmp/TEMPPATH/magick-46584CivsEmIPjwv2[-1], Map, 1000x1000 7.629MiB)
Run Code Online (Sandbox Code Playgroud)

关键词:ImageMagick、环境变量、tmp、TEMPDIR、TEMPPATH、缓存、磁盘、缓存