Skip to main content

Download subtitles for movies and shows, automatically with one easy mouse click.

Project description

Status Tests GitHub commit activity Version Downloads License

Table of Contents

About

  • Automatically search, download and extract subtitles for any movie or show with one easy mouse click from the context menu.
  • Has a GUI for all the custom settings that can be configured.
  • For 70 different languages, of which most work on all available subtitle sites.
  • Can be configured to include hearing impaired subtitles only, none-hearing impaired subtitles only or both.
  • Configure how strictly the file name has to match the search results.
  • Can be ran from a compiled executable, without the need for a Python interpreter and importing modules.
  • Subtitles are gathered from subscene and opensubtitles.
  • Pick where you get the subtitles from.
  • Works inside and outside of a env.

This started as a fun project to learn how to code in python and how to use git, has now developed into a application I use daily and enjoy working on. There are many similar repositories out there that grab subtitles automatically from the web, so this might not be the most unique project. But feel free to check this one out, might offer something new. Have tried to make the setup processes as painless as possible with the use of as few external modules as possible. The average run time is around 1 second, a little bit longer for TV-Series due to the high amount of titles.

Feel free to ask me anything about this project, request new features, contribute or give constructive feedback.

FYI: If it takes a long time for anything to happen, it's most likely because subscene is under heavy load and all connections takes longer than usual. Nothing I can do about that. But you can disabled them as a provider in the GUI.

Preview

While searching for subs if show terminal is disabled

prtsc_example

Available options in the widget - click to expand

prtsc_language

prtsc_search

prtsc_settings

prtsc_download

Getting Started

Source is probably faster than the executable version, but the executable can be run without installing a Python interpreter or any modules.

PyPi

Download Python >= 3.10

Install subsearch

pip install subsearch

Add the context-menu

subsearch --registry-key add

More options

subsearch --help

Code block example
from subsearch import __subsearch__
from subsearch.utils.raw_config import get_config, set_config


def main() -> None:
    config = get_config()
    config["providers"]["opensubtitles_hash"] = False
    set_config(config)
    app = __subsearch__.Subsearch()
    app.provider_opensubtitles()
    app.provider_subscene()
    app.process_files()
    app.on_exit()


if __name__ == "__main__":
    main()

python -m main c:\users\vagabondhustler\desktop\foo.bar.the.movie.2022.1080p-foobar.mkv


Source

Download Python >= 3.10

Download subsearch

git clone https://github.com/vagabondHustler/subsearch.git

Install package locally

pip install -e .

Code block example
from subsearch import __subsearch__
from subsearch.utils.raw_config import get_config, set_config


def main() -> None:
    config = get_config()
    config["providers"]["opensubtitles_hash"] = False
    set_config(config)
    app = __subsearch__.Subsearch()
    app.provider_opensubtitles()
    app.provider_subscene()
    app.process_files()
    app.on_exit()


if __name__ == "__main__":
    main()

python -m main c:\users\vagabondhustler\desktop\foo.bar.the.movie.2022.1080p-foobar.mkv


Executable

Download SubSearch-vx.x.x-win-x64.zip from releases - Download URL

Unzip file and run SubSearch.exe

If you get a PUA message, click More info

Print screens

prtsc_moreinfo

prtsc_runanyway


If no subtitles are found or no subtitles (including the folder subs with extra .srt files) are synced with the movie check the subsearch.log (logging is disabled by default and can be enabled in the gui) for a list with download links to all the different subtitles that didn't pass the search threshold percentage or decrease the value in the settings GUI, accessed from SubSearch.exe

VirusTotal analysis / false positives

Every release has a attached virustotal analysis of the compiled code for transparency reasons.

There are a few false positives, like Trojan.PSW.Python.iv, Trojan.Stealer.Win32.29558, Trojan.Win32.Save.a, Trojan.Generic.hhkmb etc.

I have done my best to remove them, but there will probably always be false positives for as long as I don't have a code signature (which would cost money I'm not willing to spend at the moment)

If you are unsure if they really are false positives (which you should be), the source code is always available here on github to be read. If you want to compile the code yourself, all the information you need to pass into pyinstaller can be found in the build.spec file and the workflow file release.yml under job build-and-publish name Build executable.

Supported languages

N/A = not supported on opensubtitles

Albanian alb Arabic ara Armenian arm Azerbaijani aze Basque baq Belarusian bel Bosnian bos Brazillian-Portuguese pob Bulgarian bul Bulgarian-English N/A Burmese bur Cambodian-Khmer khm Catalan cat Chinese-BG-code zht Croatian hrv Czech cze Danish dan Dutch dut Dutch-English N/A English eng English-German N/A Esperanto epo Estonian est Finnish fin French fre Georgian geo German ger Greenlandic N/A Hebrew heb Hindi hin Hungarian hun Hungarian-English N/A Icelandic ice Indonesian ind Italian ita Japanese jpn Kannada kan Kinyarwanda N/A Korean kor Kurdish kur Latvian lav Lithuanian lit Macedonian mac Malayalam mal Manipuri mni Mongolian mon Nepali nep Norwegian nor Pashto N/A Punjabi N/A Romanian rum Russian rus Serbian scc Sinhala sin Slovak slo Slovenian slv Somali som Spanish spa Sundanese sun Swahili swa Swedish swe Tagalog tgl Tamil tam Telugu tel Thai tha Turkish tur Ukrainian ukr Urdu urd Vietnamese vie Yoruba N/A

Authors

Special Thanks

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

subsearch-2.27.0.tar.gz (70.3 kB view details)

Uploaded Source

Built Distribution

subsearch-2.27.0-py3-none-any.whl (90.8 kB view details)

Uploaded Python 3

File details

Details for the file subsearch-2.27.0.tar.gz.

File metadata

  • Download URL: subsearch-2.27.0.tar.gz
  • Upload date:
  • Size: 70.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0

File hashes

Hashes for subsearch-2.27.0.tar.gz
Algorithm Hash digest
SHA256 0d02e951e349e4c4f6077b3c5e11bacbe4aa148766e9f25f7c0bbfae4e72b7b9
MD5 781debf16f74855d353c9886cc9f0749
BLAKE2b-256 90a4ee76b8b4997883596989299a02dbc55e7f10fa9fc60c0e81fd64903cbf59

See more details on using hashes here.

File details

Details for the file subsearch-2.27.0-py3-none-any.whl.

File metadata

  • Download URL: subsearch-2.27.0-py3-none-any.whl
  • Upload date:
  • Size: 90.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0

File hashes

Hashes for subsearch-2.27.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c556203c4de8595adf991e9f598551e2f13eee6e9b0b98cf34ee440e0a405e3f
MD5 3718f204e81f5b975959bf32e0ce2715
BLAKE2b-256 a88f8971c4ec6190f8b10d8ea37e0a7d34077ce816afd0f6216e6cb8af568c26

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page