Picsee怎么管理组织图片、视频等媒体素材的呢?......
第一次下载安装Picsee,打开Picsee后,程序会自动在应用程序数据目录下建立一个默认的资源库和资源束,并加载显示。应用程序数据目录并不在Picsee应用程序所在的目录:/Applications/Picsee.app,那只是程序代码包所在的位置。而是在:/Users/替换成你自己计算机用户名/Library/Containers/me.zhiquan.mac.Picsee/。
其实,Picsee运行所依赖的数据环境基本上都在:**/Users/替换成你自己计算机用户名/Library/Containers/me.zhiquan.mac.Picsee/**下。如果删除整个目录,相当于重置Picsee的本地运行环境,包括配置参数。有同学想重置Picsee,删除/Applications/Picsee.app, 再下载安装,其实是行不通的,因为这只是改变的程序执行包,Picsee执行所依赖的数据是没变。
当你在Picsee添加了关联文件夹后,程序会在后台适时解析文件夹的层次结构和存储的内容,建立索引,分析素材属性元数据进行存储,并监控关联文件夹的变化,实时与系统上的文件夹保持一致。当你在Picsee中浏览图片、视频等媒体时,会根据建立的索引,计算存储路径,素材尺寸,实时生成合适尺寸的缩略图进行显示。那么,这一个过程中建立的索引文件存放位置在哪里,结构是怎么样的呢?
索引文件的结构和位置根据Picsee偏好设置中索引文件位置配置是相对于资源库,还是相对于应用文件夹设置的不同,而不同。Picsee默认配置为相对于资源库,先介绍下这种情况。
这一情况下,资源库包下有四个文件夹,分别为local, cloud, backup, thumbnail,其中local目录罗列各个资源束的本地索引,每个资源束对应一个文件夹,在每个文件夹下,都有四个文件夹,分别为config, entity, trash, unclassified。如下图所示,图中*.realm结尾的文件是数据库文件,可以用Realm Studio (opens new window)工具打开查看,下面说明下每个文件夹的用途作用情况。
从中可以看出,在索引文件相对于资源库情况下,资源库,关联文件夹可以找到相对应的实体对象,分别为.picsLibrary文件和Finder中的文件夹,而资源束没有实体的概念,完全融入到了各个文件夹和数据库文件(.realm)中。
这种情况下,本地索引(local目录下的内容)和缩略图文件夹thumbnail放到了Picsee应用程序的数据目录下,默认资源库(.picsLibrary)放置在Album目录下,资源库保留了cloud和backup文件夹。如下图所示。
文件夹cloud, backup, thumbnail, 本地索引(config, entity, trash, unclassified)存放的内容与结构与索引文件相对于资源库中描述一致。区别在于,现在thumbnail目录在多个资源库之间共享,thumbnail和本地索引不随资源库的移动而移动,是固化在Picsee的应用程序数据目录下。此时,资源库只有backup和cloud文件夹,比较轻量,移动方便,但是缺少本地索引和thumbnail,缺少自洽的数据。如果资源库移动到其他计算机上用Picsee打开的,需重新绑定关联文件夹,并进行构建本地索引,并浏览图片/视频素材等时,也会重新生成缩略图。
Picsee 1.4.5及之前的版本,和在此基础升级上来的,旧的索引文件的结构和位置,与上述两种描述的都不同,其与索引文件相对于应用文件夹情况相差无几,在这里就不赘述了。
Picsee索引文件的结构和位置,完全是公开的,包括数据库文件里的存储信息字段,目前完全可以用工具打开查看,未进行加密和混淆,有兴趣的同学,可以基于此,做一些二次开发和利用。这样的索引文件结构的设计,完全是出于对备份、云同步、多机使用、移动拷贝资源库分享、素材文件多机引用使用、以及轻量开放等多方面考量上妥协和平衡。