最近下载个电影找不到字幕,最后却用迅雷看看匹配上了。再接着试了一下,发现迅雷的字幕库还很全的。由于我平时很少用迅雷看看这个视频软件,虽然迅雷看看可以保存字幕,但用起来也还是非常不方便,便想找一个有没有独立的工具可以下载迅雷字幕库的字幕。

在寻找的过程中,发现不但有这种工具thunder-subtitle,就连算法都有了,其基本过程如下:

首先,取视频的一部分内容求sha哈希值,具体取内容的算法为:

  1. 如果文件小于60k(0x000),其文件所有内容
  2. 如果文件大于60k,取如下三部分的内容
  • 开始20k(0x5000)内容
  • 中间20k(0x5000)内容
  • 文件末尾20k(0x5000)内容

然后,使用get方法访问http://sub.xmp.sandai.net:8000/subxl/{cid}.json。其中cid为视频文件的cid值。

这样就能得到所有字幕信息,是一个json格式的数据,解析改数据后就可以下载字幕了。

也就是说,迅雷的字幕库是和视频内容关联的,是不能用视频文件名搜索的,这个和之前射手网的字幕api是非常类似的(其求hash的算法也非常类似)。

由于原项目是python些的,没有gui界面,使用起来有所不便,便趁国庆有点时间用C#重写了一下,用wpf写了一个简易的界面,点击下载。项目源码也发布在了github上ThunderSRT,算法主要如上面描述所示,比较简单,需要的朋友可以直接获取。

相关文章:

  • 2021-12-01
  • 2022-12-23
  • 2021-11-17
  • 2021-12-22
  • 2021-12-26
  • 2022-01-09
  • 2021-06-03
猜你喜欢
  • 2021-11-12
  • 2022-01-29
  • 2021-05-20
  • 2022-02-22
  • 2021-03-31
  • 2021-11-03
  • 2021-11-10
相关资源
相似解决方案