- 原始版本项目源码地址:
https://github.com/0x90d/videoduplicatefinder - Docker容器化版本项目源码地址:
https://github.com/jlesage/docker-video-duplicate-finder - Docker快速启动命令示例:
docker run -d --name video-duplicate-finder \
-p 5800:5800 \
-e LANG=zh_CN.UTF-8 \
-e TZ=Asia/Shanghai \
-e USER_ID=$(id -u) -e GROUP_ID=$(id -g) \
-v $(pwd)/data:/config:rw \
-v /<path-to-photos>:/storage:rw \
docker.1ms.run/jlesage/video-duplicate-finder
- Docker Compose配置文件示例:
services:
video-duplicate-finder:
image: docker.1ms.run/jlesage/video-duplicate-finder
container_name: video-duplicate-finder
restart: unless-stopped
ports:
- "5800:5800"
environment:
- LANG=zh_CN.UTF-8
- TZ=Asia/Shanghai
volumes:
- ./data:/config:rw
- /<path-to-photos>:/storage:rw # 将Nas设备上的相册目录挂载到Docker容器的/storage目录下
许多用户在部署过程中反馈镜像拉取困难或需要加速服务,因此本教程中已经预先集成了Docker镜像加速地址docker.1ms.run,该地址来源于公开网络资源,用户可直接使用,但无法保证其长期稳定性。
项目介绍与需求背景
许多用户在从群晖系统迁移到OMV或其他NAS解决方案后,由于尝试了多种不同的相册备份方法和工具,每种工具都可能将文件存储到独立的目录或采用不同的存储结构,最终导致NAS设备上积累了大量重复的照片和视频文件,迫切需要一种有效的去重解决方案。
用户通常对文件去重工具有一些基本期望,包括能够自动扫描备份目录下的所有照片和视频文件,自动识别并列出重复项目,如果还能提供自动删除重复文件的功能则更为理想。长期以来,这类工具在NAS平台上较为稀缺,但如今我们发现了一个名为video-duplicate-finder的优秀工具,它不仅能够精确查找重复文件,还能识别相似内容,例如手机拍摄的同一场景多次照片。
该工具的主要特点包括不依赖文件名或哈希值,而是采用先进的图片相似度算法来检测重复文件;能够识别分辨率、帧率差异或添加水印的重复内容,特别适合处理经过压缩、转码或裁剪的视频文件;支持强大的匹配规则,用户可以一键选择所有重复文件并进行删除或移动操作。
安装步骤与使用体验
通过上述Docker快速启动命令即可直接运行服务,唯一需要注意的是将路径/<path-to-photos>替换为用户自己的实际相册存储路径。启动完成后,通过浏览器访问地址:http://<nas-ip>:5800即可进入管理界面。

本文展示的截图是已完成扫描后的界面效果,新用户首次使用时会看到空文件列表。此时无需进行复杂配置,因为项目作者已经根据多数用户的使用经验设置了合理的默认参数,直接点击界面左上角的Scan按钮即可开始扫描过程。根据测试,包含上万张图片和视频文件的NAS目录,完整扫描时间大约需要半小时左右。
要实现一键删除功能,需点击左上角Selection选项,根据个人需求设定自动选择规则。对于追求效率的用户,建议直接选择第一项默认规则,经实际验证该规则准确度较高,能够有效避免误删。选择完成后,系统会高亮显示所有重复文件,此时可点击左上角Delete Selection执行删除操作。

虽然工具提供了将重复文件移动到临时目录的选项,但实践经验表明这些暂存文件很少会被再次查阅,因此建议直接选择删除选项以彻底解决问题。操作完成后,可以通过左上角Rescan按钮重新扫描目录,验证是否还有残留的重复文件。

总结与优缺点分析
该工具采用C#语言编写,运行效率较高,但直接部署原项目版本存在一定技术难度,因此推荐使用Docker容器化版本进行快速部署。虽然它能有效解决NAS存储空间被重复文件占用的问题,但需要注意的是,一旦完成去重操作,该工具的日常使用频率可能会降低,用户可根据实际需求决定是否长期保留该服务。