Package: blrec
Bilibili Live Streaming Recorder (blrec)这是一个前后端分离的 B 站直播录制工具。前端使用了响应式设计，可适应不同的屏幕尺寸；后端是用 Python 写的，可以跨平台运行。这个工具是自动化的，会自动完成直播的录制, 在出现未处理异常时会发送通知，空间不足能够自动回收空间，还有详细日志记录，因此可以长期无人值守运行在服务器上。屏幕截图功能自动完成直播录制同步保存弹幕自动修复时间戳问题：跳变、反跳等。直播流参数改变自动分割文件，避免出现花屏等问题。流中断自动拼接且支持无缝拼接，不会因网络中断而使录播文件片段化。flv文件添加关键帧等元数据，使定位播放和拖进度条不会卡顿。可选录制的画质可自定义文件保存路径和文件名支持按文件大小或时长分割文件支持转换flv为mp4格式（需要安装ffmpeg）硬盘空间检测并支持空间不足自动删除旧录播文件。事件通知（支持邮箱、ServerChan、PushDeer、pushplus、Telegram、Bark）Webhook（可配合REST API实现录制控制，录制完成后压制、上传等自定义需求）前提条件Python 3.8+
ffmpeg、 ffprobe安装通过 pip 或者 pipx 安装pip install blrec或者pipx install blrec使用的一些库需要自己编译，Windows 没安装 C / C++ 编译器会安装出错，
参考Python Can't install packages先安装好Microsoft C++ Build Tools。免安装绿色版支持 Windows 10+ 或 Windows Server 2016+，下载后解压运行run.bat或run.ps1。不是官方或最新系统可能需要安装系统更新或缺少的C或C++运行时库下载Releases:https://github.com/acgnhiki/blrec/releases网盘:https://gooyie.lanzoui.com/b01om2zte密码: 2233更新通过 pip 或者 pipx 安装的用以下方式更新pip install blrec --upgrade或者pipx upgrade blrec免安装绿色版下载并解压新版本确保旧版本已经关闭退出以避免之后出现端口冲突把旧版本的设置文件settings.toml复制并覆盖新版本的设置文件运行新版本的run.bat卸载通过 pip 或者 pipx 安装的用以下方式卸载pip uninstall blrec或者pipx uninstall blrec免安装绿色版删除解压后的文件夹Docker环境变量默认设置文件位置:ENV BLREC_DEFAULT_SETTINGS_FILE=/cfg/settings.toml默认日志存放目录:ENV BLREC_DEFAULT_LOG_DIR=/log默认录播存放目录:ENV BLREC_DEFAULT_OUT_DIR=/rec默认时区:ENV TZ="Asia/Shanghai"默认参数运行sudo docker run -v /etc/blrec:/cfg -v /var/log/blrec:/log -v ~/blrec:/rec -dp 2233:2233 acgnhiki/blrec命令行参数用法sudodockerrun\-v/etc/blrec:/cfg-v/var/log/blrec:/log-v~/blrec:/rec\-dp2233:2233acgnhiki/blrec\-c/cfg/another_settings.toml\--key-filepath/to/key-file\--cert-filepath/to/cert-file\--api-keybili2233使用方法命令行参数用法blrec --help默认参数运行在命令行终端里执行blrec，然后浏览器访问http://localhost:2233。默认设置文件位置：~/.blrec/settings.toml默认日志文件目录：~/.blrec/logs默认录播文件目录:.指定设置文件和录播与日志保存位置blrec -c path/to/settings.toml -o path/to/records --log-dir path/to/logs如果指定的设置文件不存在会自动创建命令行参数会覆盖掉设置文件的对应的设置绑定主机和端口默认为本地运行，主机和端口绑定为：localhost:2233需要外网访问，把主机绑定到0.0.0.0，端口绑定则按照自己的情况修改。例如：blrec --host 0.0.0.0 --port 8000网络安全指定SSL证书使用https协议并指定api key可防止被恶意访问和泄漏设置里的敏感信息例如：blrec --key-file path/to/key-file --cert-file path/to/cert-file --api-key bili2233如果指定了 api key，浏览器第一次访问会弹对话框要求输入 api key。输入的 api key 会被保存在浏览器的local storage以避免每次都得输入如果在不信任的环境下，请使用浏览器的隐式模式访问。关于 api-keyapi key 可以使用数字和字母，长度限制为最短 8 最长 80。3 次尝试内 api key 正确客户端 ip 会自动加入白名单，3 次错误后则 ip 会被加入黑名单，黑名单后请求会被拒绝 (403)。黑名单和白名单数以及同时尝试连接的 ip 数量限制各为 100，黑名单或白名单到达限制后不再接受除了白名单内的其它 ip 。只有重启才会清空黑名单和白名单。作为 ASGI 应用运行uvicorn blrec.web:app或者hypercorn blrec.web:app作为 ASGI 应用运行，参数通过环境变量指定。BLREC_CONFIG指定设置文件BLREC_OUT_DIR指定录播存放位置BLREC_LOG_DIR指定日志存放位置BLREC_API_KEY指定api keybashBLREC_CONFIG=path/to/settings.toml BLREC_OUT_DIR=path/to/dir BLREC_API_KEY=******** uvicorn blrec.web:app --host 0.0.0.0 --port 8000cmdset BLREC_CONFIG=D:\\path\\to\\config.toml & set BLREC_OUT_DIR=D:\\path\\to\\dir & set BLREC_API_KEY=******** uvicorn blrec.web:app --host 0.0.0.0 --port 8000Webhook程序在运行过程中会触发一些事件，如果是支持webhook的事件，就会给所设置的webhook网络地址发送 POST 请求。关于支持的事件和POST请求所发送的数据，详见 wiki。REST API后端web框架用的是FastApi, 要查看自动生成的交互式API文档，访问http://localhost:2233/docs（默认主机和端口绑定）。Progressive Web App（PWA）前端其实是一个渐进式网络应用，可以通过地址栏右侧的图标安装，然后像原生应用一样从桌面启动运行。注意：PWA 要在本地访问或者在https下才支持。开发克隆代码git clone https://github.com/acgnhiki/blrec.git进入项目目录cd blrec创建虚拟环境python3 -m venv .venv激活虚拟环境source .venv/bin/activate以可编辑方式安装pip install -e .[dev]修改代码……运行 blrecblrec退出虚拟环境deactivate常见问题FAQ更新日志CHANGELOG其它相关工具或项目名称链接简介录播姬官网简单易用成熟稳定的 B 站直播录制工具rclone官网可以挂载网盘用于存放录播文件alist官网网盘文件浏览、播放filebrowser官网服务器文件管理