muzuiget / dualsub-support

Dualsub - Dual Subtitles for YouTube
https://www.dualsub.xyz/
277 stars 23 forks source link

关于自动选择 Whisper 字幕菜单的问题 #557

Closed muzuiget closed 10 months ago

muzuiget commented 10 months ago

这个问题今天又有几个人在问,我之前说过是为了“减轻服务器负担“,所以有意改成“不自动选择”,一定要手动选择。

有的人不解,还给了一些建议,但是很抱歉,还是不能改回去,“减轻服务器负担“这个说法不够具体,我换个说法。

这样做是为了公平调度

a7b44ad8e2e34a1f88b2b3ab82cd42b9

当你打开一个 YouTube 视频,选择好 Whisper 字幕菜单后,会看到

{ waiting for server response ...}

这个“代替字幕”短暂显示,这时候服务器需要花时间处理:

  1. 从 YouTube 服务器下载音频文件。
  2. 调用 Whisper 识别其中的一小段音频。

在最理想的情况下,大概 4 秒返回识别结果,大约 30 秒的字幕内容。然后服务器期望你,最好 30 秒后再来请求识别下一段音频,也就是你把这 30 秒字幕都看完了。

类似吃自助餐,即使每个人的胃口不同,但是避免浪费食物,最好就是吃完当前的,再去拿新的食物。当然你也可以浪费一点点食物,只要不是太过分。

所以如果自动选择 Whsiper 字幕菜单会怎么样呢?

这表示每个用户都会更频繁发送识别请求,尤其是“闲逛”的时候,每个视频看了几秒就切到下一个了,也就是“浪费”二十几秒识别结果了。

服务器排队处理每个识别请求,更多的请求,也就是更长的等待时间,那个“代替字幕”显示的更久才能换成识别结果。

那怎么办?加机器?成本增加了,那我收费价格也加一下是不是?

不如限制一下那些“浪费“的用户,保障那些“节约”用户,也就是“公平调度“。就是在客户端让你多点几下鼠标选择菜单,减少发送的请求。

这样,无意义的请求数量少了,排队处理也少了,每个用户都得到更快的响应时间,服务器资源得到充分利用。