Tidy up your movie collection


For anyone with a large movie collection who craves file organization, movietidy is a nodejs project that helps you keep your movies... tidy.

This project is early in dev and a WIP. Please file issues!

Point movietidy at your movie directory and it will do the following (any file deletion requires your approval):

  • Delete all non-movie files (subtitle files are optional, see usage below)
  • Delete all corrupt/incomplete movie files
  • Delete all sample files
  • Delete files under a specified size
  • Process files to find dupes; keep the highest resolution of the dupes and delete the rest
  • Process files to find dupes; keep the largest sized file of the dupes (if they are the same resolution) and delete the rest
  • Delete empty directories
  • Your movie files follow a similar naming pattern (such as Young Frankenstein (1974).mkv)

If starting from scratch, it is easiest to install the Apple Command Line Tools. Download the binary for your version of OSX here: Apple Developer Downloads

Install Node and NPM on OSX (tested on 10.9). NodeJS is the scripting language used for these tools and must be installed on your system. We also need ffmpeg for file metadata probing. The quickest way to do this is via brew. To install brew, then node, and lastly ffmpeg:

ruby -e "$(curl -fsSL"
brew install node
brew install ffmpeg
sudo npm install -g movietidy

Point movietidy at the movie directory you would like to process with --path:

$ movietidy --path ~/Movies/

To look for and clean up files under a specific file size, simply add the --size option (in megabytes):

$ movietidy --path ~/Movies/ --size 500

By default movietidy ignores subtitle files. For the option to delete them, simply add the --subdel option:

$ movietidy --path ~/Movies/ --subdel