Subhelper is a small program for Mac OS that will automatically find and rename subtitle files (.srt) to match with the video content (movies/documentaries/episodes, etc.) within a given directory.
- Just download or clone the repository.
sh start.sh
will start subhelper and prompt for necessary inputs that it requires.- Once started, it keeps running in a
continuous
scan mode for a specifiedparent directory
This is best explained with the example use-cases in the section below.
Upon starting subhelper
, it prompts for a parent directory
path, and then a preferred language
. If I store all my movies in /Users/sasanka/Downloads/movies/
, I can set this path to be the parent directory
path accordingly.
Next, subhelper
also prompts for a preferred language
; in my case it would be set to eng
(first 3 letters of english
).
Let's look at the two use-cases in detail:
- I have two movies in the directory such as below:
-
/Users/sasanka/Downloads/movies/King Kong 2005 DvdRip/
King Kong 2005 DvdRip_Original.mp4
-
/Users/sasanka/Downloads/movies/Interstellar 2014 BluRay/
Interstellar_2014_Bluray.mp4
I start
subhelper
withsh start.sh
and enter the parent directory as/Users/sasanka/Downloads/movies/
;- Then, I either download or paste a subtitle file called
king_kong_sub.srt
into theKing Kong 2005 DvdRip/
directory above.subhelper
will detect this new file and automatically rename it toKing Kong 2005 DvdRip_Original.srt
to match the correspondingmp4
file. - Next, I download a
zip
file from the internet containing the subtitles forInterstellar
, calledinterstellar_2014_subs.zip
, into theInterstellar 2014 Bluray/
folder above.subhelper
will automaticallyunzip
the zip, and then rename the extracted.srt
file from the extracted content toInterstellar_2014_Bluray.srt
- The second use-case is where there are already
subtitles
present in the corresponding directories, but not with correct file names, such as below:
-
/Users/sasanka/Downloads/old_movies/Memento 2000 bluRay/
Memento_2000_Bluray.mp4
Eng_subs.srt
-
/Users/sasanka/Downloads/old_movies/The Terminator 1984 1080p/
Terminator_1984_DvdRip_1080.mp4
subtitles/
english/
Terminator_1984_subs.zip
-
/Users/sasanka/Downloads/old_movies/citizen_kane_1941/
citizen_kane_1941.mp4
subs/
free/
english.srt
As you can see above, there are already subtitles present, either in the form of
.srt
file, or within a compressedzip
file. In this case, I will startsubhelper
withstart.sh
and set the parent directory to/Users/sasanka/Downloads/old_movies/
;
Now, note thatsubhelper
will not automatically perform irreversible operations without user consent, so I willprompt
subhelper bycreating a new folder within EACH directory I'm interested in
, with a simple keyboard shortcut, which isCmd+Shift+N
andnot really do anything else
. This will "trigger"subhelper
to scan within the directory I created theuntitled folder
in, and perform its duties, which are:- automatically rename the
Eng_subs.srt
toMemento_2000_Bluray.srt
- automatically scan all subdirectories within the
The Terminator 1984 1080p/
directory, find theTerminator_1984_subs.zip
, extract it, find an.srt
file within the extracted content, and rename it toTerminator_1984_DvdRip_1080.srt
, and put it alongside the correspondingTerminator_1984_DvdRip_1080.mp4
file. - automatically scan all subdirectories within the
citizen_kane_1941
directory, find theenglish.srt
file, rename it tocitizen_kane_1941.srt
and put it alongside thecitizen_kane_1941.mp4
file.
Again, the
creation of untitled folder
is just a way to triggersubhelper
when you know there are existing subtitles within a folder. I hope it is still acceptable since it only needs a quick keyboard combination ofCmd+shift+N
. Note thatsubhelper
will automatically delete thisuntitled folder
after running its operations, so please do not get confused over it!
Suhelper cannot find or download subtitle
files or any other content from the internet. It is just a tool for organizing
subtitle files/content automatically. For subtitle content, it is up to you, the user, to find and download subtitle content from whatever sources that you may use (typically a website like https://opensubtitles.org for example).
I do not have the time or bandwidth to accept Pull Requests right now, but please feel free to fork the repo and make changes in whatever ways you prefer.