在Plex上批量编辑专辑封面图片

问题描述 投票:0回答:1

在 Debian 11 上运行的 Plex 服务器上,我有大约 100 张专辑的封面艺术宽高比错误。 Plex 将图片保存在多个子文件夹中,名称为“com.plexapp.agents.localmedia_*”。我想将它们全部编辑为正方形而不移动它们的位置。

如何从终端以 1:1 的宽高比裁剪图片而不拉伸或缩放图像? 我会做一个备份,以防编辑破坏程序。

thisthis我认为它会是这样的。

find . -name 'com.plexapp.agents.localmedia_*' -execdir convert -gravity center -crop_to_aspect_ratio 1:1 {} +

但我收到错误:

convert-im6.q16:未定义图像 `./com.plexapp.agents.localmedia_d60dd557c42b03a3795a8d6888acc250f7cdbeec' @错误/convert.c/ConvertImageCommand/3229

图像最大尺寸约为 800 像素,因此尺寸不会导致问题。 有人做过类似的事吗

编辑:

find . -name 'com.plexapp.agents.localmedia_*'
返回专辑封面列表,如下:

./f/90f4a8c26662a47b63c96f08428ac234984ccfb.bundle/Contents/_combined/posters/com.plexapp.agents.localmedia_6273d593da3e3f94e404622d39219443ff491fdc ./f/90f4a8c26662a47b63c96f08428ac234984ccfb.bundle/上传/海报/com.plexapp.agents.localmedia_6273d593da3e3f94e404622d39219443ff491fdc ./f/ac6989a8ff7a4c4dec6d97246c514f793a96626.bundle/Contents/_stored/posters/com.plexapp.agents.localmedia_13d13e34785396b31469331563de2fa298714e67 ./f/ac6989a8ff7a4c4dec6d97246c514f793a96626.bundle/Contents/_combined/posters/com.plexapp.agents.localmedia_13d13e34785396b31469331563de2fa298714e67 ./f/609cc7429f80bd3b06467f770a9723552c685ea.bundle/Contents/_combined/posters/com.plexapp.agents.localmedia_44c9c62fb4976dd078bba17be271cb2cdb76e71a ./f/609cc7429f80bd3b06467f770a9723552c685ea.bundle/Uploads/posters/com.plexapp.agents.localmedia_44c9c62fb4976dd078bba17be271cb2cdb76e71a

请注意,图像没有扩展名。通过文件应用程序通过搜索“com.plexapp.agents.localmedia_”再次检查这一点,并确保所有结果都是图片并且全部没有扩展。

linux imagemagick imagemagick-convert plex
1个回答
0
投票

这里有几个问题:

  • 如果您使用

    convert
    ,则需要提供输入文件名格式为
    convert INPUT -gravity ... -crop ... OUTPUT
    的输出文件名。如果您使用
    mogrify
    它会就地修改文件,因此您只需要一个文件名。您似乎使用了
    convert
    和一个文件名,但这是行不通的。

  • 您正在使用

    -execdir
    而不是
    -exec
    。我不知道为什么。区别在于
    execdir
    在运行命令之前将目录更改为包含文件的目录 - 这在您的情况下似乎是不必要的。

所以,我认为您需要使用更像以下的命令:

find . -type f -name "com.plexapp.agents.localmedia_*" -exec mogrify -gravity center -crop 1:1 {} +

或者,如果你真的想使用

convert

find . -type f -name "com.plexapp.agents.localmedia_*" -exec convert {} -gravity center -crop 1:1 {} +
© www.soinside.com 2019 - 2024. All rights reserved.