作者:阿超一米五
什麼是CSF,它能為我們做什麼?
(心急的童鞋可以直接跳到第2步開始搭建)~~
CSF,全稱為
ChineseSubfinder
,望文生義,
是一個純粹的為中文字幕而生的字幕下載器。
Emby是一個非常優秀的自建流媒體伺服器,但相信大家在使用它的過程中也會遇到許多痛點,首當其衝的應該就是中文字幕的下載和匹配。這個問題應該也算是影音發燒友們折騰路上難以繞過的一關。雖然因為PT站一大批為愛發電的工作組的存在,使得優質影片+特效字幕的打包資源的獲取變得越來越容易,但是更海量的老資源以及冷門的未被涵蓋的資源仍然存在著非常現實的字幕難題。
中文玩家事實上坐擁字幕庫、射手網等諸多優質的中文字幕產出地,高質量字幕的獲取理論上不算一件難事,但是正如CSF的作者(下文簡稱作者為716佬)所說:
@allanpk716:就現在短期觀察到的字幕問題,其實歸根結底還是字幕檔案命名規範不統一,也沒有組織去推廣命名規範。當然這個問題也是有人考慮過的,不然 shooter 和 xunlei 怎麼會用影片的唯一 ID 去搜索字幕呢,大概就是為了跳過這個問題吧。這個方向很好,但是問題就是你的播放器佔有率如何。
在接觸到PT之前,透過BT下載的無字幕資源,我通常會在字幕庫嘗試手動下載字幕。下一個速度正常,影片質量令我滿意的資源已非易事。如果內嵌字幕還好,碰到需要手動下載的,
開啟字幕網站-搜尋影片-挑選看起來合適的字幕檔案-下載-手動改名以使播放器能夠自動識別字幕
,這一長串的流程更是掃興 。如果再碰到下載的字幕時間軸不匹配、字幕樣式不喜歡更是雪上加霜,觀賞影片的心情毫無例外的大受影響
(簡稱心態崩了)
。
CSF就是716佬為中文影音玩家準備的一份厚禮,希望藉它實現全自動、準確且高效的中文字幕下載與匹配。我在之前透過Sleele大佬的文章接觸到Sonarr和CSF時,就立刻開始使用它作為我的字幕獲取途徑。早期的CSF功能較簡陋,需要透過YAML配置config文件來執行。雖然對於愛折騰的玩家來說YAML配置應該是手到擒來了,但是總歸存在著一定的上手難度。而V0。20版本開始,
CSF正式進入了WEB時代,集多媒體路徑、Emby API支援、多站點聚合檢索及字幕時間軸自動校正等等強大功能於一體,易用性得到了極大的提升。
目前CSF的主要功能如下:
支援的影片型別
支援的字幕站點
支援的影片格式、各類優先順序的說明
716佬還希望透過CSF來助力完善字幕命名規範,並開發一個字幕組元資料描述生成的輔助工具。
衷心希望作者的願景能夠早日實現!
接下來進入正文,實操在群暉上安裝CSF!
準備工作
開啟群暉的Docker,在登錄檔搜尋ChineseSubFinder,下載latest映象(當前最新版本為v0。21。1)
新建一個容器使用的資料夾,下面再新建兩個資料夾,config和cache。可以直接安裝在群暉自帶的docker共享資料夾下,由於我是另外安裝在固態上因此是單獨的一個資料夾。
前者,是配置檔案的儲存目錄,Log 資料夾也會出現在其中
後者,是快取資料夾,特別是使用時間軸自動校正功能必須映射出來
開始搭建
在Docker的映像中,找到剛剛下載好的映象,選中它然後雙擊以啟動映象,接著點選高階設定
首先,給啟用自動重啟打上勾,這樣Nas開機就會自動執行容器
關於儲存空間對映的設定項及詳細說明
由於我和作者一樣,都是使用radarr和sonarr進行自動化媒體庫的管理,因此我們的媒體庫結構是基本一樣的,所有的媒體資料夾都在一個頂級父目錄下,同時所有的媒體檔案都經過了刮削和整理,姑且將這類資料夾層級當作媒體整理的規範。
將前面準備的config和cache資料夾掛載到容器上,不要修改圖片中的裝載路徑。
同時將你的媒體資料夾掛載到/media目錄,如圖中所示,我的媒體資料夾為18bro/Media。
如果你的媒體庫分佈在多個盤上,那麼可以掛載多個media目錄,目前支援額外掛載9個資料夾,從/media1到/media9
此處額外貼上作者關於層級的解釋,以及CSF是如何工作的,理解了原理才能避免使用中出現錯誤:
電影的目錄結構
CSF會透過刮削後子目錄下的nfo等檔案中影片的IMDB等元資料資訊進行字幕的搜尋和匹配,雖然未刮削的檔案依然可以透過檔名進行搜尋,但是準確率和效果不佳,
因此強烈推薦對媒體庫的檔案進行刮削整理後再配合CSF使用。
手動管理是很痛苦的一件事,TMM等工具雖然可以很好的實現刮削和整理的效果,但是反覆的操作是很消磨耐心的。Radarr和Sonarr雖然初期配置較為繁瑣,但是後續的使用確實非常省心啦!最近還湧現了諸如MovieRobot、Nastools等國產開發者的優秀專案,感覺以後影音愛好者的折騰會越來越輕鬆。
劇集的目錄結構
劇集與電影不同,電影是推薦使用規範的目錄結構,但劇集如果不遵守此規範是
直接無法使用
字幕自動下載功能的。
連續劇字幕自動下載的功能
嚴重依賴於 IMDB ID
,所以會自動去
每個劇集的目錄中找 tvshow.nfo這個檔案
,這個檔案是 emby 或者 sonarr 自動生成的。
同時CSF只會處理一級目錄的搜尋,拿上面我掛載的目錄為例:
劇集目錄為
SeriesFolder: /Media/TV
則CSF會對以下目錄進行搜尋
/Media/TV/All of Us Are Dead (2022)
/Media/TV/D。P:逃兵追緝令 (2021)
/Media/TV/Dopesick
但
不會對二級目錄進行搜尋
,舉個例子,有些人可能會將一些同類的片子置於一個資料夾下
/Media/TV/犯罪/成癮劑量
/Media/TV/犯罪/不死法醫
這種情況下,CSF是無法讀取“犯罪”這個資料夾下的劇集資訊的。
即劇集資料夾不能巢狀
,劇集資料夾必須為劇集目錄的一級子目錄,且它的下一級必須包含tvshow。nfo檔案。
具體的操作其實可以參考我的上一篇文章,媒體庫的設定照著做一定不會出問題了!
Emby正傳 篇二:萬劍歸宗之刮削大法!史上最全從Emby命名規則到刮削設定一條龍圖文教程!
NAS儲存
什麼值得買
埠設定
設定埠19035
,也可以使用你想用的埠。
其他的網路、連結和環境不需要改動,直接點選應用即可執行容器。
完事後在瀏覽器輸入你的群暉ip地址+19035進入CSF的WEB設定介面,進行下一步的設定。
WEB引導頁設定
首先建立你的管理賬號
設定對應的媒體庫目錄,根據剛剛掛載的路徑進行填寫即可。
716佬:每填寫完成一個路徑後,使當前的輸入框丟失焦點即可觸發路徑是否存在的檢測邏輯,如果不對,你需要理一理你在之前配置對映的 Docker 目錄是否對。
點選+號可以建立多條目錄
選擇媒體伺服器,以Emby為例
填寫Emby的內網地址和apikey,apikey需要前往Emby生成一個,開啟Emby右上角的設定,左邊的功能欄拉到底部,點開API金鑰,生成一個新的金鑰即可。
接下來需要填寫Emby的目錄對映,這裡是比較容易出錯的點。以我為例,我是群暉DSM 7的官方套件版,開啟Emby-設定-媒體庫,
根據上一步掛載的路徑找到對應的媒體庫,複製該媒體庫下方的路徑使其能夠一一對應即可
。如果填錯了,會提示你檢測錯誤,檢查後再填寫正確的路徑即可。
填寫完畢,點選完成即可。
執行CSF並配置
登入剛剛設定的賬戶
先不要執行任務!點開配置中心,如果需要程式啟動的時候就立即開始掃描字幕,那麼可以開啟第二項的開關。
這裡需要特別注意!如果這個開關關閉,
那麼在工作列點選立即執行時程式並不會立刻開始掃描字幕
,而是會提示你將在等待設定的時間間隔後(預設6H)開始第一次執行,因此建議開啟此開關。
點到進階配置內,推薦開啟
儲存整季的快取字幕
和
儲存多字幕
。快取會將該劇集掃描到的字幕加入快取,儲存多字幕可以在Emby上自由選擇多個匹配的字幕。
其他的設定如無必要推薦不作修改,直接返回到任務頁面,點選立即執行程式就跑起來啦!
關於自動校正字幕時間軸功能
目前作者已經開發到了V2版本,根據716佬的介紹,他為了儘可能實現獨立執行,使用golang重寫了一個很棒的時間軸校正專案ffsubsync!我們在開局的時候配置掛載的cache目錄,就是為了避免每次更新CSF後重復匯出之前已經生成的快取。
修正字幕的效果如下,CSF會對外接下載的字幕進行時間軸和內建音訊校正,完成後原有的字幕會加一個字尾名(。csf-bk)進行備份儲存。如果你發現自動校正的有問題,可以手動還原回去。
由於此功能仍處於開發階段,可能存在一些問題,且第一次使用由於需要將影片檔案加入快取,耗時較長,根據自己需求來選擇是否需要開啟即可!
我覺得
作者是一個非常有溫度的開發者
,不管是專案Readme上超級詳細的引導文件(毫不誇張的說,大佬寫的readme是我見過的中文專案中
最詳細最小白化考慮最周全的
),issue中的認真回覆抑或是最重要的CSF軟體整體設計的效果(為了照顧到更多使用者,摒棄了以前的YAML配置轉而聯合其他開發者支援了WEB化),可以看出他是一個非常純粹的為愛發電的技術大佬!
作為一個技術白痴和愛折騰的普通人,由衷感謝所有參與到CSF專案中的技術大佬們,正是有你們的存在,科技改變生活才顯得不是一句空話!
完結撒花!如果有幫到你,麻煩動動小手給我來個三連吧!