Coder Social home page Coder Social logo

mlchinoo / mpv-play-bilibili-comments Goto Github PK

View Code? Open in Web Editor NEW

This project forked from itkelis/mpv-play-bilibili-comments

0.0 0.0 0.0 7.06 MB

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

License: GNU General Public License v3.0

Python 92.31% Lua 7.69%

mpv-play-bilibili-comments's Introduction

使用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中最后一行修改想要的快捷键

对弹幕的个性化定制

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

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

mpv-play-bilibili-comments's People

Contributors

chen310 avatar dtlnor avatar dyphire avatar itkelis avatar

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.