ImageMagick转换和GNU并行在一起

aeu*_*ere 5 parallel-processing gnu imagemagick imagemagick-convert

我想加快以下命令:

convert -limit memory 64 -limit map 128 -antialias -delay 1x2 final/*.png movie.mp4
Run Code Online (Sandbox Code Playgroud)

我看过其他博客文章,其中并行和转换一起使用,所以我想知道如何使它与上面的命令一起使用.

Mar*_*ell 10

如果缩小是一个选项,是的,你可以用GNU Parallel轻松做到这一点

parallel -j 8 convert {} -resize ... {} ::: *.png
Run Code Online (Sandbox Code Playgroud)

where {}代表文件名,并在之后列出要处理的文件:::.

-j 给出并行运行的作业数.

我刚刚创建了100 PNGx 10,000 x 8,000,并在8分钟内依次将它们调整为2,000 x 1,200

#!/bin/bash
for f in *.png; do
    convert $f -resize 2000x1200! $f
done
Run Code Online (Sandbox Code Playgroud)

然后,再次使用相同的原始图像,但使用GNU Parallel

parallel convert {} -resize 2000x1200! {} ::: *.png
Run Code Online (Sandbox Code Playgroud)

花了3分40秒.随后将这些100 PNG秒制作成电影需要52秒.