ChineseSubFinder / ChineseSubFinder

自动化中文字幕下载。字幕网站支持 shooter、xunlei、arrst、a4k、SubtitleBest 。支持 Emby、Jellyfin、Plex、Sonarr、Radarr、TMM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

大版本规划,以及新功能“共享字幕”功能的简介和讨论

allanpk716 opened this issue · comments

近期情况

近期由于 zimuku 反爬策略更新,个人比较懒,精力有限,为了更好的维护和实现,爬虫都是用 Chrome 实现的。所以资源占用一定会增高的。我现在的环境是:群晖 918+,8G 内存。CSF:v0.22.8 。运行起来的资源情况如下图:

资源占用,运行中

image

资源占用,一次扫描完成

image

进程情况,运行中

image

进程情况,一次扫描完成

image

开发计划

将会出现的新功能:

  • 首次使用本工具的所有视频字幕下载
  • 共享字幕

对于前者,其实做过,但是以现在的情况来看,每天某些字幕下载源的次数是受限的,那么如果没有“任务队列”的概念就无法真正把所有的视频有序的下载完,每天等到有下载次数的时候,会不停的在某些视频上反反复复。

对于后者,这里会展开多说一点,有点啰嗦,需要把前因后果给说清楚了,利弊也大致说一下,应该是影响本程序还会维护多久的是一个重要因素。

共享字幕

目标是把使用本程序下载的字幕,以某种方式收集起来(不收集隐私为前提),然后再通过某种形式供本程序的用户专属查询和下载。

起因

字幕网站其实也有生存的压力,那么本程序的出现其实或多或少是给对方有一定的额外负担,这也就是为什么把多线程给砍了,尽可能降低并发。这个显然是治标不治本的。我们需要有计划的“竭泽而渔”(误)。那么这部分的查询、下载的压力需要有人来分担。

只要是使用自动化字幕下载工具的用户,以及开启了浏览器广告屏蔽功能的用户,可以说都是这些字幕网站的“负担”。

本程序的初衷是作为挂机用的,但是现在计算量和资源占用越发的高,那么普及度只会降低,使用的硬件门槛也越高。

虽说这个功能在项目初期就计划了,但是现在觉得有必要提高优先级做出来。

方案

争取在:时间、精力、金钱、非技术问题上,是本人能够承受为前提,免费提供这个服务。
大致会有三个阶段,内测、公测、正式。
毕竟是用爱发电,服务器资源有限(小水管),那么一定会做出下载次数限制,这个肯定会至少满足一般人员每个月追剧的次数要求。比如,一个月每天假设你看5集连续剧,一个月 150 次日常下载应该满足。然后一次性给你 5000 次字幕的下载次数,我相信一般人是足够的。当然还可以再商量。

内测

会给出一个共享的中心服务器,邀请制度,给出账号、密码(APIKEY),进行小范围的试用。

初期内测人员不会设置下载的次数限制。但是会有一定的要求:

  • 有足够的硬件资源,能够顺利的运行目前这个 v0.23.x 版本(后续至少是这样的资源占用率)
  • 务必使用 Emby 进行视频的观看,才能够获取到视频对应有效可信字幕的关系
  • 能够承诺至少在半年内运行本程序,且同意上传本地的字幕进行共享(不会收集隐私,有必要可以审查代码)
  • 每个月至少有 5 到 10 次外置字幕视频的观影(否则无法累积共享字幕,最新字幕)

内测第一阶段,仅仅是收集字幕,暂时不提供下载
内测第二阶段,开放给内测人员下载共享字幕,原则上不会限制下载次数

公测

待定

正式

待定

共享字幕的功能还没完全做完,后续如果确认能够长久参加内测的,可以使用 github 找到邮箱联系。也许会使用 telegram 群组进行交流。上传功能做完后需要一定人数的参与,才能评估是否做的下去。

支持共享字幕,希望能建个电报群来交流

支持,我可以参加内测

另外,共享服务器端可以建立一个视频库,存储每个视频的HASH MD5,然后再匹配每个视频的最优字幕
每个用户下载字幕前先查询中心服务器,有最优字幕直接下载,没有再由用户去字幕站下,然后上传至中心服务器

同时,建立中心服务器用户上传积分制度,1-3个月达到多少积分,可以享受多少字幕下载的配额

支持共享字幕

支持共享,不过如果有共享功能,必然涉及到服务器费用,建议开个捐助好了。否则既出工,还要自己往里搭钱,没多久可能就没兴趣维护了。

电报群弄了一个,有兴趣的可以邮件询问我要。暂时不公开先。

这个共享字幕能做成P2P的形式吗

这个共享字幕能做成P2P的形式吗

评估过,依然需要一台中心服务解决搜索和索引的问题。P2P 玩起来就跟 PT 一样了,感觉受众降低,需要每个人都负担较高的存储代价。也许后面也会上线,但是怎么做好普适这个得想好。

btw, 这个资源占用的图是用什么生成的?

btw, 这个资源占用的图是用什么生成的?

portainer ,docker 的管理工具

如何加入?有意,后期需要服务器费用支持开捐。

如何加入?有意,后期需要服务器费用支持开捐。

可以给我发邮件(见,github profile),暂时小范围测试(估计月底会发布初版)

共享字幕这个功能不错,可惜就是占用资源太多。后续要有相应的费用支出,光靠捐助估计难以支撑。

共享字幕这个功能不错,可惜就是占用资源太多。后续要有相应的费用支出,光靠捐助估计难以支撑。

嗯,这个月会出初版,试试看什么资源的消耗。

支持,已发邮件

共享字幕的功能需要优先完成单机版本的大重构和很多细节的调整,这个月争取出单机版,然后下个月再看情况推进共享版本。

大概字幕格式目前两种 emby 和 通用(即兼容plex),因为自己服务器架构已经成型是走的plex可能不太好改emby但是需要通用格式的话可以助一臂之力。另外目前内测限制emby是因为刮削和nfo考量嘛?如果是这样我可以做到全部sonarr nfo刮削上传,不会造成识别上的困难

大概字幕格式目前两种 emby 和 通用(即兼容plex),因为自己服务器架构已经成型是走的plex可能不太好改emby但是需要通用格式的话可以助一臂之力。另外目前内测限制emby是因为刮削和nfo考量嘛?如果是这样我可以做到全部sonarr nfo刮削上传,不会造成识别上的困难

你提到的字幕命名格式转换的问题,我之前开发的时候考虑过了,留了自动化转换的逻辑。如果你在两种命名格式之间进行切换,重启程序,本程序会自动帮你批量取转换字幕的命名格式的。当然,这个功能出来很久了,也没人反馈问题,但是我建议,如果你项要使用,单独弄个测试的视频文件夹,按照正常的视频要求格式丢一两个视频和字幕过去试试。

截图

image

commented

请问如何参与内测,我发了邮件,但是没有收到回复

请问如何参与内测,我发了邮件,但是没有收到回复

邮件会一段时间统一回复,可能会稍晚。

  1. 经过一段时间的考虑,准备先把插件系统做出来,然后你们想做的啥功能,如果我个人不想做,可以由社区完成。
  2. 如果我没啥时间维护了,那么核心的爬虫功能(多个字幕下载源)也能分离出来给其他人维护(总比看懂我的代码爽对吧)。
  3. 调研完应该会选择这个框架来实现:https://github.com/hashicorp/go-plugin

所以,你们想要的啥功能,可以提一下,好规划接口和插件系统。

比如,通知的功能(但是我没太多精力自己去做。),完全可以其他人实现,对接插件系统就结了。后续你们想对接啥通知系统都不用等我。

翻译我也会给出接口,也许我有精力去做,因为我需要这个功能去看一些连续剧··· 😂

commented

支持共享字幕 现在用nas的人还是挺多的 要是每人都去请求不同的字幕网站也挺浪费资源,同时给网站带了不小的压力,这完全没必要,也会搞得以后的反爬弄的越来越复杂,等下我发下邮件,请求参加下内测

也许现在使用人数上来了,或者其他原因,对字幕站压力太大了。不准备维护 zimuku 和 subhd 的爬虫啦 #343

会把伪射手的 API 先对接上,然后去看字幕下载分流(也许还是叫,共享字幕)的方案(需要大家也能够愿意分享你们已经观看的字幕出来,作为基础调研)。

由于我使用的是Jellyfin,不是Emby,目前看起来没法参与内测。

由于我使用的是Jellyfin,不是Emby,目前看起来没法参与内测。

准备开放给更多人,怕一次太多人,顾及不过来。

  1. 准备上线一个版本,提前进行共享字幕服务器 Web API 使用量的测试,不会真实的下载字幕,仅仅是有查询字幕的逻辑。
  2. 内测的范围将提高,不限于你使用什么媒体服务器,只要是使用本工具都可以加入。https://t.me/+yiTaK9iNludiYmFl

其实我倒是共享字幕的话会增加很多复杂度,肯定很难做好。时间、精力、金钱三点肯定需要的更多(

其实我倒是共享字幕的话会增加很多复杂度,肯定很难做好。时间、精力、金钱三点肯定需要的更多(

所以分步来,可以及时止损

字幕的上传已经上线 v0.29.x 使用最新即可。如果可能,需要大家去“实验室”开启“共享字幕”的功能,然后重启程序或者容器生效。共享下载功能需要等待收集到多少字幕再评估。