/bilibiliplayer

旧版Bilibili播放器,使用typescript进行了重构。键盘让我修点bug

Primary LanguageTypeScriptMIT LicenseMIT

logo

bilibiliplayer

B站在2019 年 12 月 09 日弃用的经典播放器。年旧失修,残破不堪。为了便于长期维护,使用TypeScript进行了重构。

重构说明

基于video.min.jsbilibiliPlayer.min.js等原文件,参考jsc-player(2.x)bpx-player(3.x)系列,擅自揣测了各被混淆的类、方法、属性名……改写为了ts代码并补充了类型声明,还移植了一些新功能。

TODO

  • protobuf弹幕
  • 实时弹幕
  • 杜比视界
  • 杜比全景声
  • HiRes
  • AV1
  • 互动视频
  • 全景视频
  • 普权弹幕换行
  • 高能进度条
  • 智能防挡弹幕
  • 互动弹幕
  • 弹幕等级屏蔽
  • 硬核会员模式
  • 视频音效调节
  • 视频色彩调整
  • CC字幕
  • DRM
  • 视频看点
  • 反查弹幕发送者
  • 代码弹幕

使用方法

一般用法

  1. dist目录下生成的文件(包括css)导入页面。
  2. 添加一个id为bofqi的div节点作为播放器容器。
  3. 通过全局的EmbedPlayer方法启动播放器。

Bilibili-Old

使用基于本项目的Bilibili-Old扩展或用户脚本。
开发者可将本项目dist目录下的生成文件复制到Bilibili-Old项目的chrome/player目录下,然后执行Bilibili-Old项目的编译命令生成对应的扩展或用户脚本即可进行测试。
也可使用操作系统提供的符号链接功能将本项目的dist目录链接到Bilibili-Old项目的chrome/player目录,直接将本项目编译的文件输出到Bilibili-Old项目,免去复制步骤。
如果使用Windows操作系统并且两个项目位于磁盘的同一级目录中,那么可以使用管理员命令提示符输入:

mklink /D dist ..\Bilibili-Old\chrome\player

如果提示【当文件已存在时,无法创建该文件。】,请先删除dist目录后操作。

特别鸣谢

  • Bilibili:始乱之,终弃之。感谢曾经开发了这个播放器。
  • esbuild:人生苦短,何苦webpack!希望能支持打包css样式进js文件!

License

MIT