bilibili-helper / bilibili-helper-o

哔哩哔哩 (bilibili.com) 辅助工具,可以替换播放器、推送通知并进行一些快捷操作
https://bilibili-helper.github.io
Mozilla Public License 2.0
3.82k stars 457 forks source link

能不能搞个bilibili 缓冲增强,按下按钮直接缓冲整个视频,,适合网络环境较差 #661

Open 1265578519 opened 4 years ago

1265578519 commented 4 years ago

能不能搞个bilibili 缓冲增强,按下按钮直接缓冲整个视频,,适合网络环境较差

qmzmdqs commented 4 years ago

+1,不知道能不能实现

zetaloop commented 4 years ago

一键下载+修改原视频页面中播放器的视频源为下载的视频 视频弹幕两不误

jjj201200 commented 4 years ago

@IdeaPloter 想法很美好~ 怎么操作呢~

qmzmdqs commented 4 years ago

感觉除了存在内存,没别的方法了

qmzmdqs commented 4 years ago

作者在实现了吗,我今天尝试调试了一下。

调试找到 dash player 的 setStableBufferTime 函数,可以设置缓存的秒数,的确管用。 但。。。当时我的网络卡了一会,然后页面整个播放器重新初始化了。。。已经缓存的没用了。。。

jjj201200 commented 4 years ago

@qmzmdqs 很不错哦,确实立竿见影 我最近在开发2.x版本,开源项目暂时不维护了哦,你们可以自己pull,我检查后会合并

简单测了一下,似乎还有一些问题,超过某个大小会重新缓存

qmzmdqs commented 4 years ago

@jjj201200 是的,还不少问题,我也只是简单看了一下,这个功能能用要额外做很多功夫才行。

jjj201200 commented 4 years ago

@qmzmdqs 稍微翻了一下他们源码,默认是20秒,扩大到3-5分钟似乎是没问题的

qmzmdqs commented 4 years ago

@jjj201200 这里有一个很坑的问题 b 站播放器这里有一个逻辑,假如现在要缓冲 n 秒,在这 n 秒片段缓冲完成前,一旦网络波动造成较长时间(好像是十几秒?没测)不能请求,播放器就会重置,不仅缓存好的掉了,还会对观看造成很大的干扰。

明明至少还能播一会,但它不等播放完缓存,非要傻傻地立马重置播放器。

我有一台只支持 2.4g wifi 的笔记本,连 wifi 不太稳定,网速卡时经常发生这样的事。。。

qmzmdqs commented 4 years ago

蜜汁逻辑,每次遇到都默默吐槽 b 站的前端开发。乖乖播放完缓冲片段,说不定我网络就恢复了。。

我的看法

直接调整播放器默认缓存时间的,只适合于网络较稳定,但网速慢的情况。

jjj201200 commented 4 years ago

@qmzmdqs 艾特b站前端来看看哈哈哈哈哈

qmzmdqs commented 4 years ago

@jjj201200 可以有🤣

zz5678 commented 4 years ago

看 b 站卡的问题,我也遇到了,我的解决方法是,用 annie 或者 ykdl 解析播放流地址,用 mpv 来播放流,而不要用 浏览器播放,浏览器的 cdn 和 cache 都不好改。

脚本很简单自己做。 测试固定的找几个合适的cdn IP,自己改 hosts。 mpv 可以设置比如 800兆 的缓冲下载视频,如果遇到了新的 dash api 的话,甚至可以达到200兆以上的缓存速度,完全不卡。

# cache 
cache=auto
demuxer-max-bytes=800MiB
demuxer-readahead-secs=900
demuxer-max-back-bytes=500MiB
smellyking233 commented 3 years ago

@jjj201200 这里有一个很坑的问题 b 站播放器这里有一个逻辑,假如现在要缓冲 n 秒,在这 n 秒片段缓冲完成前,一旦网络波动造成较长时间(好像是十几秒?没测)不能请求,播放器就会重置,不仅缓存好的掉了,还会对观看造成很大的干扰。

明明至少还能播一会,但它不等播放完缓存,非要傻傻地立马重置播放器。

我有一台只支持 2.4g wifi 的笔记本,连 wifi 不太稳定,网速卡时经常发生这样的事。。。

之前使用b站看地区限制的视频是只要破解了限制后就能断了软件直到看完那一集,但之后就是要求全程开着软件(看起来是每隔多少秒就会检查一次网络,异常就会直接断开),不知道是不是和这个有关——完全不懂编程开发的纯小白

jjj201200 commented 3 years ago

@smellyking233 因为视频源被分段下载和播放了哈,你描述的情况是理所应当会出现的

qmzmdqs commented 3 years ago

@jjj201200 关于这个功能,我很早有一个脑洞,就是比较麻烦。 像以前百度云盘的极速上传插件一样,需要这个功能就安装一个插件原生程序,通过这个本地程序写入和读取缓存。 通过拦截网络请求或者播放器方法来记录缓存和注入缓存。就是这步比较麻烦,也不知道能不能做到。 总之,这样搞了后,网页就和移动端那样有了缓存。就是这样做不知道投入值不值得……

whsong commented 2 years ago

@qmzmdqs 叨扰了。请问您提到的 setStableBufferTime 设置缓存的秒数 具体怎么操作方便展开说一下嘛?不是网页相关开发人员。

qmzmdqs commented 2 years ago

现在我已经忘记在哪个类中,而且需要一些简单调试技巧

W Song @.***> 于 2022年4月2日周六 上午7:48写道:

@qmzmdqs https://github.com/qmzmdqs 叨扰了。请问您提到的 setStableBufferTime 设置缓存的秒数 具体怎么操作方便展开说一下嘛?不是网页相关开发人员。

— Reply to this email directly, view it on GitHub https://github.com/bilibili-helper/bilibili-helper-o/issues/661#issuecomment-1086416950, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALWYHSUNAYKNB3Q3XWXCWATVC6DNNANCNFSM4KSA6ZOA . You are receiving this because you were mentioned.Message ID: @.***>