movietidy
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
Current Assumptions
- Your movie files follow a similar naming pattern (such as
Young Frankenstein (1974).mkv
)
Environment Setup (OSX)
Dependencies
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 https://raw.github.com/mxcl/homebrew/go/install)"
brew install node
brew install ffmpeg
Install
sudo npm install -g movietidy
Usage
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