项目简介
Bilive 是一款高效的 B站直播录制与自动处理工具,能够快速录制、切片并渲染弹幕、字幕,同时自动上传至 B站。它支持多房间录制,能够处理多个直播间的视频和弹幕,包括付费弹幕和礼物信息。该工具通过流水线处理流程,极大提升了录制与直播的同步速度,理想情况下可在直播结束后半小时内完成录播。Bilive 在硬件要求方面非常低,不需要 GPU,最低配置的设备也能流畅运行。除了自动录制和上传,Bilive 还支持自动渲染弹幕和字幕,能根据视频内容生成有趣的切片标题并进行自动切片上传。该工具优化了视频处理流程,兼容低配置设备,极大地节省了存储空间,适合各种硬件环境。
主要特点
-
速度快
:采用
pipeline
流水线处理视频,理想情况下录播与直播相差半小时以内,没下播就能上线录播,
目前已知 b 站录播最快版本
!
-
多房间
:同时录制多个直播间内容视频以及弹幕文件(包含普通弹幕,付费弹幕以及礼物上舰等信息)。
-
占用小
:自动删除本地已上传的视频,极致节省空间。
-
模版化
:无需复杂配置,开箱即用,( 🎉 NEW)通过 b 站搜索建议接口自动抓取相关热门标签。
-
检测片段并合并
:对于网络问题或者直播连线导致的视频流分段,能够自动检测合并成为完整视频。
-
自动渲染弹幕
:自动转换xml为ass弹幕文件并且渲染到视频中形成
有弹幕版视频
并自动上传。
-
硬件要求极低
:无需GPU,只需最基础的单核CPU搭配最低的运存即可完成录制,弹幕渲染,上传等等全部过程,无最低配置要求,10年前的电脑或服务器依然可以使用!
-
( 🎉 NEW)自动渲染字幕
(如需使用本功能,则需保证有 Nvidia 显卡):采用 OpenAI 的开源模型
whisper
,自动识别视频内语音并转换为字幕渲染至视频中。
-
( 🎉 NEW)自动切片上传
:根据弹幕密度计算寻找高能片段并切片,结合多模态视频理解大模型
GLM-4V-PLUS
自动生成有意思的切片标题及内容,并且自动上传。
项目架构流程如下:
3. 测试硬件
4. Quick start
更详细的教程请参考文档 bilive
Note
如果你是 windows 用户,请不要使用命令提示符(Command Prompt)或 Windows PowerShell,请使用 PowerShell 或 Linux 终端例如 WSL 或
Git Bash
(推荐)。
Mode
首先介绍本项目三种不同的处理模式:
-
pipeline
模式(默认): 目前最快的模式,需要 GPU 支持,最好在
blrec
设置片段为半小时以内,asr 识别和渲染并行执行,分 p 上传视频片段。
-
append
模式: 基本同上,但 asr 识别与渲染过程串行执行,比 pipeline 慢预计 25% 左右,对 GPU 显存要求较低,兼顾硬件性能与处理上传效率。
-
merge
模式: 等待所有录制完成,再进行识别渲染合并过程,上传均为完整版录播(非分 P 投稿),等待时间较长,效率较慢,适合需要上传完整录播的场景。
Important
凡是用到 GPU 均需保证 GPU 显存大于运行程序所需 VRAM,具体计算 VRAM 方法可以参考该部分。
Installation(有 GPU 版本)
是否有 GPU 以
nvidia-smi
显示 nvidia GPU 驱动以及
nvcc -V
显示
CUDA
版本号为准。如果未配置显卡驱动或未安装
CUDA
,即使有 GPU 也无法使用,而会使用 CPU 推理(不推荐,可根据自身硬件条件判断是否尝试 CPU 推理)。
Tip
如果你是 windows 用户,请不要使用命令提示符(Command Prompt)或 Windows PowerShell,请使用 PowerShell 或 WSL 或
Git Bash
(推荐)。
注意:PowerShell 和 Windows PowerShell 是不同的应用程序。
1. 安装依赖(推荐先
conda
创建虚拟环境)
cd bilive
pip install -r requirements.txt
此外请根据各自的系统类型安装对应的
ffmpeg
,例如
ubuntu 安装 ffmpeg
。
2. 设置环境变量用于保存项目根目录
./setPath.sh && source ~/.bashrc
3. 配置 whisper 模型及 GLM-4V-PLUS 模型
3.1 whisper 模型
项目默认采用
small
模型,请点击下载所需文件,并放置在
src/subtitle/models
文件夹中。
3.2 GLM-4V-PLUS 模型
此功能默认关闭,如果需要打开请将
src/config.py
文件中的
AUTO_SLICE
参数设置为
True
在配置文件
src/config.py
中,
SLICE_DURATION
以秒为单位设置切片时长(不建议超过 1 分钟),在项目的自动切片功能需要使用到智谱的
GLM-4V-PLUS
模型,请自行注册账号并申请 API Key,填写到
src/config.py
文件中对应的
Your_API_KEY
中。
4. biliup-rs 登录
首先按照 biliup-rs 登录b站,登录脚本在
src/upload/biliup
,登录产生的
cookies.json
保留在该文件夹下即可。
常见问题收集
5. 启动自动录制
6. 启动自动上传
请先确保你已经完成
步骤 3
,正确下载并放置了模型文件。
6.1 启动扫描渲染进程
输入以下指令即可检测已录制的视频并且自动合并分段,自动进行弹幕转换,字幕识别与渲染的过程: