I have many movies without subtitles, is there a program to find the right subtitles for them?
6 Answers
You can use subdownloader  or to install in shell
 or to install in shell sudo apt-get install subdownloader which is very good to download subtitles for any type of movie/series.
After downloading/installing it the program should be in the Sound & Video section in the applications panel. If you are using Unity by default just press SUPER and type subdownloader and press enter.
When you open the program it will automatically log in to opensubtitles and just search for the movie you want to find the subtitles for or the folder where the video or videos that you want to search the subtitles for. Then select the language for them and download. It will automatically put it in the folder where the video is, renaming it to the video name and enjoy. Open the video with VLC and you should be able to watch the movie with the subtitles.
 
    
    - 216,643
You can also try to install smplayer which provides subtitle downloading natively.  

You can go to 'Subtitles' --> 'Find subtitles on OpenSubtitles.org'

and get a list of all the available sub files.

The files are downloaded and saved instantly along with your movie file ;-)
 
    
    - 8,954
Try subliminal, which downloads from multiple providers. It has all the features of other software suggested in this thread, but fares much better at detecting movie titles and finding quality subtitles.
You might need to run several passes on a given folder to find all subtitles, recursively.
It also detects embedded subs (mkv..), skips files which already have subs in your language of choice, and automatically renames the subs files to match video file names.
Also, I made a gist and an action, for the Nemo File Manager (can be converted to use Nautilus), that adds a context menu option to automatically download English movie subtitles.
 
    
    - 72,312
 
    
    - 456
Before mentioning a few tools beside the ones mentioned in the other answers, I want to clarify why there is a difference between the different tools.
I have noticed that the most up-voted tools under this question that I also wanted to use failed in finding any subtitles for certain videos, while VLC/VLSub, for example, was finding a lot o subtitles for the same videos at the same moment. After testing a bit more (with videos of various origin, period, celebrity, country, and extension) I have found that the cause is rather simple:
Some tools (namely SubDownloader, SMPlayer (default setting - see update below), Subliminal) search based on hash which is theoretically error free, while VLSub and OpenSubtitlesDownload.py can also search by name. With possible error but much more findings, of which at least one is the good one 90% of the time. - VLC/VLSub has also a separate option to search only by hash.
VLC/VLSub
- VLC can do it with the addon VLSub: it comes integrated in the player after version 2.2; sometimes the integrated version may be outdated I think and you have to use the latest version of the addon from HERE or HERE, where it is actively updated, by putting the lua file in - ~/.local/share/vlc/lua/extensions/. See this answer on how to install.- It can be accessed under 'View': 
VLSub can find and save subtitles in the video folder by instantly renaming the subtitle to match the video name. That can be configured.
The only downside is that you have to start the player and run VLsub from there, as lua files cannot be run from command line, but even that brings the advantage that while the video is open you can quickly test the subtitles. The window of the VLSub tool with the list of found subtitles stays open, and you can easily select a new one to download and load if the previous was not good. (That is a big advantage when you search only by name, and not by hash, and face the risk of getting first the wrong subtitles.)
OpenSubtitlesDownload.py
"It can be used as a nautilus script, or as a regular application working under GNOME or KDE desktop environments."
For Nautilus:
git clone https://github.com/emericg/OpenSubtitlesDownload.git
mkdir -p ~/.local/share/nautilus/scripts/
cp OpenSubtitlesDownload/OpenSubtitlesDownload.py ~/.local/share/nautilus/scripts/OpenSubtitlesDownload.py
chmod u+x ~/.local/share/nautilus/scripts/OpenSubtitlesDownload.py
But the OpenSubtitlesDownload.py script can be used in other File managers  (Thunar custom actions, Nemo actions, Pantheon-Files contract files) by adding the command
sh -c "/path/to/OpenSubtitlesDownload.py %f"
A downside that I've noticed is that (while it is said to search by both hash and name) in the list it shows it's not clear which subtitle is to be preferred; after selecting a subtitle the zenity window closes; after selecting a bad subtitle, and in order to select a new one, one must run the script again; also, it seems to be less effective in finding subtitles for series than for feature movies.
FileBot
"Tool for organizing and renaming your movies, tv shows or anime, and music as well as downloading subtitles and artwork."
Or search by typing the name
Downloading subtitles is only one of its options, and it is mainly centered on renaming. It needs Java to work (and the GUI version seems to specifically ask for Oracle Java to work as intended).
The GUI interface is especially useful to download subtitles for multiple videos (e.g. for series, which none of the above can do), and then the program can be used to match the names of videos and subtitles with the 'Rename' tool. It searches both by name and hash.
FileBot command-line version is my favorite.
The general command is filebot -get-subtitles /path/to/video/.
To search also by name (beside hash) the -non-strict option should be used.
To download English subtitles no language option is needed, but for other languages there is the option --lang with the 2 or 3 letter language code, but only one language can be specified per command, so you have to use separate commands for each language.
To rename the media files (using TMDb) and match their names, a useful option is -rename.
The command can be added to the context menu in Thunar's custom actions (or Nautilus actions, etc) by running it in a terminal; for French it should be:
gnome-terminal -e "filebot -get-subtitles  --lang fr -rename -non-strict %F"
I especially like about it the ability to download subtitles for multiple videos at once when the %F argument is used (tested in Thunar).
Also, for already existing videos and/or subtitles, it can get the proper names by using the -rename  argument and by omitting the -get-subtitles one; example of a Thunar custom action in Xfce for English titles:
xfce4-terminal -e "filebot -rename -non-strict %F" -H
The downside of the CLI version is that when it gets the bad subtitles (which rarely happens, even if hash-checked subs are not available, only ones searched by name, but it may happen) there seems to be no way to list and select new subtitles as in other tools.
Update on SMPlayer
It searches by hash by default, but that can be changed in Subtitles-Find subtitles at...-Options.
 
    
    - 17,371
Features of Subdownloader are:
- No spyware, no adware
- Fast hashing algorithm (27 GB movies/7 seconds)
- Recursive folder search
- Autodetect language of the subtitles
- Upload entire series subtitles in less than 1 minute
- Many moreā¦
There is a other alternative to download with terminal.
http://subliminal.readthedocs.io/en/latest/
~$ subliminal -l pt -- movie_name.avi
 
    
    - 31
 
     
     
    








 
    