Skip to content

弹幕播放器

概述

弹幕播放器是一个支持 ASS 格式弹幕 的高性能视频播放工具。无论你是 B 站视频创作者、番剧收藏爱好者,还是习惯用 ASS 弹幕文件看片的用户,都能用它获得沉浸式的弹幕体验。

核心场景

你从 Bilibili Evolved 导出了 .ass 弹幕文件?想在自己的本地视频上挂载弹幕观看?用弹幕播放器就能实现——不需要联网,不需要第三方弹幕网站,直接把 ASS 弹幕挂到视频上。

核心功能

  • 双模式播放:内置播放器直接播放视频 + 渲染弹幕;外部播放器模式连接 MPC-BE,通过独立覆盖窗口渲染弹幕
  • ASS 弹幕解析:完整解析 Bilibili / Bilibili Evolved 导出的 ASS 格式弹幕文件,支持 \move\pos\c\b 等标签
  • Canvas 高性能渲染:基于 HTML5 Canvas 的弹幕渲染引擎,二分查找可见弹幕窗口,密度过滤采用稳定哈希算法,流畅不卡顿
  • 丰富的显示调整:透明度、字体缩放、滚动速度、显示区域、密度控制、边框样式(发光/描边/阴影)一应俱全
  • 播放状态同步:实时同步弹幕与视频进度,支持类型过滤(滚动/固定/彩色弹幕)和屏蔽词过滤

快速上手

准备工作

你需要准备一个 .ass 格式的弹幕文件,和一个视频文件(MP4、MKV、WebM、AVI、MOV 等常见格式)。

ASS 弹幕文件可以通过以下方式获取:

  • 使用 Bilibili Evolved 浏览器扩展导出 B 站视频的弹幕为 ASS
  • 使用其他弹幕下载工具获取弹幕后导出为 ASS 格式
  • 本地已有的 ASS 字幕/弹幕文件

首次使用 5 步走

第一步:打开工具

在左侧工具列表中找到 弹幕播放器,点击进入。你会看到顶部的模式切换标签页和文件选择区域。

TODO: 截图 - 弹幕播放器整体界面,标注模式切换、文件选择区域和播放器区域

第二步:切换模式(可选)

默认使用 内置播放器 模式。如果你习惯使用 MPC-BE 播放视频,可以切换到 外部播放器 模式。

TODO: 截图 - 标注模式切换标签"内置播放器"和"外部播放器"

第三步:加载视频

在内置播放器模式下,点击视频选择区域或拖入视频文件到 "视频" 区域。

TODO: 截图 - 鼠标指向视频选择区域,展示拖放手势

第四步:加载弹幕

点击弹幕选择区域或拖入 .ass 弹幕文件到 "弹幕" 区域。加载成功后,底部会显示解析到的弹幕数量(如 "1200 条")。

TODO: 截图 - 弹幕选择区域,展示加载后的文件名和弹幕数量

第五步:开始观看

视频加载后自动进入播放状态,弹幕会随着视频进度实时在画面中飘过。你可以在右侧的弹幕设置面板中调整显示效果。

TODO: 截图 - 视频正在播放,弹幕在画面上飘过的效果

功能详解

内置播放器模式

内置播放器模式是弹幕播放器最直接的使用方式——直接在工具内播放视频,Canvas 引擎负责渲染弹幕层。

文件选择

文件选择区域位于工具顶部,分为两个区域:

区域说明
视频拖入或点击选择视频文件。支持 .mp4.mkv.webm.avi.mov 等格式
弹幕拖入或点击选择 ASS 弹幕文件。仅支持 .ass 格式

两个区域各自有独立的清除按钮(X 图标),方便随时更换文件或弹幕。

播放控制

内置播放器提供了基础的视频播放控制功能:

  • 播放/暂停:控制视频播放状态
  • 进度条:拖动跳转到任意时间点
  • 音量控制:调节播放音量
  • 全屏:全屏观看

TODO: 截图 - 内置播放器的控制栏,标注播放/暂停、进度条、音量、全屏等按钮

弹幕渲染引擎

引擎基于 HTML5 Canvas 实现,具有以下性能优化:

  • 二分查找:按弹幕起始时间排序后,每帧通过二分查找快速定位当前可见弹幕,避免全量遍历
  • 密度过滤稳定哈希:相同内容弹幕的 hash 值固定,切换帧时不会随机抖动导致弹幕忽隐忽现
  • 批量渲染:按字体分组,减少 Canvas 上下文状态切换
  • 预计算缓存:不随帧变化的配置项(字体缩放、透明度等)只在配置变更时重新计算

外部播放器模式

如果你习惯使用 MPC-BE 播放视频,外部播放器模式可以让你在 MPC-BE 的画面上叠加弹幕层,享受"原汁原味"的本地播放体验。

TODO: 截图 - 外部播放器模式整体界面,标注四个区域

前置条件

使用外部播放器模式需要:

  1. MPC-BE 播放器已安装并运行
  2. MPC-BE 的 Web 接口 已开启(MPC-BE 设置 > Web Interface > 启用,默认端口 13579)

连接播放器

第一步:扫描播放器窗口

点击 扫描播放器 按钮,系统会自动搜索当前系统中运行的 MPC-BE 窗口。如果没找到,可以点击下拉菜单中的 "扫描所有窗口" 进行更广泛的搜索。

TODO: 截图 - 扫描播放器按钮和下拉菜单

第二步:选择窗口

在扫描结果列表中,选择一个播放器窗口。列表中会显示窗口标题和类名,方便区分。

TODO: 截图 - 播放器窗口列表,展示发现的窗口

第三步:测试连接

点击 测试连接 按钮,验证 MPC-BE 的 Web 接口是否能正常通信。连接成功后状态会变为 "已连接"。

TODO: 截图 - 连接状态从"未连接"变为"已连接"

覆盖区域裁切

由于 MPC-BE 窗口包含菜单栏和控制栏,需要裁切掉这些区域,让弹幕只显示在视频画面上。

配置项说明
上边距排除菜单栏/标题栏的高度(像素),一般为 30-50px
下边距排除控制栏的高度(像素),一般为 40-60px

TODO: 截图 - 覆盖区域裁切配置

在进入全屏模式时,系统会自动忽略上边距和下边距(或使用全屏专用的偏移值),弹幕铺满全屏。

启动弹幕覆盖

确认满足以下条件后点击 启动弹幕覆盖

  • 已加载 ASS 弹幕文件
  • 已选择播放器窗口
  • Web 端口测试连接成功

启动后,弹幕覆盖窗口会悬浮在 MPC-BE 上方,弹幕随播放进度实时同步。

播放状态监控

外部播放器模式提供实时播放状态面板:

  • 正在播放/已暂停/已停止:当前播放状态
  • 当前文件:MPC-BE 正在播放的文件名
  • 播放进度:当前时间 / 总时长
  • 覆盖窗口状态:显示覆盖窗口是否已激活、位置同步中

TODO: 截图 - 播放状态面板

弹幕显示设置

弹幕设置面板提供丰富的显示调整选项,所有设置都会实时生效自动保存,下次打开工具时自动恢复。

TODO: 截图 - 弹幕显示设置面板,标注各控件

基本设置

设置说明
弹幕开关一键隐藏/显示所有弹幕
滚动弹幕控制从右到左滚动的弹幕是否显示
固定弹幕控制固定在画面顶部/底部的弹幕是否显示
彩色弹幕控制非白色的彩色弹幕是否显示

显示调整

设置范围说明
显示区域0-100%弹幕在画面中垂直方向占用的比例,100% 即满屏
透明度0-100%弹幕整体的透明度,数值越大越不透明
字体缩放50-200%弹幕字体的缩放比例
速度0.5-2.0x滚动弹幕的移动速度,越大越快

密度控制

密度 滑块控制同时显示的弹幕数量(0-100%)。100% 为全量显示,数值越低,屏幕上显示的弹幕越稀疏。

密度过滤采用稳定哈希算法——相同内容的弹幕会优先保留或过滤,切换帧时不会出现内容随机抖动。

屏蔽词

在屏蔽词输入框中输入关键词(每行一个),包含这些关键词的弹幕将不会显示。这在过滤剧透、广告或不需要的弹幕时非常有用。

TODO: 截图 - 屏蔽词输入框

高级样式

设置说明
字体弹幕显示的字体(如 "Microsoft YaHei")
加粗所有弹幕统一加粗
边框类型发光(Glow):同色柔和发光 / 描边(Outline):黑色描边 / 阴影(Shadow):右下黑色投影

高级用法

自定义弹幕样式精确调整

通过组合使用弹幕设置面板中的各项参数,你可以调出完全属于自己的弹幕风格:

  • 暗色视频:提高透明度(80-90%)+ 发光边框,弹幕既清晰又不遮住画面
  • 高信息量视频:降低密度(60-70%)+ 开启固定弹幕过滤,避免弹幕遮挡重要内容
  • 老番回顾:降低速度(0.7-0.8x)+ 增大字体(120-140%),看得更从容

使用屏蔽词过滤剧透

在追新番或看剧情类视频时,开启屏蔽词过滤可以避免被弹幕剧透:

剧透警告
后面会死
凶手是
下集预告

每个关键词占一行,系统会自动跳过包含这些词的弹幕。

外部播放器全屏增强

在使用 MPC-BE 全屏播放时,开启 全屏覆盖增强(强制置顶) 选项可以确保弹幕覆盖窗口始终显示在视频上层,避免在全屏切换时被遮挡。

常见问题

Q:ASS 弹幕文件从哪里获取?

ASS 弹幕文件最常用的来源是 Bilibili Evolved(简称 Bilibili EV)。这是一个浏览器扩展,安装后在 B 站视频页面可以看到一个"导出弹幕"的按钮,可以选择导出为 ASS 格式。

另外,你也可以使用其他第三方工具从各大视频网站下载弹幕并转换为 ASS 格式。

Q:为什么加载弹幕文件后,部分弹幕没有显示?

可能的原因:

  1. 类型过滤被关闭:检查设置面板中"滚动弹幕"和"固定弹幕"是否都已开启
  2. 密度值太低:如果密度设置过低,系统会按哈希值随机跳过部分弹幕
  3. 显示区域太小:显示区域设置控制弹幕的可视区域比例,值太小会导致上部弹幕被裁切
  4. 有屏蔽词匹配:检查屏蔽词列表中是否有误伤的关键词

Q:外部播放器模式下,弹幕覆盖窗口位置不对?

这通常是因为覆盖区域裁切的边距设置不合适:

  1. 在外部播放器设置中调整 上边距下边距 的像素值
  2. 如果全屏模式下位置不对,调整 全屏偏移 的相关设置
  3. 确保 MPC-BE 的窗口没有被其他窗口部分遮挡

Q:弹幕遮挡了字幕怎么办?

弹幕可能会遮挡视频本身的内嵌字幕。目前可以通过以下方式缓解:

  1. 降低 显示区域 的比例(如 40-50%),让弹幕集中在画面底部
  2. 提高 透明度,让弹幕半透明化,减少遮挡感
  3. 在弹幕设置中勾选 防止遮挡字幕(如果有此选项)

Q:可以同时加载多个 ASS 弹幕文件吗?

目前弹幕播放器一次只支持加载一个 ASS 弹幕文件。如果需要合并多个弹幕文件,可以先用第三方工具将多个 ASS 文件合并,再加载到播放器中。

提示

弹幕播放器是您本地视频的最佳伴侣,支持自定义弹幕样式、过滤屏蔽内容和多模式播放。祝您观影愉快!

Released under the Apache-2.0 License.