发布一个从迅雷下载字幕的小工具

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

在寻找的过程中,发现不但有这种工具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,算法主要如上面描述所示,比较简单,需要的朋友可以直接获取。

原文地址:https://www.cnblogs.com/TianFang/p/9741399.html

时间: 2024-08-01 13:39:06

发布一个从迅雷下载字幕的小工具的相关文章

更改Python下载源的小工具

Pip默认的源在国外,所以下载Python包的时候会比较慢,一般在几百KB左右,有时候只有十几kb.国内也有Pypi的镜像源,速度快的多,大概有2到3M的速度.最近看到一个自动切换国内源的小工具,很不错,分享一下. pqi 这个小工具叫做pqi,可以通过pip安装,官网链接https://github.com/yhangf/PyQuickInstall 安装 pip install pqi 列举所有支持的PyPi源 pqi ls 改变PyPi源 pqi use <name>,比如运行pqi u

分享一个很早之前写的小工具DtSpyPlus

几年前写的一个获取windows窗体基本信息和屏幕取色的小工具 ,一直在用. 下载地址 http://files.cnblogs.com/dint/SpyPlus.zip

三天教会大家做一个社保管理系统中的核销小工具

我想通过这个小工具,和大家一起从零搭架子,一起编写码,一起探讨一种编码风格,一种架构,一种编程的思想体系,嗯,有了思想体系,则大巧不工! 体验地址是http://tool.hrinto.cn/用户名和密码都是tengfei12345开源地址是https://github.com/Langbencom/HeXiao 下面截图几张 咱们言归正传. 先从搭架子开始 架构没有银弹,但有套路.我认为要吃透三层架构,其他复杂的也是基于现实业务场景由此改编而来.万变不离其宗. 创业三年了,开发的项目很多,就这

一个Json结构对比的Python小工具兼谈编程求解问题

先上代码. jsondiff.py #_*_encoding:utf-8_*_ import argparse import json import sys reload(sys) sys.setdefaultencoding('utf-8') def parseArgs(): description = 'This program is used to output the differences of keys of two json data.' parser = argparse.Arg

介绍一个windows下用的ftp小工具Xftp 5

官方下载地址:http://www.netsarang.com/download/down_xfp5 选择自用学习 下载安装按照默认就好,官方版本有中文版本的 默认安装即可 接下来是打开Xftp5新建会话 协议必须选sftp 端口默认22即可.主机填远端的IP地址(虚拟机的话也是一样填IP地址),用户名和密码也要填写 然后确定连接即可 以下是连接后的界面,简单明了 给虚拟机上传一些小文件和rpm还是挺方便的

安利一个markdown在线解析的web小工具

访问地址: https://mdrush.herokuapp.com/ github项目: https://github.com/qcer/MDRush

【原创】自己动手写的一个查看函数API地址的小工具

C开源代码如下: #include <stdio.h> #include <windows.h> #include <winbase.h> typedef void (*Myproc)(LPTSTR); int main() { HINSTANCE LibHandle; Myproc ProcAdd; printf("作者:admin-神风 QQ1976604307\n"); char dllbuf[11];//char dllbuf[11]=&qu

java 一个日志记录异常信息的小工具

package com.crm.mess.util; /** * * @author liangrui * @2015/1/12 * */ public class ExceptionsLog { public synchronized static String logClzInfo(Exception e) { StringBuffer sb = new StringBuffer(); sb.append(e.getClass() + " " + e.getMessage() +

Android Studio添加Parcelable序列化小工具(快速提高开发效率)

Android Studio添加Parcelable序列化小工具(快速提高开发效率) Android Studio是google专门为开发Android提供的开发工具,在它内部可以直接的添加一些非常好用的开发小工具,这里就讲解怎样添加这些小工具,并且向大家推荐一个非常有用的对象传递时,必须要把对象序列化的接口Parcelable小工具; 这里先介绍下 Android中实现序列化的两个选择:一是实现Serializable接口(是JavaSE本身就支持的),一是实现Parcelable接口(是An