theophanemayaud / video-simili-duplicate-cleaner

https://theophanemayaud.github.io/video-simili-duplicate-cleaner/
GNU General Public License v3.0
53 stars 5 forks source link
comparing-videos duplicate-videos

Bountysource

Video simili duplicate cleaner

Find and remove duplicates : Video simili duplicate cleaner is a program that can find duplicate or simply similar video files. Video simili duplicate cleaner compares the actual video content regardless of different format or compression used, while other software only find identical files (digital video fingerprinting).

Download on the Mac App Store

Download on the Microsoft Windows

This app is made available via the Apple App Store, and Microsoft Windows Store with a small cost in order to support further development work. You are of course free to check out the source code on GitHub, report bugs, suggest new features, and contribute code ! But please support my work via the store purchases, and do not redistribute the binary, although of course you may use the code for you own projects, no problemo !

You can also support the project, or specific issues, via BOUNTYSOURCE. You can make donations for the project, or post a bounty as a "reward when a specific issue is completed". This helps identify which issues are important and should be done first.

Contact

Want to report a bug 🐞, suggest new ideas πŸ’‘, give general feedback 🧐 or have some specific question πŸ™‹ ? That's what our DISCUSSIONS PAGE is for πŸš€ Issues can also be used for bugs πŸͺ³ and feature suggestions, but it's often good to first chat about them in the discussions πŸ’¬.

Examples

In the samples folder, you will find two videos with different sizes and compression levels, which result in the following two windows of the app :

Demo video

Main window

Comparison window

Comparison window auto options

Main window results

Features

Changelog

See CHANGELOG.md file.

Roadmap

To see what is wanted and planned, see the Project Roadmap πŸ—Ί page. These things may or may not happen, in no guaranteed time frame ⏳. You can suggest ideas πŸ’‘ on the project's github issues page or our DISCUSSIONS πŸ’¬ PAGE.

Usage

Main window

After starting the program you must enter which folders to scan for video files. Folders can be added by typing them in, dragging and dropping a folder onto the window or using the folder browser button next to the input box. On macOS, you can add Apple Photos library(ies) to the search by using the dedicated button on the right of the browse folder button (for more information see the dedicated section. All folders (or libraries) must be separated by a semicolon ( ; ).

Comparison is started by pressing the "Find duplicates" button and all video files in selected folders are scanned. A lengthy search for videos can be aborted by pressing the button again (that now reads Stop). Note: some videos may be too broken for the program to read and will be rejected.

Comparison window

If matching videos are found, they will be displayed in a separate window side by side, with the thumbnail on top and file properties on bottom. They are sorted from biggest file size to smallest, to make it easier to save disk space.

Clicking on the thumbnail will launch the video in the default video player installed. Scrolling on the thumbnail with the mouse wheel will load a full size screen capture and zoom it, allowing a visual comparison of image quality. Clicking on the filename in blue will open the file manager with the video file selected.
File properties are colour coded:

Prev and next buttons: cycle backwards and forwards through all matching files.
Delete: Delete the video.
Move: Move the video to folder of opposite side.
Swap filenames: Change filenames between videos.

Beware that a poor quality video can be encoded to seem better than a good quality video.
Trust your eyes, watch both videos in a video player before making your decision of which file is better in your case.

Non exhaustive settings overview

The default settings have been chosen to get best results with a minimum amount of false positives.

Main window settings

This setting does not apply to saved pairs declare as not duplicates.

Top bar menu options

Comparison window settings

Disk cache

Searching for videos the first time using the program will be slow. All screen captures are taken one by one with FFmpeg and are saved in the file cache.db in the program's folder. When you search for videos again, those screen captures are already taken and the program loads them much faster. Different thumbnail modes share some of the screen captures, so searching in 3x4 mode will be faster if you have already done so using 2x2 mode. A cache.db made with an older version of the program is not guaranteed to to be compatible with newer versions.

Platform specific notes

MacOS Apple Photos

On MacOS, the Apple Photos app stores its photos within a container, which has the .photoslibrary extension, but it is actually a folder. The app can't delete videos directly from within that folder, as it would break Apple Photos. But it will scan for the videos and show you the duplicates.

If using iCloud photos ☁️, be sure to enable "Download Originals to this Mac" (Open the Photos app, Choose Photos > Preferences, Select iCloud, then click Download Originals to this Mac). Only videos that are downloaded to your device can be scanned.

Instead of trash, if a duplicate is detected inside the Apple Photos library and is deleted inside our app, it will simply be added to an album within Apple Photos, so you can review them and delete them from within Apple Photos. After using our app, you must open the album 'Trash from Video simili duplicate cleaner' inside Apple Photos. Inside this album, select the videos then press 'cmd' and 'delete' (or right click while pressing 'cmd', and select the option 'Delete', ⚠️ but not 'Delete from album' !!!). Finally, empty Apple Photos' trash ! πŸ—‘

Note: the file names of the videos in the Apple Photos Library will however not be meaningfull, as Apple Photos stores them with a random generated name.

Libraries/Dependencies

ffmpeg and all other libraries are packaged all within the app file. You can change ffmpeg executable by right clicking on the app, then "Show Package Contents", then navigate to where ffmpeg is located and replace it.

See DEPENDENCIES.md for more details.

Privacy Policy

This app does not collect any personnal information, in fact no information is sent anywhere.

Credits

See CREDITS.md file for more information.