Debian 11的Plex服务器批量裁剪无扩展名专辑封面为1:1比例
解决Plex专辑封面1:1裁剪的命令错误问题
错误原因
Debian 11默认预装的是ImageMagick 6.x版本,你使用的-crop_to_aspect_ratio是ImageMagick 7.x才新增的参数,因此触发了“no images defined”错误;同时批量传递无扩展名文件时,也可能导致ImageMagick无法正确识别文件格式。
解决方案
使用ImageMagick 6.x支持的语法,结合安全的原地替换逻辑(先输出到临时文件再覆盖原文件,避免损坏源文件),执行以下命令:
find . -name 'com.plexapp.agents.localmedia_*' -execdir sh -c 'convert "$0" -gravity center -crop "%[fx:min(w,h)]x%[fx:min(w,h)]+0+0" +repage temp_cover.jpg && mv temp_cover.jpg "$0"' {} \;
命令说明
-gravity center:设置裁剪基准点为图片中心-crop "%[fx:min(w,h)]x%[fx:min(w,h)]+0+0":通过内置计算取图片宽高中的较小值作为裁剪后的正方形边长,实现居中裁剪+repage:重置图片画布信息,避免裁剪后留下空白偏移- 先将处理后的图片保存为临时文件,确认处理成功后再替换原文件,防止中途出错损坏源文件
测试建议
先挑选单个文件测试命令有效性,确保裁剪结果符合预期后再批量执行:
# 替换为实际的文件路径 convert ./com.plexapp.agents.localmedia_xxxx -gravity center -crop "%[fx:min(w,h)]x%[fx:min(w,h)]+0+0" +repage test_cover.jpg
内容的提问来源于stack exchange,提问作者Asem Khen
相关产品推荐
相关产品推荐

