trakit

Guess additional information from track titles


Keywords
video, mkv, audio, subtitles, srt, pgs, sdh, cc, sup, sub, metadata, movie, episode, tv, track, shows, series
License
MIT
Install
pip install trakit==0.2.1

Documentation

TrakIt

Guess additional information from track titles

Latest Version

tests

License

Info

TrakIt is a track name parser. It is a tiny library created to solve a very specific problem. It's very common that video files do not have precise metadata information, where you can have multiple subtitle tracks tagged as Portuguese, but one of them is actually Brazilian Portuguese:

{
  "codec": "SubRip/SRT",
  "id": 19,
  "properties": {
    "codec_id": "S_TEXT/UTF8",
    "codec_private_length": 0,
    "default_track": false,
    "enabled_track": true,
    "encoding": "UTF-8",
    "forced_track": false,
    "language": "por",
    "language_ietf": "pt",
    "number": 20,
    "text_subtitles": true,
    "track_name": "Português",
    "uid": 160224385584803173
  }
}

{
  "codec": "SubRip/SRT",
  "id": 20,
  "properties": {
    "codec_id": "S_TEXT/UTF8",
    "codec_private_length": 0,
    "default_track": false,
    "enabled_track": true,
    "encoding": "UTF-8",
    "forced_track": false,
    "language": "por",
    "language_ietf": "pt",
    "number": 21,
    "text_subtitles": true,
    "track_name": "Português (Brasil)",
    "uid": 1435945803220205
  }
}

Or you have multiple audio tracks in English, but one of them is British English (British English Forced (PGS)) and others are American English (American English (PGS))

Given a track name, TrakIt can guess the language:

>> trakit "Português (Brasil)"
{
  "language": "pt-BR"
}

TrakIt is also able to identify:

  • SDH: Subtitles for the Deaf or Hard of Hearing
  • Forced flag
  • Closed captions
  • Alternate version tracks
  • Commentary tracks
>> trakit "British English (SDH) (PGS)"
{
  "language": "en-GB",
  "hearing_impaired": true
}

>> trakit "English CC (SRT)"
{
  "language": "en",
  "closed_caption": true
}

>> trakit "Cast and Crew Commentary (English AC3 Stereo)"
{
  "language": "en",
  "commentary": true
}

>> trakit "Français Forced (SRT)"
{
  "language": "fr",
  "forced": true
}

All available CLI options:

>> trakit --help
usage: trakit [-h] [-l EXPECTED_LANGUAGE] [--debug] [-y] [--version] value

positional arguments:
  value                 track title to guess

options:
  -h, --help            show this help message and exit

Configuration:
  -l EXPECTED_LANGUAGE, --expected-language EXPECTED_LANGUAGE
                        The expected language to be guessed

Output:
  --debug               Print information for debugging trakit and for reporting bugs.
  -y, --yaml            Display output in yaml format

Information:
  --version             show program's version number and exit

TrakIt is not a release parser. Use GuessIt

TrakIt is not a video metadata extractor. Use KnowIt. KnowIt already uses trakit to enhance the extracted information

Installation

TrakIt can be installed as a regular python module by running:

$ [sudo] pip install trakit

For a better isolation with your system you should use a dedicated virtualenv or install for your user only using the --user flag.

Data