How it works¶
Subliminal uses multiple providers to give users a vast choice and have a better chance to find the best matching subtitles. Current supported providers are:
Providers all inherit the same
Provider base class and thus share the same API.
They are registered on the
subliminal.providers entry point and are exposed through the
provider_manager for easy access.
Rating subtitles and comparing them is probably the most difficult part and this is where subliminal excels with its powerful scoring algorithm.
Various libraries are used by subliminal and are key to its success:
- guessit to guess information from filenames
- enzyme to detect embedded subtitles in videos and read other video metadata
- babelfish to work with languages
- requests to make human readable HTTP requests
- BeautifulSoup to parse HTML and XML
- dogpile.cache to cache intermediate search results
- stevedore to manage the provider entry point
- chardet to detect subtitles’ encoding
- pysrt to validate downloaded subtitles