Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: liqi0816/bilitwin
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: Xmader/bilitwin
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Able to merge. These branches can be automatically merged.
Loading
Showing with 24,179 additions and 12,296 deletions.
  1. +5 −0 .gitignore
  2. +0 −4 .gitmodules
  3. +52 −33 README.md
  4. +8,405 −5,397 biliTwin.user.js
  5. +6,773 −3,115 biliTwinBabelCompiled.user.js
  6. +7 −3 docs/CONTRIBUTING.md
  7. +68 −64 gulpfile.js
  8. +2,765 −1,688 package-lock.json
  9. +14 −10 package.json
  10. +0 −1 src/assconverter
  11. +89 −0 src/assconverter/.eslintrc.js
  12. 0 src/assconverter/.nojekyll
  13. +373 −0 src/assconverter/LICENSE
  14. +29 −0 src/assconverter/README.md
  15. +116 −0 src/assconverter/extension/danmaku/ass.js
  16. +237 −0 src/assconverter/extension/danmaku/layout.js
  17. +148 −0 src/assconverter/extension/danmaku/parser.js
  18. +65 −0 src/assconverter/extension/download/download.js
  19. +74 −0 src/assconverter/extension/font/font.js
  20. +150 −0 src/assconverter/extension/options/ext_options.js
  21. +107 −0 src/assconverter/interface.js
  22. +33 −2 src/bilitwin-babel.entry.js
  23. +65 −2 src/bilitwin.entry.js
  24. +16 −6 src/bilitwin.meta.js
  25. +196 −388 src/biliuserjs/bilimonkey.js
  26. +204 −76 src/biliuserjs/bilipolyfill.js
  27. +8 −33 src/biliuserjs/biliuserjs.js
  28. BIN src/black.mp4
  29. +47 −0 src/flv2aac/adts-headers.js
  30. +111 −0 src/flv2aac/flv2aac.js
  31. +10 −4 src/flvass2mkv/demo.html
  32. +2 −2 src/flvass2mkv/demuxer/ass.js
  33. +11 −8 src/flvass2mkv/demuxer/flvdemuxer.js
  34. +8 −7 src/flvass2mkv/gulpfile.js
  35. +62 −60 src/flvass2mkv/index.entry.js
  36. +24 −17 src/flvass2mkv/interface.entry.js
  37. +2,811 −1,198 src/flvass2mkv/package-lock.json
  38. +3 −2 src/flvass2mkv/package.json
  39. +96 −28 src/flvass2mkv/remuxer/mkv.js
  40. +1 −0 src/flvass2mkv/util/shim.js
  41. +1 −1 src/flvparser/flv.js
  42. +126 −0 src/subtitle/ass.js
  43. +101 −0 src/subtitle/index.js
  44. +29 −14 src/ui/exporter.js
  45. +569 −125 src/ui/ui.entry.js
  46. +125 −0 src/ui/webworker.js
  47. +7 −4 src/util/cache-db.js
  48. +16 −2 src/util/detailed-fetch-blob.js
  49. +20 −0 src/util/timeout.js
  50. +0 −2 start-local-debug-server.bat
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,7 @@
# node
node_modules/
temp/

todo.md

test.js
4 changes: 0 additions & 4 deletions .gitmodules

This file was deleted.

85 changes: 52 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,69 @@
# 国产浏览器请点[这里](https://liqi0816.github.io/bilitwin/biliTwinBabelCompiled.user.js)

[原作者的脚本](https://greasyfork.org/scripts/27819)失效了,
于是我在他的基础上继续开发脚本以兼容B站新版播放器

Greasy Fork地址: [https://greasyfork.org/scripts/372516](https://greasyfork.org/scripts/372516)

如果有bug,请直接使用[Github Issues](https://github.com/Xmader/bilitwin/issues)向我反馈

## ~~由于B站限制,右键一下播放器 或 开始播放 才能显示下载按钮~~ (从`v1.19.4 `版本开始不需要了)

**使用`发送到aria2 RPC`功能,请自行解决浏览器默认阻止加载[混合活动内容](https://developer.mozilla.org/zh-CN/docs/Security/MixedContent#Mixed_active_content)的问题 (推荐解决方法: 为aria2开启https支持)**

---

# 国产浏览器 和 旧版Edge浏览器(非Chromium内核) 请点[这里](https://www.xmader.com/bilitwin/biliTwinBabelCompiled.user.js)

# 脚本功能
* BiliMonkey
* 网络
* 抓取FLV
* 抓取MP4
* 抓取FLV / MP4
* 抓取弹幕
* 抓取CC字幕
* 缓存
* 缓存FLV到本地
* 缓存FLV / MP4到本地
* 断点续传
* 用缓存加速播放器
* 用缓存加速播放器 **(在新版播放器中不可用)**
* 转码
* 合并FLV
* 弹幕转码ASS
* 软字幕打包FLV+ASS为MKV
* CC字幕转码ASS
* AAC音频下载
* 软字幕打包FLV+弹幕ASS+CC字幕(如果有)为MKV
* 集成
* 下载合并一条龙 <sub>一键下载所有超清FLV分段并自动合并</sub>
* 关标签页已下载的分段不消失 <sub>保留已经下载好的分段到缓存</sub>
* 断点续传 <sub>也保留部分下载的分段到缓存</sub>
* 用B站原生播放器播放下载好的缓存 <sub>如果发现缓存里有完整的分段,直接喂给网页播放器,不重新访问网络。小水管利器。如果实在搞不清怎么播放ASS弹幕,也可以就这样用。</sub>
* 用B站原生播放器播放下载好的缓存 <sub>如果发现缓存里有完整的分段,直接喂给网页播放器,不重新访问网络。小水管利器。如果实在搞不清怎么播放ASS弹幕,也可以就这样用。</sub> **(在新版播放器中不可用)**
* 批量下载
* BiliPolyfill
* 界面
* 稍后再看添加数字角标
* 弹幕列表换成相关视频
* 整合充电榜与换P倒计时
* 自动化
* 自动滚动到播放器
* 自动聚焦到播放器 <sub>新页面直接按空格会播放而不是向下滚动</sub>
* 关闭菜单后聚焦到播放器
* 记住防挡字幕
* 记住弹幕开关(顶端/底端/滚动/全部)
* 记住播放速度
* 记住宽屏
* 自动跳转上次看到
* 自动播放
* 自动全屏
* 标记后自动跳OP/ED
* 尝试自动找上下集
* 为B站游戏详情页面(如[这里](https://www.biligame.com/detail/?id=101690))添加查看视频按钮
* 自动化 **(打勾的在新版播放器中测试可用)**
* √ 自动滚动到播放器
* √ 自动聚焦到播放器 <sub>新页面直接按空格会播放而不是向下滚动</sub>
* √ 关闭菜单后聚焦到播放器
* √ 记住防挡字幕
* √ 记住弹幕开关(顶端/底端/滚动/全部)
* √ 记住播放速度
* √ 记住宽屏
* × 自动跳转上次看到
* √ 自动播放 **(需要在浏览器站点权限设置中允许自动播放)**
* × 自动全屏 (只能网页内全屏)
* √ 标记后自动跳OP/ED
* × 尝试自动找上下集
* 交互
* 双击全屏
* 首次回车键可全屏自动播放
* 首次回车键可全屏自动播放 **(需要在脚本加载完毕后使用)**
* 功能
* 获取封面
* 获取视频封面
* 获取番剧封面 <sub>在番剧详情页面(如[这里](https://www.bilibili.com/bangumi/media/md134912))点击左侧的封面图片就能获取大图</sub>
* 小窗播放
* 自定义播放速度
* 让新版播放器支持自定义弹幕字体 (功能在右键菜单→`BiliPolyfill`中)
* 彩蛋
* 不能
* 破解地区限制
@@ -62,19 +82,19 @@
<tbody>
<tr>
<td>国产浏览器</td>
<td><strong>请用<a href="https://liqi0816.github.io/bilitwin/biliTwinBabelCompiled.user.js">兼容版本</a></strong></td>
<td><strong>请用<a href="https://www.xmader.com/bilitwin/biliTwinBabelCompiled.user.js">兼容版本</a></strong></td>
</tr>
<tr>
<td>Chrome</td>
<td>作者在用</td>
<td>原作者在用</td>
</tr>
<tr>
<td>Firefox</td>
<td>应该OK</td>
<td>鄙人在用</td>
</tr>
<tr>
<td>Edge</td>
<td>不造</td>
<td><strong>请使用<a href="https://www.xmader.com/bilitwin/biliTwinBabelCompiled.user.js">兼容版本</a></strong></td>
</tr>
<tr>
<td>IE</td>
@@ -86,16 +106,15 @@
</ul>

# 更新/讨论
* [Greasy Fork](https://greasyfork.org/zh-CN/scripts/27819)
* [Github](https://github.com/liqi0816/bilitwin)
* [文档](https://github.com/liqi0816/bilitwin/tree/master/docs)
* 如果鄙人的代码太辣鸡,请一起来[Fork you](https://github.com/liqi0816/bilitwin)

* [Greasy Fork](https://greasyfork.org/scripts/372516)
* [Github](https://github.com/Xmader/bilitwin)

# 特征
* 轻量
新建一个书签,书签地址粘贴下面的代码,想用的时候点一下也可以使用。
```javascript
javascript:(function(){f=document.createElement("script");f.setAttribute("src","https://liqi0816.github.io/bilitwin/biliTwinBabelCompiled.user.js");document.body.appendChild(f)})()
javascript:(function(){f=document.createElement("script");f.setAttribute("src","https://www.xmader.com/bilitwin/biliTwinBabelCompiled.user.js");document.body.appendChild(f)})()
```
* 充分保障隐私
作者根本就没有服务器可以用来偷偷记下各位的奇怪癖好
@@ -106,13 +125,13 @@

----------

作者用的是Chrome,8G内存。
原作者用的是Chrome,8G内存。

支持HTTPS,不借助第三方服务器,用原生的appsecret,不需要额外权限,用书签就可以运行。

模拟用户用原生鉴权方式加载视频,再也不怕B站改appkey或appsecret,该走哪个CDN就走哪个。

脚本用到了大量ES6功能和一些ES7功能。用着最新浏览器的同学,请把脚本从babel中解放出来!
脚本用到了大量ES6功能和一些ES7、ES8功能。用着最新浏览器的同学,请把脚本从babel中解放出来!

懒得加的功能:
* 边看边下载
Loading