GithubHelp home page GithubHelp logo

liqi0816 / bilitwin Goto Github PK

View Code? Open in Web Editor NEW
370.0 20.0 104.0 72.83 MB

bilibili merged flv+mp4+ass+enhance / 哔哩哔哩: 超清FLV下载, FLV合并, 原生MP4下载, 弹幕ASS下载, MKV打包, 播放体验增强, 原生appsecret, 不借助其他网站

Home Page: https://greasyfork.org/scripts/27819

License: Mozilla Public License 2.0

JavaScript 23.47% HTML 1.01% Batchfile 0.44% TypeScript 73.97% Vue 1.11%

bilitwin's Introduction

国产浏览器请点这里

脚本功能

  • BiliMonkey
    • 网络
      • 抓取FLV
      • 抓取MP4
      • 抓取弹幕
    • 缓存
      • 缓存FLV到本地
      • 断点续传
      • 用缓存加速播放器
    • 转码
      • 合并FLV
      • 弹幕转码ASS
      • 软字幕打包FLV+ASS为MKV
    • 集成
      • 下载合并一条龙 一键下载所有超清FLV分段并自动合并
      • 关标签页已下载的分段不消失 保留已经下载好的分段到缓存
      • 断点续传 也保留部分下载的分段到缓存
      • 用B站原生播放器播放下载好的缓存 如果发现缓存里有完整的分段,直接喂给网页播放器,不重新访问网络。小水管利器。如果实在搞不清怎么播放ASS弹幕,也可以就这样用。
  • BiliPolyfill
    • 界面
      • 稍后再看添加数字角标
      • 弹幕列表换成相关视频
      • 整合充电榜与换P倒计时
    • 自动化
      • 自动滚动到播放器
      • 自动聚焦到播放器 新页面直接按空格会播放而不是向下滚动
      • 关闭菜单后聚焦到播放器
      • 记住防挡字幕
      • 记住弹幕开关(顶端/底端/滚动/全部)
      • 记住播放速度
      • 记住宽屏
      • 自动跳转上次看到
      • 自动播放
      • 自动全屏
      • 标记后自动跳OP/ED
      • 尝试自动找上下集
    • 交互
      • 双击全屏
      • 首次回车键可全屏自动播放
    • 功能
      • 获取封面
      • 小窗播放
      • 自定义播放速度
    • 彩蛋
  • 不能
    • 破解地区限制
    • 破解10492
    • 其他需要服务器辅助的功能 鄙人木有服务器 (๑•́ ₃ •̀๑)

需求

  • B站 HTML5播放器
  • 浏览器
    国产浏览器 请用兼容版本
    Chrome 作者在用
    Firefox 应该OK
    Edge 不造
    IE NO

更新/讨论

特征

  • 轻量
    新建一个书签,书签地址粘贴下面的代码,想用的时候点一下也可以使用。
    javascript:(function(){f=document.createElement("script");f.setAttribute("src","https://liqi0816.github.io/bilitwin/biliTwinBabelCompiled.user.js");document.body.appendChild(f)})()
  • 充分保障隐私
    作者根本就没有服务器可以用来偷偷记下各位的奇怪癖好
  • 充分利用最快的B站视频源
    数据皆由浏览器实时抓取

有用部分结束


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

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

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

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

懒得加的功能:

  • 边看边下载
    一旦进度条鬼畜,下载就会拉肚子。
  • 超清FLV转MP4
    qianqian立过的flag,我就不立了。

bilitwin's People

Contributors

liqi0816 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bilitwin's Issues

UI改进建议

视频标题下面的那一行蓝字(超清FLV 原生MP4 弹幕ASS)感觉和整个页面格格不入……能不能取消或者在设置里隐藏?因为这几个功能在右键菜单里都有。

番剧设置界面不可用/自动抓取/自动合并

  1. 设置的入口是不是在播放器右键呢,但是那里没有可以改动的项目
  2. 自动抓取不知道是什么意思?打开视频页面就能自动缓存吗,确实有网络请求但是似乎没有保存下来
  3. 能不能实现看完之后,flv也下载完毕,直接就可以合并呢?没有手动点击缓存分段的情况下

版本更新后无法下载大会员画质

今日自动更新到1.14版本后,发现解析到的是普通会员的最高画质(画质编号80),之前能够正常解析到大会员最高画质(画质编号112),望查证,谢谢。(注:花1元承包番剧就能解析最高画质112了)

经过对比,发现从e560c2f 版本起,原先支持大会员清晰度的,变为不支持了。表现为 FLV分段地址的画质编号是80,上个版本是112,点击“缓存全部+自动合并”后,会强行从播放器默认的“1080P+大会员”画质 切换为“1080P”画质,上个版本不会切换。

更新至最新develop版本后,问题照旧。

回退至上个版本后425e236 能正确解析到112画质,一切正常。

平台是64位最新开发版chrome+tampermonkey
测试链接:https://www.bilibili.com/bangumi/play/ep199897

另,“全部复制到剪贴板”的功能不能保留吗?发现新版本替换为“导出IDM”了。

没有下载的反应

哪一个页面?

all

出了什么问题?

点击 正在FLV 正在MP4 正在ASS 没有反应

用的浏览器是?

chrome Version 67.0.3396.87 (Official Build) (64-bit)
Ubuntu 18.04 LTS

希望能出一个使用指南 我也的确不会用这个插件

问题反馈

哪一个页面?

all

出了什么问题?

不右键播放器 左上角的三个下载标签不会出现
正在FVL 等 不会出现下一步
点击菜单里的下载FLV没有反应

用的浏览器是?

最新版360极速浏览器

这是一个点赞👍贴

这是一个点赞👍贴

真的很佩服 作者 一老筋地写了 7000多行代码 加油加油

问下 GM 如何实现弹出一个新建的窗口来进行内容操作

问下 GM 如何实现 点击页面里自己添加的按钮

会弹出一个新建的窗口 里面有自己要copy出来的文本

因为有的网站限制了按钮的响应 我想在新的窗口里来操作内容

bilibili merged flv+mp4+ass+enhance

这个脚本就是实现了一个新弹出窗口来操作下载、合并等

https://greasyfork.org/zh-CN/scripts/27819-bilibili-merged-flv-mp4-ass-enhance

但我想移植出来这种窗口自己用,不知是哪个函数?或者有样例吗?

求问 不知道怎么使用

安装过了脚本 但是打开动画页面还是没有 但是其他自上传的视频可以下载这是为什么

部分視頻沒法下載

最近一個星期,發現有一部分的視頻沒法下載。進入該視頻,按下「超清FLV」後,畫面一直顯示「正在FLV」,沒有任何下載視窗彈出來。

如下述這幾個視頻,我用google chrome,只顯示出「正在FLV」
https://www.bilibili.com/video/av21147208/
https://www.bilibili.com/video/av21138232/
https://www.bilibili.com/video/av21142403/
https://www.bilibili.com/video/av21129907/

問題好像是間歇性出現,部分我發現不能下載的視頻,refresh視窗後又可以下載了。但有部分始終都是停留在「正在FLV」。

B站下不了视频

哪一个页面?

all

出了什么问题?

不出现 下载FLV 下载MP4 下载ASS 字样 😥

用的浏览器是?

基本所有主流浏览器都试过 😥
现在用的是 Chrome 67.0.3396.99
Working on Windows 10 1803

Doesn't work with Edge browser

Environment:
Microsoft Edge 41.16299.15.0
Microsoft EdgeHTML 16.16299

Problem:
The page doesn't show anything new. It seems this script does not work at all.

b站又双叒叕出现HTTP 403问题了

看隔壁you-get那边的解决方法是加一个header信息。 (〃▽〃)

话说代码分析出来的视频地址就是: http://interface.bilibili.com/playurl?cid=29763633&from=miniplay&player=1&sign=ba28cbb150ffbeb18d4949e21824cbb6了吗?

有可能分析出可以直接下载的.mp4/.flv地址啊?我想加一个只下载声音的功能,据说用ffmpeg就行。但估计ffmpeg不能解析interface这样的链接.

是否有机会增加播放清单功能

因为目前用A卡,假使可行的话都用MPC配FM补帧
暂时没有缓存到本地播放的需求,只希望用本机播放器时,分段flv可以一次播完
虽然自己在本地新建一个m3u,把连结粘贴过去,或者一个个加进播放佇列也能达成相同效果
但每个视频都要手动操作一次实在有点麻烦

播放器右键菜单问题

问题页面:https://www.bilibili.com/video/av18805371/
控制台信息如下(id已隐藏):
userscript.html?id=*
Uncaught (in promise) TypeError: Cannot read property 'insertBefore' of null at Function.titleAppend (userscript.html?id=*) at Promise.all (userscript.html?id=*) at <anonymous>
Uncaught (in promise) TypeError: Cannot read property 'children' of undefined at BiliPolyfill.inferNextInSeries (userscript.html?id=*) at BiliPolyfill.setFunctions (userscript.html?id=*:) at <anonymous>
脚本版本:1.11
运行截图:
1

少许疑问

请问什么时候更新啊嘤嘤嘤,马上BTube播放器要正式实装了,下载功能很早就挂了...

还有能否以后提供捐款支持投入入口?好的东西需要好的回报!

Firefox57 greasemonkey error:"GM_getValue is not defined"

Script error:
ReferenceError
columnNumber: 9
fileName: "resource://gre/modules/ExtensionContent.jsm"
lineNumber: 396
message: "GM_getValue is not defined"
stack: "userScript/<@user-script:http%3A//tampermonkey.net//%u7834%u89E3VIP%u5728%u7EBF%u89C6%u9891:396:9\nuserScript@user-script:http%3A//tampermonkey.net//%u7834%u89E3VIP%u5728%u7EBF%u89C6%u9891:394:2\nscopeWrapper@user-script:http%3A//tampermonkey.net//%u7834%u89E3VIP%u5728%u7EBF%u89C6%u9891:534:9\n@user-script:http%3A//tampermonkey.net//%u7834%u89E3VIP%u5728%u7EBF%u89C6%u9891:361:17\n"

开启增强模式以后脚本不显示

哪一个页面?

视频播放界面

出了什么问题?

开启增强模式以后脚本不显示,任何地方均不显示,下载按钮和右键菜单全部消失,重新安装插件也无效

用的浏览器是?

Edge和Chrome以及360安全浏览器
image

请教一下 这个下载后的文件位置在哪?

以前下载有个界面 整合啊 什么的 火狐58.01 正式版没有弹出菜单 谷歌金丝雀66.0.3343.0也没有弹出菜单

最近1.12 只有下载flv mp4 ass 下载位置哪个弹出菜单不显示怎么办?

video downloaded fail

video downloaded fail

when I use this script in chrome to down the vide which I were interesting,it didplayed doing in Mp4 or Flv.However,it made me so disappointed that it couldn't work what it told me

[诚征大佬建议]怎样解耦这个项目?

啊……毕竟图样图森破,还是要学习一个才行。

这应该是我第一个代码量上万的项目。所以,菜鸡常见的问题出现了——现在的代码像意大利面一样乱糟糟,没法维护。急需大佬指点:怎样解耦这个项目,让它变得更优雅?

需要组织起来的组件有

  • BiliMonkey,需要不换P,否则需要destroy
  • BiliPolyfill,需要不换P+不换清晰度,换清晰度需要videoRefresh,换P需要destroy
  • UI,需要不换P+不换清晰度,换清晰度需要videoRefresh,换P需要cidRefresh

作为插件,最大的问题就是并非所有状态都可控

  • 如果只需要cli,程序其实很简单,因为可以假设源站点的状态不变,对于B站来说,就是可以假设不换P,不换清晰度,等等
  • 如果需要gui,瞬间爆炸~
    换P、换清晰度之后,后台的BiliMonkeyBiliPolyfill,前台的UI都需要做出反应,而且需要互相同步。但是,监测换P/换清晰度靠的是addEventListener,监听器之间没有原生的数据通道。所以,后台需要知道前台的流程,前台也需要知道后台,全耦合在一起。

最明显的后果就是交叉引用,呵呵……

this.ui = ui || new UI(this); 

想要啥

  • 漂亮妹子程序!
  • 不新加第三方库,B站自带的除外
  • ESNext可以接受
  • Experimental Web Platform Features可以接受

要右键单击播放器才能生效

哪一个页面?

在任何一个有播放器的页面中。

出了什么问题?

在右键单击播放器之前,脚本不生效。
同时,第一次右键单击播放器不会呼出播放器菜单。

用的浏览器是?

Google Chrome,版本 66.0.3359.181(正式版本) (64 位)

下載的連結消失了

我用的是Chrome
由昨天開始,頁面左上方的下載連結消失了。嘗試了不同的視頻也遇上相同的情況。可能b部的頁面編碼又出現更新了。現在不能下載。

为什么番剧是复制下载链接,而投稿是导出idm

我发现代码里genFLVDiv函数中,如果不是bangumi,则会将已有的“复制下载链接”替换成“到处idm”?这个设计的原因是?

我个人使用aria2,所以更喜欢复制下载链接,每次脚本升级的时候都要手动改一下,毕竟都只是个referrer校验

作者是不更新了吗

哪一个页面?

作者是不更新了吗
作者是不更新了吗
作者是不更新了吗

出了什么问题?

作者是不更新了吗
作者是不更新了吗
作者是不更新了吗

用的浏览器是?

作者是不更新了吗
作者是不更新了吗
作者是不更新了吗

新版B站不显示评论区和相关视频

哪一个页面?

播放页面

出了什么问题?

新版B站不显示评论区和相关视频,无法返回旧版,只有禁用脚本之后返回旧版才可正常使用。然后切换到新版还是不显示评论区和相关视频。

用的浏览器是?

QQ浏览器 | 10.1.1550.400
Chrome/63.0.3239.26
-- | --

合并步骤时卡住无反应

chrome版本 64.0.3282.24
金丝雀65.0.3299.0
都试过了 在四个分块下载完成并进行合并时出现页面无响应并卡住
以前可以 重装系统后出现此问题。想知道是否需要什么前置选项或是前置程序

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.