Skip to content

itKelis/MPV-Play-BiliBili-Comments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

使用mpv自动下载弹幕并加载

  • 配合https://github.com/LuckyPuppy514/Play-With-MPV 油猴脚本
  • 仅需一键即可将bilibili弹幕加载到mpv上
  • 本项目同时支持 Windows, Linux, Macos(也许)
  • 弹幕体验与b站播放器几乎没有区别
  • 核心代码由Danmu2Ass修改而来,并对性能进行优化,加载时间可以忽略不计
  • python>=3.6即可运行,完全使用python内置库编写无需安装第三方库,并提供可执行文件,没有python也可以运行
  • 脚本使用异步运行,对视频加载无影响

背景

mpv加载弹幕的过程太过于繁琐,需要手动寻找cid下载xml弹幕,随后将xml转换成ass文件之后再手动加载到视频当中,于是就诞生了这个小插件

运行效果

b站播放器: image

mpv使用插件后: image

配合脚本

搭配油猴脚本:https://greasyfork.org/en/scripts/444056-play-with-mpv

github主页: https://github.com/LuckyPuppy514/Play-With-MPV

配合该油猴脚本可以实现b站视频流一键推送到mpv,一键加载视频弹幕

加载原理

1.使用mpv的 --script-opts 参数给此插件传递视频的cid,

2.插件获取视频的cid后拉起python自动完成下载xml字幕文件并转换为.ass文件存放到指定目录

3.python执行完成后重新加载指定目录下的ass文件即可完成加载

安装

1.安装Play-With-MPV油猴脚本

2.(可选)配置mpv.conf

如果没有安装补帧插件还是建议添加

将下列配置直接粘贴到mpv.conf中

# 让弹幕更平滑
# 与补帧插件冲突,启用补帧插件就不用加这个
# 注意这行尽量放配置文件的前面,最好放第一个
vf=lavfi="fps=fps=60:round=down"

3.(可选)如果没有安装python(仅对windows有效)

本仓库还带有pyinstaller打包的可执行文件 默认不调用二进制可执行文件,如没有安装python可以考虑启用,开启方法:

# 在main.lua中,将第一个arg注释,去除第二个arg的注释,如下:
 -- local arg = { 'python', py_path, '-d', directory, cid}
local arg = { ''..directory..'\\Danmu2Ass.exe', '-d', directory, cid}

完成

在网页中点击mpv图标将视频流传输到mpv后将会自动加载弹幕

按下b会重新载入弹幕

弹幕以字幕方式加载,如需隐藏按下v即可

  • 如果希望更改快捷键,在main.lua中最后一行修改想要的快捷键

注意

如果打开MPV发现没有弹幕,请在Play-With-MPV的设置界面,将首选字幕选项设置为关闭 image

对弹幕的个性化定制

本项目使用了danmaku2ass的代码,可以对弹幕的样式进行深度定制

如有客制化需求,可以自行对Danmu2Ass.py进行修改

相关项目

巴哈姆特弹幕 https://github.com/s594569321/MPV-Play-BAHA-Comments

About

This is a mpv plugin for mpv to load bilibili comments automaticaly

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published