⚙️ Algorithm Settings
The program uses two video comparison algorithms. Choose the one that suits your tasks.
🌀 pHash (time‑consuming)
🎯 Best suited for: finding nearly identical videos with changes in quality, size, or slight cropping.
- Speed: 🐢 Medium – depends on the number of frames.
- Accuracy: 🎯 High.
- Resource consumption: 💾 Low.
- Recommended threshold: 0.7.
Configuration parameters:
- pHash frames: the number of frames to analyse (recommended 30). More frames = more accurate, but slower.
- Neighbourhood size: allows matching a frame not only at the same position but also in neighbouring frames (accounts for small time shifts). 0 – strict order, 3 – neighbourhood of 7 frames (recommended).
- Adaptive neighbourhood: automatically increases the neighbourhood for short videos to avoid missing matches.
How it works: Creates perceptual hashes for each frame and compares them taking the neighbourhood into account, using Hamming distance.
🧠 CNN+Faiss (advanced, AI‑powered)
🎯 Best suited for: maximum accuracy, even if videos differ greatly in quality, resolution, or have been cut/merged.
- Speed: 🐢 Slow (depends on the number of frames and the model).
- Accuracy: 🎯 Very high.
- Resource consumption: 💾 High.
- Recommended threshold: 0.85.
- Recommended number of frames: 100.
Configuration parameters:
- CNN frames: the number of frames to analyse (recommended 100). Fewer than 50 – low accuracy, more than 500 – extreme load.
- Model: resnet18 (faster), resnet50 (more accurate), efficientnet_b0 (balanced).
- Neighbourhood size: similar to pHash – takes neighbouring frames into account.
- Adaptive neighbourhood: for short videos.
⚠️ CNN+Faiss load levels (depending on the number of frames):
| Frames |
Load level |
Recommendation |
| < 50 | Insignificant | Can be used, but accuracy is low |
| 50–99 | Low | Good for quick checks |
| 100–249 | Below average | Optimal (recommended) |
| 250–499 | Average | Be careful – may take a long time |
| 500–749 | Above average | Requires a lot of time |
| 750–999 | High | Slow, use only when necessary |
| > 1000 | Extreme | Very slow! Use only on very powerful computers. |
🎯 How to choose the algorithm
- Start with pHash with 30 frames and a threshold of 0.7 – fast and accurate enough for most duplicates.
- If pHash misses similar videos (e.g., different resolutions or slight cropping), try pHash with a larger neighbourhood (5‑7).
- For maximum accuracy use CNN+Faiss with 100 frames and a threshold of 0.85 – it will find even heavily modified versions.