黑群晖6.2到7.2的苹果照片 IOS18 HEIC预览图修复
最近换了新手机,发现我的黑群晖(6.2.1)无法显示新手机的照片,老的iphone停在ios16的照片则显示正常。
网上搜了一下,找了个虚拟机安装群晖7.2.2 结果失败,依旧无法生成新照片的预览图;安装群晖7.2.1,破解ace手机上传的旧照片倒是能显示,但是同样新照片无法显示预览图。
7.2.2 Web上传的图片无法由服务器生成预览图
7.2.1 无法生成ios18 的预览图经过一番搜索,外网上是有反馈IOS18后,苹果改了heic图片的格式,原来的程序无法将新heic转换成jpg,所使用的组件是libheif(https://github.com/strukturag/libheif)。
在群晖里搜了一下,发现在6.x里的/usr/lib里存在libheif。7.x在/usr/lib和/var/packages/CodecPack/target/pack/usr/lib/存在libheif。
尝试手动编译libheif失败。最后在synocommunity上发现编译好的imagemagick,里面就有libheif。下载安装imagemagick,直接链接新的libheif,上传张图片,成了。
更新libheif后能正常生成新老版本的heic照片都可以生成。总结一下共享给大家。
在Synology 6.2~7.2 的版本上可以做如下操作
1. 从https://synocommunity.com/package/imagemagick 上安装 imagemagick
手动下载或在线安装(下载的包不支持6.2.1,要修改包里的最小版本号)
在套件中心安装2. 备份原来的libheif版本
6.2版本上
mv /usr/lib/libheif.so /usr/lib/libheif.so.bak
mv /usr/lib/libheif.so.1 /usr/lib/libheif.so.1.bak
7.2版本上还需要执行
mv /var/packages/CodecPack/target/pack/usr/lib/libheif.so /var/packages/CodecPack/target/pack/usr/lib/libheif.so.bak
mv /var/packages/CodecPack/target/pack/usr/lib/libheif.so.1 /var/packages/CodecPack/target/pack/usr/lib/libheif.so.1.bak
3. 查看imagemagick 里的libheif版本
ls -l /var/packages/imagemagick/target/lib/ |grep libheif
4. 链接libheif
ln -s /var/packages/imagemagick/target/lib/libheif.so.1.18.2 /usr/lib/libheif.so.1.18.2
ln -s /var/packages/imagemagick/target/lib/libheif.so.1.18.2 /usr/lib/libheif.so
ln -s /var/packages/imagemagick/target/lib/libheif.so.1.18.2 /usr/lib/libheif.so.1
7.2上还需要执行
ln -s /var/packages/imagemagick/target/lib/libheif.so.1.18.2 /var/packages/CodecPack/target/pack/usr/lib/libheif.so.1.18.2
ln -s /var/packages/imagemagick/target/lib/libheif.so.1.18.2 /var/packages/CodecPack/target/pack/usr/lib/libheif.so
ln -s /var/packages/imagemagick/target/lib/libheif.so.1.18.2 /var/packages/CodecPack/target/pack/usr/lib/libheif.so.1

执行完了,上传张照片试试。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

零点LEON
校验提示文案
此处河神
校验提示文案
零点LEON
校验提示文案
此处河神
校验提示文案