更新日志
本页面省略了部分早期的更新记录。
2.12.0
通用:
- 优化弹幕合并工具的报错信息,显示出错的来源文件名
命令行版:
- 为
--config-override
参数添加了传入文件夹路径的支持。原来只支持完整文件路径 - 调整了无密码公网访问检测逻辑
- 给 docker 镜像添加了通过环境变量设置
UMASK
,PUID
,PGID
的功能 - 禁用了 aspnetcore/dotnet 的 distributed context propagation 功能
- 更新了 webui
2.11.1
命令行版:
- 修复了
--http-open-access
参数无效的问题 - 调整了禁止访问页面上关于安全风险的说明
2.11.0
命令行版:
- 默认禁止局域网外访问录播姬。可以设置环境变量
BREC_HTTP_OPEN_ACCESS
或者设置 HTTP Basic 认证来禁用这个限制。 - 在 Windows 上自动禁用 Quick Edit,防止误操作选中命令提示符窗口里的字符导致阻塞运行。
- 更新了 WebUI。
2.10.1
通用:
- 统一了发送的请求的 UA
- 给 webhook 增加了一个不允许使用的域名过滤
桌面版:
- 微调了界面
命令行版:
- 更新了 WebUI
2.10.0
通用:
- 添加了直播间标题变动时自动分段的功能,默认关闭。感谢 @cxumol 贡献的修改。
命令行版:
- 更新了 WebUI
2.9.1
通用:
- 修复了部分情况下时间戳跳变修复误判的情况。
- 更新了部分依赖。解决了用户脚本的一些问题。
桌面版:
- 调整了添加房间的链接正则表达式,支持更多格式的链接。
命令行版:
- 更新了 WebUI
2.9.0
通用:
- 增加了弹幕协议
protover: 3
(brotli) 支持
注:BililiveRecorder.Core
从 .NET Standard 2.0
改为了 multitarget .NET 6
和 .NET Framework 4.7.2
,这个改动对用户来说应该是无感的。
2.8.2
通用:
- 修复了部分用户不能及时开始录制的问题
2.8.1
通用:
- 使用主播 uid 连接弹幕服务器,因为实际测试发现效果不好,默认改为禁用,恢复原来的连接策略
- 其他小修改
桌面版:
- 修复了 2.8.0 加的高级设置项忘了做 UI 的问题
- 弹幕合并页面的列表现在会按文件名排序,而不是随机顺序
2.8.0
通用:
- 添加了一个高级设置项:使用主播 uid 连接弹幕服务器,默认为启用状态
- 给文件名模板添加了
uid
变量,内容为主播 uid - 给录播姬用户脚本的
RoomInfo
类型添加了uid
字段 - 微调 了一下软件界面文本
- 其他修改
2.7.0
通用:
- 现在连接弹幕服务器也会使用高级设置里设置的 Cookie
- 给用户脚本添加了
onDanmakuHandshake
事件用于自定义发给弹幕服务器的握手信息
2.6.3
通用:
- 修改了弹幕文件内弹幕时间的计算方法,不再受系统时间变动的影响。
- 当直播间被管理员切断或封禁时会记录一条日志
- 修改了版本号,表示还在更新
命令行版(包括 Docker 镜像)
- 支持使用环境变量来设置用户名密码
BREC_HTTP_BASIC_USER
BREC_HTTP_BASIC_PASS
- 给 GraphQL API 的
rooms
query 增加了 2 个过滤参数 - 修改文件浏览器里的文件顺序,按文件名排序(位于
/file
的,而不是 WebUI 内的)
2.6.2
通用:
- 修复了用户脚本里不能
try catch
fetchSync
抛出的错误的问题
命令行版:
- 修复了文件浏览器不能下载
.srt
.ass
等文件的问题 - 修复了视频播放器页面的问题
2.6.1
通用:
- 修复了
sharedStorage.keys
只返回null
的问题 - 其他小调整
2.6.0
通用:
- 给用户脚本添加了
sharedStorage
接口用于在多次执行之间存储数据 - 直播间“房间已加密”和“房间不存在”时自动停止重试,避免发送大量请求
- 硬盘满了导致录制结束后不再自动重试启动
- 其他小调整
2.5.0
通用:
- 修复了用户脚本里
fetchSync
不支持设置Cookie
header 的问题 - 更新了脚本运行时
桌面版:
- 在房间列表页面添加了调查问卷链接
命令行版:
- 更新了内置的 WebUI
2.4.0
通用:
- 调整了修复逻辑,解决了一部分时间戳跳变问题修不到的问题
- 给直播封面下载添加了超时时间和失败重试
命令行版:
- 新增了日志 API
- 修复了一些 HTTP 页面路径和字符转义的问题
- 调整了编译参数,去除了一些不需要的文件
- 调整了 HTTP 服务的日志配置,只记录 Error 级别及以上的日志
- 更新了 WebUI 到 v2.4.0
2.3.0
通用:
- 新增了保存直播间封面图片的功能
- 新增了 WS/WSS 弹幕协议支持,现在默认会 TCP/WS/WSS 随机混合使用
- 现在会在视频文件里保存更多有关直播服务器的信息
- 文件名模板新增了
{{ partIndex }}
分段序号 - 微调了 FLV 修复系统
桌面版:
- 新增了开播通知。在 Windows 10 和 11 上会使用通知中心,能显示头像和直播间封面
命令行版:
- 给
run
子命令新增了--config-override
参数,可以把配置文件保存到另外的位置 - 现在 WebUI 支持被反代到任意路径
- 更新了内嵌的 WebUI
2.2.0
通用:
- 调整了直播数据修复系统
- 去除了原有的“时间戳错位”问题的检测,因为这个问题已经很长时间没有见过,并且和现有的新问题有冲突。
- 放宽了时间戳跳变问题检测的判定。
- 新增了判定规则:连续收到 10 次重复的直播数据就主动断开录制
- 从大约 2022 年 7 月 20 日左右开始,mikufans 自建直播服务器出现的新问题:主播下播后直播流不结束,而是超大量重复发送最后几秒直播数据。
- 其他云服务商的直播服务器没有这个问题。
- 这个检测只有标准模式录制时有效,两种录制模式的区别请参考:录制模式
- 现在每次开始录制之前都会更新一次直播间信息
命令行版:
- 调用修改设置 API 后马上保存到配置文件,而不是只有退出时保存。
- 调整了请求超时事件,解决了在部分设备上以 docker 容器运行时请求全部失败的问题。
- 更新了内置的 WebUI
2.1.1
通用:
- 调整了部分日志输出
命令行版:
- 更新了 WebUI
- 调整了控制台日志模板和样式
2.1.0
通用:
- 调整了直播数据处理系统,添加了一个设置项 “检测到可能缺少数据时分段”
- 默认为关,之前的版本行为相当于是开。
- 具体的判定是收到
onMetaData
Script Tag 的时候是否分段。 - 此设置为关时,收到
onMetaData
后会在视频文件同名的 txt 文件里记录相关信息。
- 工具箱的录播分析和检测中添加了对 FFmpeg 输出的文件的检测。
- 因为经过 FFmpeg 处理的文件就不能被修复了,检测到是 FFmpeg 输出的文件时给出提示。
- 调整了获取直播流的 API,增加了对 “4K 全景” 直播流的支持。
- 注意需要手动设置一下录制的画质 ID 才能录到,默认设置的画质 ID 是
10000
。
- 注意需要手动设置一下录制的画质 ID 才能录到,默认设置的画质 ID 是
- 工具箱导出的数据文件从
gz
格式换成了zip
。
桌面版:
- 在录制状态中添加了当前连接的直播服务器
- 更换了版本检查和更新的库
命令行版:
- 更新了 WebUI
- 添加了测试生成文件名的 API
- 现在录播姬本体和 ASP.NET Core 的日志会写入两个不同的日志文件
2.0.0
通用:
- 修改了文件名格式模板系统
- 新增了用户脚本功能,可以使用 JavaScript 实现一些高级功能。
- 给 Webhook 添加了两个新的事件:直播开始、直播结束
- 修改了录播姬弹幕 XML 的样式表
- 修复了一个弹幕用户 ID 超过 Int32.max 导致的 bug
- 修复了 Webhook 发送重试请求失败的 bug
- 修改了请求策略,现在会由录播姬来随机选择域名所指向的 IP
- 请求直播流时默认不再使用系统全局代理
- 调整了使用的 B 站 API
- 其他细节修改和调整
桌面版:
- 添加了手动切换暗色模式的按钮
- 修复了在工具箱分析、修复、导出时最小化窗口会导致对话框消失的 bug
- 修复了一个在特定情况下调整界面大小导致崩溃的 bug
- 在房间卡片菜单里添加了 “全局设置” 选项
- 添加了一个 “刷新所有房间信息” 的菜单项
- 其他细节修改和调整
命令行版:
- 新增了 HTTP API 和 Web UI
- REST API
- GraphQL API
- 管理界面 Web UI
- 简陋的文件浏览器(临时,之后应该会改进)
- 简陋的视频播放器(临时,之后应该会改进)
- 支持 HTTPS
除了录播姬里打包了一份 Web UI 可以用于管理自身以外,还可以在 webui.rec.danmuji.org 使用支持管理多个录播姬的版本。
1.3.11
通用:
- 修复工具箱-弹幕合并的 bug
- 调整了工具箱-修复失败导出数据的内容
- 其他细节修改
桌面版:
- 修复记住工作路径功能的 bug
- 修复了偶尔崩溃的 bug
命令行版:
- 给 portable 命令新增了 —record-mode 参数
1.3.10
通用:
- 现在会严格遵守直播画质设置,没有设置里的画质可录时不再默认原画,而是不录
- 修改了工具箱里的弹幕合并,可以手动修改时间偏移量了
- 修复了直播标题含有特殊字符导致无法录制弹幕的问题
- 修复了几个版本之前添加的阻止系统休眠无效的问题
- 修改了工具箱里导出分析数据的数据内容
- 微调了部分修复逻辑(标准录制模式不支持部分 SRT 推流的 60FPS 直播间的问题暂时还未修复)
桌面版:
- 在托盘图标显示里增加了开播状态
- 部分 UI 调整
1.3.9
通用:
- 在工具箱里添加了一个合并弹幕 XML 文件的工具
- 修复了移除房间时不触发 webhook 的 bug
- 对
d1--ov-gotcha07.bilivideo.com
特有的问题进行了兼容 - 其他细节修改
桌面版:
- 在工具箱里添加了一个转封装工具
- 调整了日志显示部分的 UI
- 其他 UI 调整
1.3.8
通用:
- 新增了填写画质 ID 的设置,可以设置优先录制其他画质
- 其他细节修改
桌面版:
- 给 run 命令新增了
--hide
参数,启动后自动最小化 - 微调了界面
命令行版:
- 重做了工具箱的命令行输出,现在更美观一点,并且会显示进度
- 新增了
configure
命令,可交互式修改配置文件
1.3.7
- 修复了 1.3.6 里无法通过点击 X 来关闭窗口的 bug
1.3.6
- 应该修复了如果在窗口还未初始化完成就关闭窗口会导致崩溃退出的问题
- 现在如果在窗口未初始化完成时就关闭窗口,会正常退出而不是崩溃
- 其他小修改
1.3.5
- 添加了不再每次启动都询问工作目录的选项
- 在“文件”菜单中添加了修改工作目录的选项,点击后会重启软件并显示工作目录选择界面
- 在“文件”菜单中添加了保存设置的选项,软件正常关闭时也会自动保存设置
- 录播姬现在会阻止系统进入休眠状态
- 修复了一个 工具箱-录播修复 的 UI Bug
- 其他细节修改
1.3.4
- 修复了一个录制时文件写入的 bug
- 略微调整了文件写入逻辑
- 略微调整了输出的日志
1.3.1
- 超大更新,重写了录播姬直播数据处理部分的代码,加入了录播修复功能。
- 正式发布了录播姬命令行版
??? note “录播姬 1.3 完整更新日志”
录播姬的第一个 1.3 正式版的版本号是 1.3.1
更新说明:1.3.1 中有一个不影响录制的bug,会导致录出的文件在一部分播放器里刚刚打开时出现卡顿、CPU占用高等现象。已经发布 1.3.2 修复了这个问题。 梅开二度:1.3.3 修复了一个导致部分设置开关不能正确保存到配置文件的bug。
本次更新的改动非常大,从规划到完成共耗时近10个月,除了界面以外几乎重写了所有代码,主要修改可以分为两部分:软件功能(监控、自动录制)和直播数据处理。 除此以外录播姬命令行版也在 1.3 开始与桌面版同步发布,可在 Windows Mac Linux 使用。命令行版暂无交互界面和接口,只能读取配置文件运行,不建议一般用户使用。
本站的使用文档已更新,关于目前录播姬的各种功能、用法、说明,见本站使用文档。
数据处理
录播姬 1.3 完全重写了直播数据处理代码,通过总结分析以前用户反馈的各种有问题的录播文件实现了一套mikufans录播文件修复系统,做到了边录边修,并可一键全自动修复绝大部分mikufans直播的录播文件存在的问题。
录播姬 1.3 有两个录制模式:标准模式 和 原始数据模式,默认为标准模式。在标准模式下录制时,直播数据会经过修复系统处理,边录边修。 更多关于录制模式的介绍,请看文档页 录制模式
在新的直播数据处理系统的基础上实现了统计更多的数据,这些数据会显示在房间卡片的录制状态里,便于判断当前录制的状态。
录播姬之前的版本会在录播文件关闭之前向文件内写入总时长信息。录播姬 1.3 使用新的文件写入策略,在每一小段直播数据写入后都会更新视频总时长信息,边录边播体验更好。
录播姬 1.3 标准模式下录制的视频文件中会包含直播间的信息,视频标题为直播间标题,视频作者为主播名。
录播姬 1.3 添加了新的工具箱模式,打开软件后在选择工作目录的界面可以点击“工具箱”按钮进入工具箱模式。工具箱模式下不启动录制逻辑,无需选择工作目录。 在左侧的导航条中添加了工具箱菜单,目前工具箱中只有一个“录播修复”,可以对录播文件进行分析和修复,如有问题还可以导出分析数据以便向作者反馈。 录播姬的后续版本会添加更多其他录播修复相关的工具。 更多关于修复系统的介绍,请看文档页 录播修复介绍
录播姬命令行版也提供了对应的命令,基本用法示例:
软件功能
录播姬 1.3 部分重写重构了监控、录制的代码,使得代码结构更清晰,也修复了一些在之前的版本里存在的 bug。
录播姬从第一个版本开始就会连接弹幕服务器,通过弹幕服务器接收实时的开播推送。这样相比轮询更稳定效果更好,直播状态更新延迟通常在 2 秒以内。但为了防止弹幕连接断开等情况导致没能收到推送,还是实现了定时主动检查更新。录播姬 1.3 把主动检查时间间隔从之前版本的 5 分钟一次改成了 10 分钟一次,并且改成了只主动检查处于监控状态的直播间。如需手动刷新状态可以点击房间卡片的三个点按钮、再点击“刷新直播间信息”按钮。
录播姬 1.3 在软件启动时,每个房间的初始化会有一点时间间隔,而不是像之前的版本一样同时获取所有直播间的数据。这样应该能尽量避免触发mikufans的安全机制导致被屏蔽。
录播姬 1.3 增加了屏蔽检测机制,在检测到被屏蔽后会主动暂停一切向mikufansAPI发送的请求,直到检测到屏蔽解除。希望能缓解被屏蔽、导致一直重试、导致屏蔽不会被解除的死循环。被屏蔽时会在日志里进行记录。
录播姬 1.3 重写了录制触发以及重试的逻辑。如果一个直播间开启了自动录制,并且点击了停止录制按钮,之前的版本会在下一次主动检查后重新开始录制,录播姬 1.3 改为了停止录制后本次直播都不再录制。是否放弃录制本场直播的标识会显示在房间卡片上。
其他修改
在之前的版本中,如果给录播姬传递了 -w "路径"
的参数就会跳过工作目录选择界面,在 1.3 中这个参数改为 run "路径"
命令行版
从 1.3 开始命令行版将与桌面版同步发布版本,可在本项目 GitHub 仓库的 Releases 页面下载。 也可以从 GitHub Actions 里来源分支为 dev-1.3
的 Build 的 Artifacts 里下载使用,不过开发版不保证稳定可靠。
录播姬命令行版可以在 Windows, Mac, Linux (x64, arm, arm64) 上运行
录播姬命令行版的配置文件与桌面版的配置文件通用,可以在桌面版配置好相关参数后,用命令行版加载运行。
录播姬命令行版的用法见 --help
的输出,下面给出部分示例
1.2.0
- 修改了配置系统
- 修改了配置文件格式,旧版配置文件会自动升级为新版
- 添加了直播间独立设置的功能
- 修复了一个可能导致丢失配置文件的问题
- 增加了多语言支持
- 简中
- 繁中
- 日语
- 英语
- 添加了显示直播间标题和分区的功能
- 文件名格式支持使用分区作为变量
- 调整了一点弹幕录制输出的 XML 的结构
- 最小化到托盘的提醒改为了只会提醒一次
1.1.26
- 添加了 webhook 功能
- 修复了几个 bug
1.1.24
- 界面优化和调整
- 给弹幕 XML 添加了样式表,方便直接在浏览器里查看
- 其他调整和修复
1.1.21
- 完全重做了软件界面
- 添加了不录制弹幕原始数据的设置项
其实这个更新就应该把版本号直接改成 2.0.0 的 ┑( ̄ Д  ̄)┍
1.1.20
- 添加了录制弹幕的功能
1.1.17
- 添加了自定义录制目录结构和文件名的功能
1.1.11
- 优化了录制稳定性
- 修复了 3 个软件崩溃问题
1.1.1
- 优化了录制稳定性
- 新增了自动分割功能
- 显示录制速度与直播速度的比
- 安装系统从 ClickOnce 换到了 Squirrel.Windows
1.0.0
- 录播姬的第一个正式版本