基于Java WEB的本地照片管理系统jAlbum

新浪微博 QQ空间 腾讯微博

最近搭建了基于树莓派3的家庭NAS系统,使用btsync工具将家里的各个终端:台式电脑、笔记本和家人的各个手机上面的图片等文件都集中备份到了NAS上面。发现各个设备上面的图片存放时并没有非常严谨的分类,并且有大量的重复照片,就想着做一个管理工具放在树莓派3上面,提供web访问接口,浏览器可以直接访问,生成一个简易相册,供各个终端查看和下载照片。 想到哪儿做到哪儿,并没有非常详尽的需求分析分析和软件设计。最终实现了如下功能:

  1. 定时扫描挂载在树莓派系统上面的硬盘的指定目录,收集所有的照片文件,jpg,png类型。建立一张sqlite3数据表,存储所有照片的路径、时间、指纹和长宽比等信息。系统也支持运行在目前各个主流的操作系统:MS Windows、MAC OS和Linux上面,免安装部署。
  2. 对1步骤生成的照片库根据照片的指纹值进行剔重,生成一张新的表,确保内容相同的照片只存一条记录。并且所有记录按照照片的拍摄时间顺序排列。
  3. 提供RESTful的接口供浏览器访问和获取相册。提供分年、月、日的视图。在前端呈现上面直接使用Java生成web页面,没有用一些高级的Marker组件。
  4. 后台定时产生任务,扫描新增的文件和重建数据表。
  5. 支持mp4视频文件的呈现。(需要在本机支持ffmpeg和ffprobe命令,下载ffmpeg工具:ffmpeg.org,如果是Windows系统,则需要把exe文件直接放入C:\Windows目录下;Linux系统可以直接使用发行版的软件仓库安装该软件。)
  6. 新增后台同步照片到AmazonS3服务功能。建议设置生命周期将桶内的数据转换到Glacier以节省开支。使用最小的成本防止照片数据丢失。
  7. 使用Face++服务实现人像识别,并按照人像对照片进行归集。开启该功能需要根据Face++的提示获取访问API的密钥对。

把项目代码开源出来,托管在github上面:jAlbum (https://github.com/shentar/jAlbum) 也可以从下面的链接下载编译好的各个版本的可执行文件包:

jAlbum0.2.3版本:jAlbum_0.2.3.zip
jAlbum0.2.2版本:jAlbum_0.2.2.zip
jAlbum0.2.1版本:jAlbum_0.2.1.zip
jAlbum0.2.0版本:jAlbum_0.2.0.zip  jAlbum_0.2.0.tar.gz
jAlbum0.1.9版本:jAlbum_0.1.9.zip  jAlbum_0.1.9.tar.gz
jAlbum0.1.8版本:jAlbum_0.1.8.zip  jAlbum_0.1.8.tar.gz
jAlbum0.1.7版本:jAlbum_0.1.7.zip  jAlbum_0.1.7.tar.gz
jAlbum0.1.6版本:jAlbum_0.1.6.tar.gz

更新说明:

jAlbum_0.2.3 1、增加人像识别和按照任务归集照片功能。

jAlbum_0.2.2 1、增加后台同步照片到AmazonS3服务端实现。2、修改若干重复文件检测bug。

jAlbum_0.2.1 1、解决问题:Chrome浏览器Ranges下载时第一个Range时不按照协议实现收取所有数据,最终在页面有多个Video时会导致浏览器挂死。单页面多个Video时,提取视频文件的缩略图呈现。

jAlbum_0.2.0  1、新增Video的支持,支持对MP4视频文件呈现;2、修正稳定性和功能细节的bug。

jAlbum_0.1.9  1、PC端浏览器,增加键盘翻页,左方向键翻上一页,右方向键翻下一页。
2、改进“照片发现”性能,最快在20秒内新增照片可以呈现到页面上。
3、其他bug解决。

jAlbum_0.1.8 1、优化照片隐藏逻辑,当隐藏的照片被移动或者删除后又添加时,也不会被显示出来。
2、适配移动终端浏览器,实现触控滑动照片翻页。

jAlbum_0.1.7 自动识别图片的旋转角度,在前端呈现时自动适应浏览器并旋转到正确的方向。

jAlbum_0.1.6 修正若干bug。使用按钮代替超链接来导航相册。

jAlbum_0.1.5 1、增加前端照片旋转功能。 2、完善照片删除功能。 3、解决稳定性bug。

jAlbum_0.1.4 新增删除照片功能。在单张照片显示的页面上面可以点击删除链接“删除”该照片,该照片之后不会再显示,当然照片还存在于磁盘中,只是不再显示。

jAlbum_0.1.3 1、增加文件系统监控,利用文件系统的notify机制及时处理新的文件变更; 2、不再定时全盘扫描,只在启动时进行全盘扫描; 3、定时根据base表的变更情况刷新辅助表及时呈现新增照片。

jAlbum_0.1.1 1、支持缩略图 2、优化编译脚本 3、增加配置文件

相册的效果图

0.2.0版本截图:

主页:

index

视频合集页面:
video

0.1.1版本截图:

snapshot

新浪微博 QQ空间 腾讯微博

| 1 分2 分3 分4 分5 分 (5.00- 15票)
Loading ... Loading ... | 这篇文章归档在:Java, Jetty, WEB网络, 数据库, 软件技术
| 标签: , , , , , . | 永久链接:链接 | 评论(0) |

评论

邮箱地址不会被泄露, 标记为 * 的项目必填。

8 - 2 = *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <img alt="" src="" class=""> <pre class=""> <q cite=""> <s> <strike> <strong>






返回顶部