弹幕
BSR 提供了完整的弹幕功能,包括录制、回放、压制和导出。
弹幕录制
在直播录制过程中,BSR 会自动录制直播间的弹幕数据,包括:
- 弹幕内容
- 发送时间
- 用户信息(如果可用)
弹幕数据与视频流同步录制,无需额外配置。
弹幕回放
在录播预览窗口中,弹幕会随着视频播放自动显示:
- 进入录播预览页面
- 播放视频时,弹幕会按时间轴自动滚动显示
- 可以查看实时的弹幕密度统计
图片表情弹幕
- B 站图片表情弹幕会在视频浮动弹幕和右侧弹幕列表中显示图片,实时预览与录播回放均支持。
- 图片按比例缩放,不改变弹幕列表行高;图片地址不可用或加载失败时显示原始表情文字。
- 视频弹幕压制支持图片表情,切片和完整录播均可使用;图片与文字共用弹幕轨道,遵循字号和透明度设置,滚动时长保持 8 秒。
- 搜索、关键词筛选以及独立 ASS 导出仍使用原始文字。ASS 导出保持通用格式,不依赖 VSFilterMod 的图片扩展。
- 图片仅从 B 站图片 CDN(
hdslb.com、biliimg.com及其子域名)通过 HTTPS 加载。预览不缓存图片;压制时按任务临时下载,同一地址只下载一次,任务结束或取消后清理,下载或解码失败时回退文字。 - 压制支持 PNG、JPEG、静态 WebP 和 GIF 图片;可解码的动图取首帧,不保留动画。动画 WebP 是否可解码取决于 FFmpeg 版本,不支持时回退文字;离线且无法下载图片时也会回退文字。
- 旧 JSONL 录播若保留了 B 站原始消息中的表情信息,也可显示图片;仅保存文字的旧格式无法恢复图片。
SC(醒目留言)
录制到的 SC 会在预览中一并展示:
- 弹幕列表中 SC 条目带价格标签,鼠标悬停可查看按金额配色的 SC 卡片详情
- 播放时 SC 会像弹幕一样在画面上从右往左飘过,颜色随金额变化
- 弹幕压制与导出仅包含普通弹幕,不会压制 SC 内容
弹幕统计
录播预览页面会显示弹幕密度统计图表,帮助你快速定位高能时刻:
- 横轴表示时间
- 纵轴表示弹幕数量
- 高峰区域通常对应精彩片段
点击统计图可以快速跳转到对应的时间点。
弹幕压制
从录播生成素材时,选区内的弹幕会和素材一起保存(录播被清理后依然可用),素材本身不压制弹幕。需要带弹幕的视频时:
- 在切片编辑窗口的「导出」面板中勾选「压制弹幕」,面板会显示片段范围内的弹幕数量
- 导出切片时,各片段范围内的弹幕会按切片时间轴重新排列后压制到视频中
- 弹幕以滚动字幕的形式显示在视频画面上
裁剪、分割或调整片段顺序后,弹幕始终与对应的画面同步。素材预览窗口中可以查看素材保存的弹幕列表。生成完整录播时仍可直接选择压制弹幕。
弹幕样式
弹幕压制支持自定义样式:
- 字号:调整弹幕大小(默认 36)
- 透明度:调整弹幕透明度(默认 0.8)
- 显示时长:弹幕滚动时间(默认 8 秒)
- 密度控制:自动计算弹幕轨道,避免重叠
文字弹幕转换为 ASS 格式进行渲染,图片表情通过 FFmpeg 叠加;两者使用相同的时间轴和轨道排布。表情高度为字号的 1.5 倍,图片按比例缩放,不拉伸。
弹幕导出
你可以将录播的弹幕数据导出:
- 在录播预览页面点击「导出弹幕」按钮
- 选择导出格式(支持 JSON、ASS 等格式)
- 保存到本地
导出的弹幕文件可用于:
- 数据分析
- 第三方字幕工具
- 弹幕特效制作
实时弹幕互动
在直播预览窗口中,BSR 还支持实时弹幕互动:
- 打开直播预览窗口
- 在底部输入框中输入弹幕内容
- 点击发送按钮发送弹幕到直播间
这样可以在观看回放的同时与观众互动(如果直播还在进行中)。
弹幕筛选
在弹幕列表中,你可以:
- 查看所有录制的弹幕
- 按时间范围筛选
- 搜索特定内容
- 查看弹幕发送者信息
技术细节
BSR 使用以下技术处理弹幕:
- 录制:通过 WebSocket 连接直播间弹幕服务器,实时接收弹幕
- 存储:弹幕数据存储在数据库中,与录播关联
- 压制:使用
danmu2ass模块统一计算文字与表情图片的滚动位置,文字转换为 ASS 字幕 - 渲染:通过 FFmpeg 的 libass 和图片叠加滤镜压制到视频中;重复表情复用图片输入和叠加轨道
注意事项
NOTE
- 弹幕录制依赖于平台的弹幕接口,不同平台的弹幕格式可能有差异
- 弹幕压制会增加视频文件大小
- 高密度弹幕可能影响视频观看体验,建议适当调整透明度
TIP
- 可以通过弹幕密度图快速定位精彩时刻
- 压制弹幕前建议预览效果,确保弹幕不遮挡重要画面
- 如果弹幕过多,可以考虑调整透明度或字号,减少画面遮挡