自動下載字幕
有一個適用於 Windows 的媒體播放器 BSPlayer,它可以自動下載字幕。
關於它的好處是,它總能神奇地選擇正確的,與手動下載相反,手動下載最終會得到未正確同步的字幕。我不知道它是如何做到的以及它使用電影文件中的哪些資訊。它肯定會檢查多個字幕網站。
Linux 世界中是否有任何東西可以模擬此功能?
Rabin 的建議很好,我不知何故錯過了 VLC 具有此功能。可悲的是,由於這個錯誤,我對 VLC 有嚴重的問題。
我找到了一個獨立於您使用的播放器的解決方案(我使用 mplayer)。
誠然,我什至不使用 Linux,而是使用 FreeBSD。;-)
這是我的做法:
安裝 Python 3:
pkg install python3
您將需要 pip,它與 python 3.4+ 一起提供,早期版本請參見此處。
在 FreeBSD 中(我認為這對於 Linux 可以跳過??)你還必須這樣做:
python3.4 -m ensurepip
然後安裝 python 程序subliminal。以root身份執行
pip install subliminal
要自動下載英文字幕,您可以:
subliminal download -l en The.Big.Bang.Theory.S05E18.HDTV.x264-LOL.mp4
-l
語言選項在哪裡。
我會根據您的問題的需要調整我在這個問題下的答案。
有兩種字幕搜尋:
- HASH搜尋:完全匹配,點擊更少;找到字幕的機會較小(以我的經驗為 50% 或更低),但找到好的字幕的機會非常高(可能 100%)
- 名稱搜尋:找到影片字幕的機會更大(可能 90%),找到所有字幕的機會較少,但其中一個很好的機會很大。
但應用程序本身要麼使用 HASH-only 搜尋,要麼使用 HASH 和名稱搜尋。由於後者首先嘗試精確的 HASH 搜尋,然後進行名稱搜尋,所以我傾向於後者。
但是這些工具之間還有其他區別,即天氣字幕會自動下載(無需您的任何干預)或僅列出。請注意,僅當您只需要一種語言的字幕並且雜湊搜尋成功時,全自動下載才是理想的。當搜尋和發現僅按名稱時,必須在列表中進行選擇可能是一個優勢。
從您自己的回答中,我看到您已經解決了
subliminal
,這與您在問題中提出的問題相去甚遠(一種與 BSPlayer 的功能密切相關的工具),因此我將首先建議一些與 BSPlayer 不太相似的解決方案,並且更多類似於subliminal
。有一些方便的解決方案可以將字幕搜尋(通過 HASH 和名稱)添加到文件管理器的上下文菜單中。第一個是一個命令行程序,其工作方式與 非常相似
subliminal
,第二個是腳本。FileBot命令行版本
非常強大,但安裝起來可能有點麻煩,因為它是一個大型 GUI 程序,它還需要 java(它也很大)。
一般命令是
filebot -get-subtitles /path/to/video/
.要按名稱(除了雜湊)搜尋,也
-non-strict
應該使用該選項。下載英文字幕不需要語言選項,但對於其他語言,有
--lang
2 或 3 個字母語言程式碼的選項,但每個命令只能指定一種語言,因此您必須為每種語言使用單獨的命令。要重命名媒體文件(使用 TMDb)並匹配它們的名稱,一個有用的選項是
-rename
.該命令可以通過在終端中執行來添加到 Thunar 的自定義操作(或 Nautilus 操作等)的上下文菜單中;對於法語,它應該是:
gnome-terminal -e "filebot -get-subtitles --lang fr -rename -non-strict %f"
我特別喜歡一次下載多個影片的字幕的能力;為此,您必須將它們放在文件夾中,選擇文件夾,然後選擇上下文菜單選項(為此,您需要將目錄添加到 Thunar 或 Nautilus 配置工具中的操作條件),它會下載所有包含的影片。- 通過這種方式(如果
-rename
包含該選項),它可以同時更正和匹配多個影片和文件的名稱。您不需要也無法在字幕之間進行選擇,但它能夠以某種方式選擇最佳字幕,即使在名稱搜尋後找到它們也是如此。
OpenSubtitlesDownload.py
OpenSubtitlesDownload.py是另一個按雜湊和名稱搜尋的文件管理器上下文菜單工具。
“它可以用作 nautilus 腳本,也可以用作在 GNOME 或 KDE 桌面環境下執行的正常應用程序。”
對於鸚鵡螺:
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
但是該
OpenSubtitlesDownload.py
腳本可以通過添加命令在其他文件管理器(Thunar 自定義操作、Nemo 操作、Pantheon-Files 契約文件)中使用sh -c "/path/to/OpenSubtitlesDownload.py %f"
我注意到的唯一缺點是,它在為系列尋找字幕方面似乎不如為故事片尋找字幕有效。
如果您想要的是與Windows 中的 BSPlayer(以及MPC-HC )完全相似的東西:
播放器
有這個選項,如此處所示。
SMPlayer 預設只檢查雜湊,與其他工具相比,您可能會獲得更少的點擊,但這可以在設置中更改(字幕-在…-選項中查找字幕):
VLC
已經在另一個答案中提到過。您在回答中提到了一個錯誤;但即使這不固定(我懷疑)下載字幕工具(VLSub)不受影響。您可以在 VLC 中開始電影,下載 subs,然後在 mpv 中播放。只有您必須使 VLSub 保持最新。
VLC 通過 hash 和 name 搜尋;它允許您選擇字幕,但最新測試的會自動替換前一個。
SubDownloader和FileBot GUI 版本是獨立於任何播放器和文件管理器執行的程序。我認為它們很有用,尤其是在搜尋多個影片的字幕時(儘管我使用上面的 FileBot CLI 版本),也是一種在全部下載之前顯示它們的方法。與以前的應用程序相比,我發現這種類型的應用程序有點麻煩。SubDownload 僅按 HASH 搜尋。