Scans a given folder and automatically downloads subtitles in the selected language(s). Scans recursively in the given folder for all video files, if missing subtitles are found, they'll be downloaded. This is built with media servers in mind, so if you have a large library of movies/tv-shows, just select the root folder used for your media server and wait for it to complete. This is a portable cross-platform application.
|
|
|
|
|
|
|
|
|
|
|
|
Or install the .deb directly from the terminal:
wget https://github.com/fosterbarnes/rustitles/releases/latest/download/rustitles.deb
sudo apt install ./rustitles.debFollow the on screen prompts and wait for Rustitles to install Subliminal after Python is available.
Select your desired language(s)
Set your maximum concurrent downloads or leave this number as default. This is the amount of subtitles that will be downloaded at the same time. (More concurrent downloads = more Python processes = more RAM used)
Select the folder with your media that you want subtitles for
Wait for the processes to complete
Fresh installs default to having all built-in providers selected (addic7ed, gestdown, napiprojekt, opensubtitles, opensubtitlescom, podnapisi, tvsubtitles). Configure as you'd like
OpenSubtitles.com pages are configurable in Subliminal Matching (text box, default 3, empty for unlimited)
Hash, Metadata, TMDB, and TVDB refiners are enabled by default. Toggle them in Subliminal Matching as needed
Set a minimum match score to reject weak matches. 0 keeps Subliminal's default behavior.
OpenSubtitles.com credentials (optional, for higher limits) can be entered directly in Subliminal Matching - API key, username and password. They're stored locally next to the app on Windows (rustitles_settings.json) or under your XDG config directory on Linux/macOS (settings.json in the rustitles folder) and synced to Subliminal's subliminal.toml for compatibility. No key is baked into the app, you get your own free key at https://www.opensubtitles.com/api if you need one
I spent about 45 minutes of my life trying to find a GUI utility for windows that would automatically scan a folder and download subtitles. All of the programs I found were either paid, did not work, confusing and bloated, or a command line tool. I then found Subliminal, and had the idea to create a simple GUI to accomplish basic tasks. I am teaching myself rust, so I decided to code in that language as a personal challenge.
This tool is here for the "me" of yesterday (you) who was trying to find a tool exactly like this lmao
Microsoft Visual C++ Redistributable, Python, Subliminal, FFmpeg
Python, Pipx, Subliminal, FFmpeg
Python, Pipx, Subliminal, FFmpeg
Rustitles will install Python and Subliminal for you if it isn't already available on Windows. On Linux and macOS, it will instruct you how to install dependencies if they aren't met.
If you prefer to install the tools manually:
Windows: Install the latest Python and select "Add Python to PATH" during setup. Install the latest Microsoft Visual C++ Redistributable as well. After both are installed, open Command Prompt or PowerShell and run pip install subliminal.
Linux: Install Python 3, pipx, and FFmpeg using your distribution's package manager. For Debian or Ubuntu, run sudo apt install python3 pipx ffmpeg. Then install Subliminal with pipx install subliminal.
macOS: If Homebrew is not installed, install it with the command from brew.sh. Then install Python 3, pipx, and FFmpeg with brew install python pipx ffmpeg. Run pipx ensurepath, restart your terminal, and install Subliminal with pipx install subliminal.
If you are unaware of Subliminal, it is a command line tool that uses python to find and download subtitles. If you prefer a CLI, just use Subliminal.
Any app that isn't code-signed has a chance of tripping your antivirus (code signing is very, very expensive). If this happens, add "rustitles.exe" or the folder therein as an exclusion for your antivirus.
How to set exclusions for Windows Defender
Any detections seen can be false positives because the app checks for dependencies and can install Python on Windows if needed. That being said, ALWAYS be cautious when running scripts or .exe's from random people on GitHub.
Certain OpenGL calls can cause issues in Windows VMs. Mesa 3d (an open source implementation of OpenGL) can be used to fix this issue on certain VMs, this fix works for me in VirtualBox. Just download mesa3d-25.2.1-release-mingw.7z or mesa3d-25.2.1-release-msvc.7z from https://github.com/pal1000/mesa-dist-win/releases unzip, and then run systemwidedeploy.cmd as admin, selecting "1. Core desktop OpenGL drivers".
If you have any issues, create an issue from the Issues tab and I will get back to you as quickly as possible.
If you'd like to support me, follow me on twitch: https://www.twitch.tv/fosterbarnes
or if you're feeling generous drop a donation: https://coff.ee/fosterbarnes
