中文字幕自动化下载工具 - ChineseSubFinder

2021-06-23 10:33:14 +08:00
 allanpk716

在下人人字幕的老粉丝了,之前做过他们的自动化追剧小玩意,但是因为关闭了,所以追剧荒废了很久。

近期参考《[高阶教程-追剧全流程自动化 | sleele 的博客]( https://sleele.com/tag/高阶教程-追剧全流程自动化 /)》搞定了自动下载,美剧、电影没啥问题。但是遇到字幕下载的困难,里面推荐的都不好用,能下载一部分,大部分都不行。当然有可能是个人的问题。为此就打算自己整一个专用的下载器。

市面上有几款类似的工具,本工具与他们的差别(可能是优势也可能是劣势)最大的地方在于:

  1. 需要削刮器提前处理好视频文件
  2. 简化了配置
  3. 能够分析字幕的语言类型
  4. 适配 Emby/Jellyfin 、TinyMediaManager 、Sonarr 、Radarr

目前自用了 2 周时间,以下电影、连续剧能够第一时间找到中文字幕:

等等

有一些设计的细节,字幕选择和搜索的选择逻辑,后续会慢慢写出来,个人觉得大部分人用就行了,没必要开放太多的配置细节出来。目前需要使用 Docker 部署(其实也支持其他平台,因为是 golang 开发,自己编译也很容易),还是有一定的学习成本。后续考虑看看相关的 CI/CD 东西,能够自动输出多平台的可执行文件(之所以没弄,是因为在家使用 portainer 管理,遇到一个梗,拉取 latest 都无法是最新的,哪怕选择了 always pull 都一样,心态就不好了)。

源码: https://github.com/allanpk716/ChineseSubFinder

dockerhub: https://hub.docker.com/repository/docker/allanpk716/chinesesubfinder

11306 次点击
所在节点    分享创造
38 条回复
ruidoBlanco
2021-06-23 15:38:44 +08:00
我也有造这个轮子,roylez/subs 。
allanpk716
2021-06-23 16:01:23 +08:00
@ruidoBlanco ruby 啊,666,先关注,有机会了解 ruby 可以看看
vivaldi
2021-06-23 16:44:37 +08:00
目测 windows 系统上面不好部署,现在 docker 在 windows 上面是 wsl 后端,运行在 wsl 里面的镜像可能得折腾一下才能使用。
allanpk716
2021-06-23 16:48:26 +08:00
@vivaldi 我就是在 Windows 下开发的,如果仅仅想跑起来,编译后,配置好配置文件,直接双击运行就好啦。至于 Windows 部署这一块,不清楚有什么建议,或者说需求。比如,是想变成服务运行呢,还是双击运行一次?
ybleak
2021-06-23 17:38:42 +08:00
棒,star 了
XIU2
2021-06-23 22:27:51 +08:00
现在国外都在做流媒体了(发不出来名称。。。)
这些流媒体平台,很多都自带中文字幕了,很舒服~
allanpk716
2021-06-24 08:26:04 +08:00
@XIU2 嗯很多视频都内封有多国语言字幕的,不过有中文的不多。翻译质量以及字幕组附带的梗备注,这些是官方没有的,也是价值所在吧。
lamesbond
2021-06-25 10:50:52 +08:00
以前有个叫 subdownloader 的插件,把文件拖到里面就自动下字幕,15,16 年后就不好用了,之后只能到各大字幕网站找
allanpk716
2021-06-26 12:43:50 +08:00
@lamesbond 维护是个体力活···后续会做教程,怎么做“获取字幕数据”这个部分
allanpk716
2021-06-26 12:51:38 +08:00
@lamesbond 不过看样子 shooter 和 xunlei 的接口还是很稳定的,所以最差还是能够用这两个接口去自动下载字幕(毕竟 zimuku 和 subhd 调整网站页面的频率较高)
lamesbond
2021-06-26 13:28:11 +08:00
迅雷就够了,我有时看一些冷门电影,各大字幕网站都找不到字幕,用迅雷影音打开就有匹配的在线字幕,很神奇,特别是看 AV 时能匹配到字幕,你都不知道这些字幕哪来的,迅雷就是有。
allanpk716
2021-06-26 13:33:18 +08:00
@lamesbond 做播放器就是有这个好处,可以精确的知道一个视频到底大众认可的字幕有哪些,收集起来,人越多越准
manfred4527
2021-06-30 08:41:04 +08:00
同一个影视剧不同的片源导致字幕时间线对不上这种问题该怎么解决呢
allanpk716
2021-06-30 14:39:01 +08:00
@manfred4527 迅雷和射手的接口有返回字幕偏移的时间,但是这个需要对接到播放器上才有用,字幕上没有相应的字段去表述可以统一的调整时间轴信息。

虽然也可以在本程序帮大家偏移,但是意义不大。首先是接口拿到的数据未必都有偏移数值,而且总体有这个数值正确的占比较低(就是字幕哪怕是用视频唯一 ID 得到的,也可以能偏移不对)。其他的 zimuki subhd 是没有这个信息的。所以这个功能就没做。

个人建议是用你的播放器手动去调整字幕的播放延迟,暂时我还能接受这个操作,最多的一次偏移了 5000 ms,单次 50ms···就是多点几次呗

其实吧,对于 emby 这种,技术上他们完全可以收集大家的字幕使用信息,然后把这一块做好( shooter 和 xunlei 播放器肯定是有的),但是为啥没做这个就不好说了。
tyhunter
2021-08-11 16:20:19 +08:00
老哥牛逼,也发现了另一个字幕自动下载的轮子,https://github.com/91270/Emby.MeiamSub,通过自动匹配文件 hash 去射手、迅雷找对应字幕
tyhunter
2021-08-11 16:20:32 +08:00
allanpk716
2021-08-13 09:34:01 +08:00
@tyhunter 不错,收藏了。这方案再加入自动更新就完美了。
wlklazyman
324 天前
多谢你的辛勤工作成果,正准备在黑群晖中试用。docker 上安装好后,首次登录最后一步设置时总是提示“软件运行在 Docker 中,请将电影和电视剧目录修改为 /media 下的目录,否则可能会因为权限问题导致无法正确的加载媒体库”,请教如何解决?启动容器时将常用的影音库共享文件夹在高级设置-文件夹中装载路径分别设为 /movies 和 /tv,首次登录的第二步设置中已将连续剧和电影目录分别设置为以上两个装载路径。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/785241

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX