Subs2srs 是什麼?#
Subs2srs 是一款免費的軟體,可以將視頻文件和字幕文件轉為一組 Anki 卡片,以幫助外語學習者練習聽說和針對句子中的生詞或不熟悉的語法結構做 Sentence mining。
下載地址:https://sourceforge.net/projects/subs2srs/
使用手冊:https://subs2srs.sourceforge.net/
我們可以將 yt-dlp 下載的 YouTube 視頻結合 srt 字幕或是下載的電影或劇集的視頻與字幕轉換可導入 Anki 的文件,以便在語言學習過程中使用。
比如我們可以下載完 yt-dlp 和 ffmpeg 後,設置環境變量,選定文件夾用 terminal 打開,敲入自己想要下載的視頻或是播單或是頻道:
yt-dlp --write-sub --sub-lang en --convert-subs srt -f "bestvideo[height<=360]+bestaudio/best[height<=360]" -o "%(title)s.%(ext)s" "https://www.youtube.com/@Vox/videos"
如何使用 Subs2srs#
建議看上面圖,subs1 是你想學的語言的字幕文件所在位置,subs2 是你母語語言字幕文件所在位置 ,(支持一些正則,可以批量處理一季動漫或電視劇)
Pad timing 是針對字幕時間的延展,start 是向前延展,end 是向後延展,有這一設置的原因是為了聽台詞的時候不那麼唐突。
但我為了投個懶寫了個批量處理 utf-8 的 srt 合併字幕的 python 腳本放在這裡:
https://pastebin.com/Yv4fZdQT
我設置的是如果兩條或連續幾條相鄰不超過 250ms 的字幕會被合併, 可以修改 if time_diff <= 250 中的數字,比如日語適合 90ms。
如何尋找有字幕的 Youtube 視頻(一般學日語時會遇到的問題)#
如果你苦於尋找有著日語 CC 字幕的 Youtube 的視頻;我建議你可以在以下網站輸入一些日語詞來找合適的日語 Youtube 視頻:https://youglish.com/japanese
Youglish 支持的語言有限,一共十幾種,但相對於一般的語言學習者來說已經夠友好了,每日支持查詢 25 個詞(免費版)
或者是它的替代者 https://filmot.com/ 在 filmot 上可以搜索任意單詞,比如可以搜索一個 Latin 詞
設置 Anki 模板#
我喜歡的 anki 的模板是基於 Create subs2srs cards with mpv video player 作者提供的:https://gistpreview.github.io/?d515535b80a3d8f0775989e0d83c8a3b
不過我建議將下圖的 Image 放在第一位,這樣能避免因為出現重複內容而提示錯誤或更新
Subs2srs 的替代品#
Subs2srs 的有許多替代,以下各個是鏈接:
Create subs2srs cards with mpv video player: https://ankiweb.net/shared/info/1213145732 一款 anki 的 addon
mpvacious:https://github.com/Ajatt-Tools/mpvacious 一款搭配 mpv 和 anki 同時使用的項目
Vocabsieve:https://www.youtube.com/watch?v=EHW-kBLmuHU 一款基於 mpvacious 的軟體,有著更為強大的功能,可以根據 kindle 電子書劃高亮的詞結合詞典生成批量卡片。更能結合 Freemdict 論壇(不需要會員和登錄就能下載想要的詞典,很友好的一個學習論壇)的 mdict 詞典
Youtube to anki:https://ankiweb.net/shared/info/964531817