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"
建议看上面图,subs1是你想学的语言的字幕文件所在位置,subs2是你母语语言字幕文件所在位置 ,(支持一些正则,可以批量处理一季动漫或电视剧)
Pad timing是针对字幕时间的延展,start是向前延展,end是向后延展,有这一设置的原因是为了听台词的时候不那么唐突。
但我为了投个懒写了个批量处理utf-8的srt合并字幕的pytho脚本放在这里:
https://pastebin.com/Yv4fZdQT
我设置的是如果两条或连续几条相邻不超过250ms的字幕会被合并, 可以修改if time_diff <= 250 中的数字,比如日语适合90ms。
如果你苦于寻找有着日语CC字幕的Youtube的视频;我建议你可以在以下网站输入一些日语词来找合适的日语Youtube视频:https://youglish.com/japanese
Youglish支持的语言有限,一共十几种,但相对于一般的语言学习者来说已经够友好了,每日支持查询25个词(免费版)
或者是它的替代者 https://filmot.com/ 在filmot上可以搜索任意单词,比如可以搜索一个Latin词
我喜欢的anki的模板是基于Create subs2srs cards with mpv video player作者提供的:https://gistpreview.github.io/?d515535b80a3d8f0775989e0d83c8a3b
不过我建议将下图的Image放在第一位,这样能避免因为出现重复内容而提示错误或更新
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