通过右键单击文件管理器或带有OpenSubtitlesDownload.py的命令行来下载字幕

如果您正在寻找从Linux桌面或服务器从OpenSubtitles.org下载字幕的快速方法,请提供 OpenSubtitlesDownload.py 请尝试一下。此简洁的Python工具可以用作Nautilus,Nemo或Caja脚本,也可以从命令行使用。

Python脚本使用视频哈希值在OpenSubtitles.org上搜索字幕以查找完全匹配的内容,从而避免字幕不同步。如果找不到匹配的内容,它会尝试根据视频文件名进行搜索,尽管这样的字幕可能并不总是同步的。
OpenSubtitlesDownload.py具有很多很酷的功能,包括对60多种语言的支持,它可以同时查询多种字幕语言和视频(因此它支持大量字幕搜索和下载)。
可选的图形用户界面(使用Zenity表示Gnome,使用Kdialog表示KDE)可以显示多个字幕匹配项,并且通过深入研究其设置,可以显示一些额外的信息,例如字幕下载数量,等级,语言等。
其他OpenSubtitlesDownload.py功能包括:

  • 如果只有一个可用字幕,可以选择自动下载字幕,否则请选择一个。
  • 重命名下载的字幕以匹配源视频文件的选项。可以将语言代码附加到文件名(例如:movie_en.srt)。

Python工具尚不支持递归下载目录中电影的字幕,但这是计划中的功能。
如果您在下载大量字幕时遇到错误,则应注意OpenSubtitles每天有字幕下载限制(似乎每天有200字幕下载/天,但不确定是否更改)。 VIP用户每天需要1000个字幕,但是OpenSubtitlesDownload.py不允许将其记录到OpenSubtitles帐户中,因此,在使用此工具时您无法利用VIP帐户。

以Nautilus,Nemo或Caja脚本安装和使用OpenSubtitlesDownload.py

以下说明说明了如何将OpenSubtitlesDownload.py作为Caja,Nemo或Nautilus文件管理器的脚本进行安装。由于此操作,您可以右键单击(上下文菜单)文件管理器中的一个或多个视频文件,选择 Scripts > OpenSubtitlesDownload.py 脚本将从您的视频文件的OpenSubtitles.org搜索并下载字幕。
这是用作Nautilus脚本的OpenSubtitlesDownload.py:OpenSubtitles下载器Nautilus

作为Nemo脚本:OpenSubtitles下载器Nemo

要将OpenSubtitlesDownload.py安装为Nautilus,Nemo或Caja脚本,请参见以下说明。
1.安装OpenSubtitlesDownload.py所需的依赖项
您需要安装 gzipwgetzenity 在使用OpenSubtitlesDownload.py之前。以下说明假定您已经拥有Python(Python 2和3都可以使用),以及 psgrep 可用。
在Debian,Ubuntu或Linux Mint中安装 gzipwgetzenity 使用此命令:

sudo apt install gzip wget zenity

2.现在您可以下载OpenSubtitlesDownload.py 剧本 来自GitHub:

wget https://raw.githubusercontent.com/emericg/OpenSubtitlesDownload/master/OpenSubtitlesDownload.py

3.使用以下命令将下载的OpenSubtitlesDownload.py脚本移至文件管理器脚本文件夹并使其可执行(使用当前文件管理器Nautilus,Nemo或Caja的命令):

  • Nautilus(默认的Gnome,Unity和Solus OS文件管理器):
mkdir -p ~/.local/share/nautilus/scripts
mv OpenSubtitlesDownload.py ~/.local/share/nautilus/scripts/
chmod u+x ~/.local/share/nautilus/scripts/OpenSubtitlesDownload.py
  • Nemo(默认的Cinnamon文件管理器):
mkdir -p ~/.local/share/nemo/scripts
mv OpenSubtitlesDownload.py ~/.local/share/nemo/scripts/
chmod u+x ~/.local/share/nemo/scripts/OpenSubtitlesDownload.py
  • Caja(默认的MATE文件管理器):
mkdir -p ~/.config/caja/scripts
mv OpenSubtitlesDownload.py ~/.config/caja/scripts/
chmod u+x ~/.config/caja/scripts/OpenSubtitlesDownload.py

4.配置OpenSubtitlesDownload.py
由于它作为文件管理器脚本运行,没有任何参数,因此,如果要更改其某些设置(如启用GUI,更改字幕语言等),则需要修改脚本。 ,您可以直接使用它来使用其默认设置自动下载字幕。
要配置OpenSubtitlesDownload.py,您需要使用文本编辑器将其打开。脚本路径现在应为:

  • 鹦鹉螺: ~/.local/share/nautilus/scripts
  • 尼莫: ~/.local/share/nemo/scripts
  • 卡哈: ~/.config/caja/scripts

使用文件管理器导航到该文件夹​​,然后使用文本编辑器打开OpenSubtitlesDownload.py文件。
这是您可能要在此文件中更改的内容:

  • 要更改字幕语言,请搜索 opt_languages = ['eng'] 并从更改语言 ['eng'] (英语)到 ['fre'] (法语)或您要使用的任何语言。OpenSubtitles.org支持的每种语言的ISO代码可在 这个 页(使用第一列中的代码)。
  • 如果要让GUI为您提供所有字幕选项并让您选择要下载的字幕,请找到 opt_selection_mode = 'default' 设置并将其更改为 'manual'如果您不想同时下载多个字幕,并且不想为每个视频弹出窗口,则不要将其更改为“手动”(或者更好的是将其更改为“自动”)。
  • 要强制使用Gnome GUI,请搜索 opt_gui = 'auto' 并改变 'auto''gnome'
  • 您还可以在GUI中启用多个信息列:
  • 搜寻 opt_selection_rating = 'off' 并将其更改为 'auto' 显示用户评分(如果有)
  • 搜寻 opt_selection_count = 'off' 并将其更改为 'auto' 显示下载字幕的数量(如果有)

您可以通过访问以下网址找到带有说明的OpenSubtitlesDownload.py设置列表 这个页面
完成后,当右键单击文件并选择脚本时,OpenSubtitlesDownload.py现在应出现在Nautilus,Nemo或Caja中。单击OpenSubtitlesDownload.py应搜索并下载所选视频的字幕。

从命令行安装和使用OpenSubtitlesDownload.py

1.安装OpenSubtitlesDownload.py所需的依赖项(仅命令行)
您需要安装 gzipwget在Debian,Ubuntu或Linux Mint上,您可以使用以下命令安装这些软件包:

sudo apt install wget gzip

2.安装 剧本/usr/local/bin/ 并将其设置为默认情况下使用命令行界面:

wget https://raw.githubusercontent.com/emericg/OpenSubtitlesDownload/master/OpenSubtitlesDownload.py -O opensubtitlesdownload
sed -i "s/opt_gui = 'auto'/opt_gui = 'cli'/" opensubtitlesdownload
sudo install opensubtitlesdownload /usr/local/bin/

现在您可以开始使用它了。要使用该脚本并自动选择和下载最佳的字幕,请键入:

opensubtitlesdownload --auto /path/to/video.mkv

您可以通过附加语言来指定语言 --lang LANG,在哪里 LANG 是OpenSubtitles.org支持的语言的ISO代码,可从 这个 页面(使用第一列中的代码)。示例(西班牙语字幕):

opensubtitlesdownload --lang SPA /home/logix/Videos/Sintel.2010.720p.mkv

它提供了此输出(由于我们没有使用,因此您可以选择最佳的字幕 --auto 只是,我们也没有追加 --select manual 以允许手动选择):

>> Title: Sintel
>> Filename: Sintel.2010.720p.mkv
>> Available subtitles:
[1] "Sintel (2010).spa.srt" > "Language: Spanish" 
[2] "sintel_es.srt" > "Language: Spanish" 
[3] "Sintel.2010.720p.x264-VODO-spa.srt" > "Language: Spanish" 
[0] Cancel search
>> Enter your choice (0-3): 1
>> Downloading 'Spanish' subtitles for 'Sintel'
2018-07-27 14:37:04 URL:http://dl.opensubtitles.org/en/download/src-api/vrf-19c10c57/sid-8rL5O0xhUw2BgKG6lvsVBM0p00f/filead/1955318590.gz [936/936] -> "-" [1]

这些是所有可用的选项:

$ opensubtitlesdownload --help
usage: OpenSubtitlesDownload.py [-h] [-g GUI] [--cli] [-s SEARCH] [-t SELECT]
                                [-a] [-v] [-l [LANG]]
                                filePathListArg [filePathListArg ...]

This software is designed to help you find and download subtitles for your favorite videos!


  -h, --help            show this help message and exit
  -g GUI, --gui GUI     Select the GUI you want from: auto, kde, gnome, cli (default: auto)
  --cli                 Force CLI mode
  -s SEARCH, --search SEARCH
                        Search mode: hash, filename, hash_then_filename, hash_and_filename (default: hash_then_filename)
  -t SELECT, --select SELECT
                        Selection mode: manual, default, auto
  -a, --auto            Force automatic selection and download of the best subtitles found
  -v, --verbose         Force verbose output
  -l [LANG], --lang [LANG]
                        Specify the language in which the subtitles should be downloaded (default: eng).
                        Syntax:
                        -l eng,fre: search in both language
                        -l eng -l fre: download both language

本文中用于屏幕截图的主题称为Canta。您可能也感兴趣:如何在Ubuntu 18.04 Gnome Desktop上用Nemo File Manager替换Nautilus(完整指南)

Sidebar