#hash #duplicate #perceptual #phash

vid_dup_finder_lib

一个查找近似重复视频文件的库

2个版本

0.1.1 2022年8月6日
0.1.0 2021年10月30日

#230视频

Download history 564/week @ 2024-03-14 624/week @ 2024-03-21 647/week @ 2024-03-28 402/week @ 2024-04-04 411/week @ 2024-04-11 465/week @ 2024-04-18 447/week @ 2024-04-25 419/week @ 2024-05-02 336/week @ 2024-05-09 392/week @ 2024-05-16 314/week @ 2024-05-23 296/week @ 2024-05-30 247/week @ 2024-06-06 246/week @ 2024-06-13 243/week @ 2024-06-20 178/week @ 2024-06-27

938 每月下载量
用于 6 个库(3 直接)

MIT/Apache

2.5MB
912

视频重复查找器

vid_dup_finder在磁盘上查找近似重复的视频文件。它检测看起来相似的帧,并且视频长度大致相同(在~5%以内)。

vid_dup_finder可以与大多数常见的视频文件格式兼容(任何由FFMPEG支持的格式)。

工作原理

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

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

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

要求

您的系统上必须安装FFmpeg,并且可通过命令行访问。您可以通过以下方式完成此操作:

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

限制

vid_dup_finder可以找到对视频进行微小修改后的重复项,例如调整大小、小范围的颜色校正、小范围裁剪或微弱的水印。如果有较大变化(翻转或旋转、嵌入到不同视频的角落等),它将不会找到重复项。

为了在处理大数据集时节省处理时间,vid_dup_finder仅使用任何视频的前30秒的帧。vid_dup_finder在内容长度相同且前30秒相同的情况下可能会返回假阳性(例如,一系列卡通片的开场序列)。

假阳性

因为该库只检查每个视频的前30秒,如果两个视频长度相同并且共享前30秒的视频内容,它们将被报告为错误匹配。这可能发生在包含开场白的电视节目中。

许可证

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

任由您选择。

贡献

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

依赖项

~19MB
~182K SLoC