#video #duplicate #hash #perceptual #phash

app vid_dup_finder

一个用于查找重复视频文件的命令行应用程序(以及仅限 Linux 的 GUI)

3 个版本

0.1.2 2022 年 8 月 6 日
0.1.1 2021 年 12 月 7 日
0.1.0 2021 年 10 月 30 日

#121多媒体

MIT/Apache

265KB
2.5K SLoC

视频重复查找器

视频重复查找器是一个命令行程序(以及仅限 Linux 的 GUI),用于搜索重复和近似重复的视频文件。即使视频经过

  • 调整大小(包括纵横比的变化)
  • 添加水印
  • 加字幕

视频重复查找器包含

  • 一个命令行程序,用于在文件系统中列出唯一的/重复的文件。
  • 一个可选的仅限 Linux 的 GUI(使用 GTK 编写),允许用户检查重复项并将它们标记为删除

工作原理

视频重复查找器从每个视频的第一分钟提取几个帧。它使用这些帧的 '空间' 和 '时间' 信息从中创建一个 "感知哈希"。

  • 空间组件描述了每个帧中明亮和暗淡的部分。它使用以下链接中描述的 pHash 算法生成:这里
  • 时间组件描述了每个帧中比前一帧更亮或更暗的部分。(它直接从空间哈希的位中计算得出)

生成的哈希值可以根据它们的汉明距离进行比较。较短的距离表示相似的视频。

要求

您的系统必须安装 Ffmpeg,并且可以通过命令行访问。

  • 基于 Debian 的系统:# apt-get install ffmpeg
  • 基于 Yum 的系统:# yum install ffmpeg
  • Windows
    1. https://ffmpeg.org/download.html 下载正确的安装程序
    2. 运行安装程序并将 ffmpeg 安装到任何目录
    3. 将目录添加到 PATH 环境变量中

示例

在 "dog_vids" 目录中查找所有重复的视频

  • vid_dup_finder --files dog_vids

在 "dog_vids" 中查找所有不是重复的视频

  • vid_dup_finder --files dog_vids --search-unique

在 "dog_vids" 中查找意外复制到 "cat_vids" 中的视频

  • vid_dup_finder --files cat_vids --with-refs dog_vids

排除文件或目录的搜索,例如 "dog_vids/beagles"

  • vid_dup_finder --files dog_vids --exclude dog_vids/beagles

运行 GUI 检查重复项

  • vid_dup_finder --files dog_vids --gui

许可证

根据以下任一许可证授权:

根据您的选择。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在作品中的任何贡献,都将按上述方式双许可,无需任何附加条款或条件。

依赖项

~28–41MB
~475K SLoC