* Add Docker Compose file * docs: update docs --------- Co-authored-by: John Howe <89397553+timerring@users.noreply.github.com>
5.6 KiB
Quick start
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 推理)。
Note
如果你是 windows 用户,请使用 WSL 运行本项目。
1. 安装依赖(推荐先 conda 创建虚拟环境)
cd bilive
pip install -r requirements.txt
此外请根据各自的系统类型安装对应的 ffmpeg,例如 ubuntu 安装 ffmpeg。
2. 设置环境变量用于保存项目根目录
./setPath.sh && source ~/.bashrc
3. 配置 whisper 模型
项目默认采用 small 模型,请点击下载所需文件,并放置在 src/subtitle/models 文件夹中。
Tip
使用该参数模型至少需要保证有显存大于 2.7GB 的 GPU,否则请使用其他参数量的模型。
- 更多模型请参考 whisper 参数模型 部分。
- 更换模型方法请参考 更换模型方法 部分。
4. biliup-rs 登录
首先按照 biliup-rs 登录b站,登录脚本在 src/utils/biliup ,登录产生的cookies.json保留在该文件夹下即可。
然后同样通过 bilitool login 扫码登录(biliup 的 list 对应 api 已经失效,因此我写了 bilitool 工具作为替换)。
5. 启动自动录制
./record.sh
6. 启动自动上传
请先确保你已经完成步骤 3,正确下载并放置了模型文件。
6.1 启动扫描渲染进程
输入以下指令即可检测已录制的视频并且自动合并分段,自动进行弹幕转换,字幕识别与渲染的过程:
./scan.sh
6.2 启动自动上传进程
./upload.sh
7. 查看执行日志
相应的执行日志请在 logs 文件夹中查看,如果有问题欢迎在 issue 中提出。
logs # 日志文件夹
├── blrec # blrec 录制日志
│ └── ...
├── scan # scan 处理日志
│ └── ...
├── upload # upload 上传日志
│ └── ...
└── runtime # 每次执行的日志
└── ...
Installation(无 GPU 版本)
无 GPU 版本过程基本同上,可以跳过步骤 3,需要注意在执行步骤 5 之前完成以下设置将确保完全用 CPU 渲染视频弹幕。
- 请将
src/config.py文件中的GPU_EXIST参数设置为False。(若不置为False且则会使用 CPU 推理,不推荐,可自行根据硬件条件进行尝试。) - 将
MODEL_TYPE调整为merge或者append。
Docker 运行
也可以直接拉取 docker 镜像运行,默认 latest。守护进程是 upload,而 record 以及 scan 需要在配置后手动启动,相关配置以及启动流程从 3.2 开始即可,此版本 docker 镜像无 GPU 配置。
Important
如果不需要使用可视化页面可以忽略以下提醒:
- 不推荐在有公网 ip 的服务器上直接暴露 22333 端口访问管理页面,如果使用请自行限制端口入站 ip 规则或者采用 nginx 等反向代理配置密钥限制他人访问。
- 管理页面主要针对 record 模块,只有手动运行 record 后(步骤5)才能访问到管理页面。
Docker
sudo docker run \
-itd \
--name bilive_docker \
-p 22333:2233 \
timerring/bilive:0.2.10
Docker Compose
使用镜像
默认 CPU latest version,如需使用 GPU 版本,请将 image: ghcr.io/timerring/bilive:latest 修改为 image: ghcr.io/timerring/bilive-gpu:latest。
docker compose up -d
自行构建
相关配置已经写好,请自行将 compose.yml 3-6 行替换为:
build:
context: .
dockerfile: Dockerfile # Dockerfile-GPU
# image: ghcr.io/timerring/bilive:latest # ghcr.io/timerring/bilive-gpu:latest
然后执行以下命令:
docker build
docker compose up -d