Skip to content

Matches torrent movies/series against tviso and downloads their metadata

Notifications You must be signed in to change notification settings

tetreum/media-identifier

Repository files navigation

Preview

Small panel to fix failed matches/watch the logs: Preview

Media identifier

Matches your movies/tvshows files against TheMovieDB API and downloads their metadata+images+places them in a human readable format (plex compatible). If a bigger size version of an existing media is received, it will replace the existing one.

Example

Having the following structure:

c:\completed_downloads
- The Walking Dead S05E03 720p HDTV x264-ASAP[ettv].mkv
- Hercules (2014) 1080p BrRip H264 - YIFY.avi
- Visit my website click here!!.url
- D4wn.0f.th3.Pl4n3t.0f.th3.4p3s.2014.HDRip.XViD-EVO.mp4
- SUPER IMPORTANT, README.txt

After running media-identifier will result in:

c:\completed_downloads
c:\collection
- media.db (sqlite db containing the list of all medias present in the folder)
- \series\Walking Dead\media.json (tvshow metadata like, name, year, actors, etc..)
- \series\Walking Dead\poster.jpg
- \series\Walking Dead\backdrop.jpg
- \series\Walking Dead\5\5x03.mkv
- \movies\Hercules\media.json (movie metadata like, name, year, actors, etc..)
- \movies\Hercules\poster.jpg
- \movies\Hercules\backdrop.jpg
- \movies\Hercules\Hercules.avi
c:\failed_match
- D4wn.0f.th3.Pl4n3t.0f.th3.4p3s.2014.HDRip.XViD-EVO.mp4

Requirements

  1. node >= v8
  2. TheMovieDB API app (https://www.themoviedb.org/settings/api/new)
  3. Windows? (not tested on linux)

Setup

  1. Change your torrent downloader behaviour to move the finished downloads to a separate folder. So media-identifier won't move/work with unfinished downloads
  2. git clone https://github.com/tetreum/media-identifier.git or download the zip
  3. npm install
  4. cp conf.demo.js conf.js
  5. Modify conf.js data
  6. node index.js (if i were you i would point its output somewhere as it maybe useful)

Usage

Media identifier will automatically detect new files added to directoryToParse and will attempt to match them against the metadata provider.

  • Matched content will be moved to destinationDirectory you set on conf.js
  • If it fails to match any content, it will be moved to failedMatchDirectory folder, so you can rename the file for better matching & it's not checked on each /parse call
  • To force a match, rename the file to its media mediaType-idm. Example: movie-2622.avi => Die Hard

Fix failed matches/view logs

Visit http://localhost:3000/

API Methods

(ex: http://localhost:3000/parse)

  • /parse: Processes completed downloads folder (directoryToParse)
  • /retry: Reprocesses failed matches (failedMatchDirectory)
  • /replace: Replaces a word with the given replacement over all file names in failed matches directory (so you can faster remove domains and other junk from their name)

About

Matches torrent movies/series against tviso and downloads their metadata

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published