ChineseSubFinder icon indicating copy to clipboard operation
ChineseSubFinder copied to clipboard

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

Open allanpk716 opened this issue 3 years ago • 29 comments

近期情况

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

资源占用,运行中

image

资源占用,一次扫描完成

image

进程情况,运行中

image

进程情况,一次扫描完成

image

开发计划

将会出现的新功能:

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

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

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

共享字幕

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

起因

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

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

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

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

方案

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

内测

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

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

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

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

公测

待定

正式

待定

allanpk716 avatar Apr 01 '22 02:04 allanpk716

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

allanpk716 avatar Apr 01 '22 02:04 allanpk716

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

viqbgrg avatar Apr 01 '22 02:04 viqbgrg

支持,我可以参加内测

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

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

millsguo avatar Apr 01 '22 04:04 millsguo

支持共享字幕

jasonhorga avatar Apr 01 '22 05:04 jasonhorga

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

xmumeyu avatar Apr 01 '22 07:04 xmumeyu

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

allanpk716 avatar Apr 01 '22 09:04 allanpk716

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

coolyzp avatar Apr 02 '22 23:04 coolyzp

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

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

allanpk716 avatar Apr 04 '22 01:04 allanpk716

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

mhqschen avatar Apr 04 '22 02:04 mhqschen

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

portainer ,docker 的管理工具

allanpk716 avatar Apr 05 '22 11:04 allanpk716

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

wc906398139 avatar Apr 07 '22 13:04 wc906398139

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

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

allanpk716 avatar Apr 07 '22 13:04 allanpk716

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

mmiluy avatar Apr 10 '22 10:04 mmiluy

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

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

allanpk716 avatar Apr 10 '22 12:04 allanpk716

支持,已发邮件

laobanbiefangcu avatar Apr 15 '22 02:04 laobanbiefangcu

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

allanpk716 avatar Apr 18 '22 00:04 allanpk716

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

zqs1qiwan avatar Apr 18 '22 04:04 zqs1qiwan

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

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

截图

image

allanpk716 avatar Apr 18 '22 04:04 allanpk716

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

jassysth avatar May 01 '22 14:05 jassysth

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

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

allanpk716 avatar May 03 '22 00:05 allanpk716

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

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

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

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

allanpk716 avatar May 12 '22 09:05 allanpk716

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

six00 avatar May 14 '22 02:05 six00

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

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

allanpk716 avatar May 16 '22 10:05 allanpk716

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

devome avatar May 16 '22 12:05 devome

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

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

allanpk716 avatar May 17 '22 00:05 allanpk716

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

allanpk716 avatar May 17 '22 01:05 allanpk716

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

0x11901 avatar May 25 '22 21:05 0x11901

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

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

allanpk716 avatar May 26 '22 00:05 allanpk716

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

allanpk716 avatar May 30 '22 02:05 allanpk716