Find and remove duplicate media files by comparing their actual audio/video content — not just filenames or metadata.
Traditional duplicate finders hash the entire file, so two files with identical audio but different ID3 tags or filenames slip through. This tool uses ffmpeg's MD5 muxer to hash only the decoded media stream, catching duplicates that other tools miss.
# Dry-run: find duplicates without deleting anything
./delete-media-duplicates.sh /path/to/media/
# Delete duplicates (keeps one copy of each)
./delete-media-duplicates.sh --delete /path/to/media/
# Verbose output
./delete-media-duplicates.sh --verbose /path/to/media/- Bash 4.0+
- ffmpeg
| Flag | Description |
|---|---|
--delete |
Remove duplicates (default is dry-run) |
--verbose |
Show per-file processing details |
--help |
Show usage information |
Any format ffmpeg can decode: MP3, FLAC, WAV, OGG, AAC, MP4, AVI, MKV, and many more. Non-media files are skipped with a warning.
See the docs/ folder for detailed guides:
- Usage — full usage instructions and performance notes
- Development — project structure and design decisions
- Testing — running and extending the test suite
Built on the shoulders of two giants: