Skip to content

imhlq/DanMuScreen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

视频弹幕终极解决方案

标签: 弹幕、解决方案、桌面弹幕、在线视频、离线视频、通用、无敌、牛逼

起因

弹幕,作为一种划时代的互动形式,是每个B站老咸鱼的心头宝。不少人看片时,已离不开那满屏飞舞的文字,因为它们让平平无奇的视频立刻拥有了别样的乐趣。尤其是那些脑洞大开的神级弹幕,更是将原本无聊的视频点缀得活色生香、妙趣横生。

然而,弹幕文化虽起于B站,却受限于B站。B站之外的世界,由于品牌文化的隔阂和用户定位的偏差,使得许多视频丧失了这层“魔法外衣”。更麻烦的是,有些人辛苦下载到的弹幕文件,只能在本地播放器中使用(比如Potplayer),而对无法直接下载的视频(例如版权方保护的流媒体),则只能望弹兴叹。如此操作繁琐,难免让人心生无力。

于是乎,为了破解这一局限,本方案横空出世——基于桌面端(QT6)的弹幕程序,让你只需轻松加载下载的XML/ASS弹幕文件,就能在任何视频(无论是本地播放器、网页播放器,还是在线视频)中,尽情享受弹幕的乐趣,体验“多倍快感”。

特性

  • 全平台支持:Windows、Linux、macOS,无所不包!
  • 全播放器兼容:网页、本地播放器通吃!

解决方案

解决方案分为两部分,分别是“寻找弹幕”和“渲染弹幕”。

一、寻找弹幕

弹幕的精髓在于群众的智慧。大多数弹幕来源于B站的视频,由于平台机制(如定期清理、视频下架等),不少优质弹幕无故消失。这时,感谢热心群众的备份,诸如弹幕保存计划吧弹幕盒子等平台,保留了许多“失落的弹幕珍宝”。

这些网站提供了丰富的XML格式文件,(同时借助一些工具,还能将它们转化为更通用的ASS格式,让它们适应更多普通播放器) 只需一键下载,即可尽享各种神级弹幕,无需担心与视频失联。

目前,本程序基于开源的python-ass库来解析ASS弹幕文件,并支持导入XML文件。建议优先使用XML格式,兼容性更强,体验更佳!

二、渲染弹幕到屏幕

屏幕弹幕是“神仙操作”的关键。不同于浏览器弹幕的浏览器版本、内核兼容性以及播放器格式(HTML5、Flash等)限制,屏幕弹幕摆脱了这些枷锁。基于Python+Qt6的渲染机制,使得它能够轻松覆盖多平台(Windows、Linux、macOS),无论身处何地,都能享受弹幕的“神之视角”。

唯一的挑战是,本地弹幕与视频的匹配和校准。对此,本程序提供了“弹幕时间轴移动功能”(空格键或者小图标菜单设置),建议通过移动视频的方式进行校准,简单调节即可完美同步。一旦校准完毕,剩下的就只有弹幕带来的无穷欢乐了!

使用步骤

  1. 打开视频

  2. 下载弹幕

  3. 下载最新版本

  4. 打开并加载弹幕文件

  5. 享受视频与弹幕

编译

  1. 安装依赖
pip install -r requirements.txt
  1. 运行
python src/main.py
  1. 打包
pyinstaller --name "DanMuScreen" --onefile --icon=icons.ico src/main.py --noconsole --add-data="icons.ico:."
pyinstaller YourAppName.spec

关注 xhou博客


本权所有,禁止被用于商业用途。违者必究。

Do not use for commercial purposes.