基于web图片素材管理搭建
简介Eagle的问题:BillFish的问题个人的需求部署宝塔面板安装安装Piwigo相册操作- 虚拟相册 :- 实体相册:操作部分其他应用
简介
为什么选择这个基于web端的图片管理工具Piwigo:
目前关于图片素材管理的软件也比较多,Eagle,花瓣pro,BillFish。虽然他们都有自己的一些优势,也能利用一些特殊方法在多端同步。但是都有一个问题,比如我用过的Eagle,和BillFish。
Eagle的问题:
的确,当时用上的时候,让我眼前一亮的软件,无论从主题界面,图片素材的收集,操作功能,支持格式,还是其他方面都满足了预期,直接入手了付费版本,经过一段时间的使用,整体来看Eagle在单机图片管理软件领域也算是最好的选择,但是有很多问题,他是基于Electron+json这样的开发模式。导致多人使用的TB级别的素材的时候速度比较慢。有时候打开需要半个小时,非常影响体验。
并且内存占用也比较高,文件存储结构会改变,比如:
1
这样如果你原始的文件架构就要保留一份副本,如果不保留,未来某天不再使用eagle,还原起来也是非常麻烦,如果数据量巨大,还不知道能不能还原。
BillFish的问题
这个是最近2020年6月份新推出的,体验和测试的时候发现了一些比较严重的BUG,后面的更新旧的没有修复,还出了新的,也就使用得比较少。不过他是基于Qt+SQLit,支持的格式相对比较少,文件的结构也是和Eagle比较相似。
1\\图库名字\文件夹名字
只是因为他是使用的SQLite,所以在开始需要建立db connection之类的额外开销,但数据量到一定规模的时候SQLite的存储引擎应该会相当于JSON带来明显的优势,SQLite的存储效率和查询效率都很高,并且所支持的聚合、索引、高可用等需求都是JSON所不具备的,更重要的是数据库的存在只是为了持久性和容灾。
个人的需求
支持EXIF信息
由于部分文件由于一些软件和数据的多次移动,文件的创建时间和修改时间已经出现混乱,如果通过EXIF进行读取,相对会更方便。支持保留原始的文件结构
目前两个软件的文件夹命名都是基于随机生成的文件名,对于以后不使用他,就比较麻烦。所以需要用爬虫去爬取的一些素材存到特定的位置,就直接使用即可。其他
能批量通过标签组管理,添加自定义描述即可,能多平台使用,不需要安装各种软件。
综合这些情况,后面我找到了Piwigo。算是在很多地方满足的大部分的需求。
目前我找到比较好用的是Piwigo和chevereto。主要是因为开源免费、可编辑、可扩展
这里以Piwigo为例。
部署
Piwigo的运行环境:
Mysql至5+、PHP 推荐53+低于7
项目地址:https://cn.piwigo.org/get-piwigo
能适用于:群晖NAS,本地windows,云服务器,低功率的Linux系统的主机.
最好是低功率能24小时开机。
我这里以云服务器为例:
如果不熟悉Linux系统,建议安装一些运维管理系统,比如我这里用的是宝塔面板。
宝塔面板安装
由于我安装的是centos系统,安装命令是:
1yum
输入bt可以看到相关设置:
安装Piwigo
下载源码:
1
并且解压到网站的根目录:
建立一个数据库:
添加站点,指定到根目录:
如果有多个站点,可以使用一个IP多个端口:
进入安装界面,按要求填写:
进入后台,如果发现以下错误:exif的解决方法:
相册操作
相册是gallery的基本结构,分为2类:虚拟virtual和实体physical
- 虚拟相册 :
虚拟相册不对应实体的文件夹,更像是数据库中的逻辑结构,可以从管理面板-相册-管理中创建虚拟相册
- 实体相册:
如果使用ftp+同步的方式添加图片到gallery,那么就相当于创建了实体相册。实体相册表示的是在服务器下galleries文件夹下的任何层级的目录。如果是远程,那么可以通过ftp传输,如果在本地,可以直接对文件夹进行操作。每个相册都可以存在很多等级
我觉得相册管理可以以实体相册为主,因为虚拟相册可以在不移动相片的情况下,将其加入任何实体相册,而实体相册的移动则伴随着相片的移动,比较费时。
在galleries下面,可以先建立事件简述的形式再建立文件夹,然后在把各个大硬盘都挂载到这个目录,如果是windows可以利用软链接,把其他盘符链接到这里。
对于虚拟相册则比较灵活,可以以主题等形式灵活创建
在进行图片整理得过程中,可能会需要移动照片。但是,移动照片后,piwigo再进行同步时,会将移动过的照片的信息在数据库中删除,然后在新的位置添加。这样,已经添加过的metadata就消失了。为了解决这个问题,可以使用physical photo move
插件
操作部分
标签组:
同步本地相册:
图片浏览:
他的搜索支持正则的方式去输入:
手机端:
其他应用
服务器或者nas我们还需要远程进行管理,或者下载素材到硬盘,简单的方式
下载到固定的位置,也可以通过SSH远程去操作,不限操作平台。