Skip to content

Latest commit

 

History

566 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Marchen Player

Marchen Player 是本地视频弹幕播放器,拖入动漫视频即可匹配对应的弹幕。

采用 Electron 开发,支持 Web, macOS, Windows, Linux 四个版本,目前主要适配 macOS 版本。

桌面端当前要求 macOS 13 Ventura 或更高版本;开发环境使用 Node.js 24 LTS + pnpm 11

在线体验 | 下载客户端

✨ 特征

  • 导入动漫自动匹配弹幕
  • 支持设置弹幕字体大小、持续时间、显示区域
  • 支持手动添加第三方弹幕网址
  • 支持导入本地 XML 和 JSON 弹幕文件
  • 支持对不同平台的弹幕进行单独的开关
  • 支持弹幕缓存,加快弹幕加载速度
  • 支持弹幕繁体转简体
  • 自动安装更新,无需手动下载安装
  • 跨平台,支持 macOS Windows Linux Web 版本
  • 支持白天夜间模式,可以跟随系统自动切换
  • 支持解析视频内嵌字幕和导入本地字幕
  • 支持修改匹配的弹幕库
  • 还算不错的 UI 设计
  • 播放记录界面可以显示播放进度和对应的画面

👀 截图

🔧 开发

$ corepack enable

$ git clone https://github.com/marchen-dev/marchen-player.git

$ pnpm install

$ cp .env.example .env

$ pnpm dev

📎 技术栈

  • Electron
  • React
  • TypeScript
  • Tailwind CSS
  • Jotai
  • shadcn/ui
  • TanStack Query
  • Framer motion
  • HTML5 Video / Canvas 双内核 + MediaBunny + 自研播放运行时
  • RxJS
  • libass-wasm

❤️ 致谢 & 许可

当前开发分支中,Electron 与 Web 共用 H5 / Canvas 双内核、DOM 弹幕引擎和 React 控制器。 自动模式优先 H5,明确不支持时使用 Canvas;设置可固定内核。Canvas 使用 MediaBunny 解封装、 WebCodecs 解码,以及 @suemor/libav-hevc@0.1.1 提供的 HEVC WASM 软解,音频通过官方 AC-3/E-AC-3、DTS 扩展和 Web Audio 输出。已删除 Node FFmpeg/HLS 播放转码。

两端提供字幕、截图和用户选定的多文件列表,Electron 另有同目录发现能力。Web 刷新后可能 需要重新选择媒体文件。新存储命名空间不迁移旧记录,也不主动删除旧数据。HDR 当前实现 HDR10/HLG 到 SDR 映射,显示设备的 HDR 输出与完整平台验收仍在进行中。 这些说明对应开发分支,不代表在线体验和已发布客户端已经升级。

Web 构建通过同源 /api/v2 请求弹弹play代理:本地 dev:web / vite preview 已内置反代; 部署 out/web 时,静态站点服务也需要把 /api/v2 反向代理到 VITE_API_URL 对应服务。

多线程与静态资源部署要求见 播放器部署说明

AGPLv3 License

About

Marchen Player 是本地视频的弹幕播放器,使用弹弹play API,支持跨平台,拖入动漫即可匹配弹幕

Topics

Resources

Stars

57 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages