[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-72323":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":16,"starSnapshotCount":16,"syncStatus":36,"lastSyncTime":37,"discoverSource":38},72323,"bilive","timerring\u002Fbilive","timerring","极快的B站直播录制、自动切片、自动渲染弹幕以及字幕并投稿至B站，综合多种模态模型，兼容超低配置机器。Extremely fast live recording, automatic slicing, rendering, uploading and Integrating MLLMs. Compatible with low configurations machines.","https:\u002F\u002Fbilive.timerring.com",null,"Python",3237,256,13,18,0,9,28,3,66.53,"Apache License 2.0",false,"main",true,[26,27,28,5,29,30,31,32],"ass","bili","bilibili","danmaku","live-recording","stream","xml","2026-06-13 04:01:01","\u003Cdiv align=\"center\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"assets\u002FheaderDark.svg\" \u002F>\n    \u003Cimg src=\"assets\u002FheaderLight.svg\" alt=\"BILIVE\" \u002F>\n  \u003C\u002Fpicture>\n\n**B**ilibili **I**ntelligent **L**ive-**I**n **V**elocity **E**ngine\n\n*7 x 24 小时无人监守录制、渲染弹幕、识别字幕、自动切片、自动上传、兼容超低配机器，启动项目，人人都是录播员。*\n\n[:page_facing_up: English Documentation](https:\u002F\u002Ftimerring.github.io\u002Fbilive\u002F) |\n[:gear: Installation](#quick-start) |\n[:thinking: Reporting Issues](https:\u002F\u002Fgithub.com\u002Ftimerring\u002Fbilive\u002Fissues\u002Fnew\u002Fchoose) |\n[:speech_balloon: Chat](https:\u002F\u002Fgithub.com\u002Ftimerring\u002Fbilive\u002Fblob\u002Fmain\u002Fassets\u002Fwechat.png)\n\n\u003Cdiv>\n  \n  \u003Cimg src=\"assets\u002Fdmx.png\" alt=\"DMXAPI.cn\" width=\"450\" height=\"300\" \u002F>\n\n  **大模型API(\u003Ca href=\"https:\u002F\u002Fwww.dmxapi.cn\u002Fregister?aff=vRzR\" target=\"_blank\">DMXAPI\u003C\u002Fa>)** 行业领先的 api 聚合平台 **[详细介绍](#特别感谢)**\n\n\u003Cdetails open>\n  \u003Csummary> DMX = 大模型拼音首字母 \u003C\u002Fsummary>\n  \n  \u003Cul>\n    \u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.dmxapi.cn\u002Fregister?aff=vRzR\">DMXAPI.cn\u003C\u002Fa> 一个key用全球大模型\u003C\u002Fli>\n    \u003Cli>GPT  Claude  Gemini  6.8折起\u003C\u002Fli>\n    \u003Cli>\u003Ca href=\"https:\u002F\u002Fssvip.DMXAPI.com\">ssvip.DMXAPI.com\u003C\u002Fa> 提供生产级稳定服务\u003C\u002Fli>\n  \u003C\u002Ful>\n\n\u003C\u002Fdetails>\n\n\u003C\u002Fdiv>\n\n支持模型\n\n\u003Cdiv>\n  \u003Cimg src=\"assets\u002Fopenai.svg\" alt=\"OpenAI whisper\" width=\"60\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Fzhipu-color.svg\" alt=\"Zhipu GLM-4V-PLUS\" width=\"60\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Fgemini-brand-color.svg\" alt=\"Google Gemini 1.5 Pro\" width=\"60\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Fqwen-color.svg\" alt=\"Qwen-2.5-72B-Instruct\" width=\"60\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Fsensenova-brand-color.svg\" alt=\"SenseNova V6 Pro\" width=\"100\" height=\"60\" \u002F>\n\u003C\u002Fdiv>\n\n  \u003Cimg src=\"assets\u002Fhunyuan-color.svg\" alt=\"Tencent Hunyuan\" width=\"50\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Fminimax-color.svg\" alt=\"Minimax\" width=\"20\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Fminimax-text.svg\" alt=\"Minimax\" width=\"60\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Fsiliconcloud-color.svg\" alt=\"SiliconFlow\" width=\"15\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Fsiliconcloud-text.svg\" alt=\"SiliconFlow\" width=\"100\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Fwenxin-color.svg\" alt=\"Baidu ERNIE\" width=\"60\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Fstability-brand-color.svg\" alt=\"Stability AI\" width=\"80\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Fluma-color.svg\" alt=\"Luma Photon\" width=\"20\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Fluma-text.svg\" alt=\"Luma Photon\" width=\"60\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Fideogram.svg\" alt=\"Ideogram V_2\" width=\"50\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Frecraft.svg\" alt=\"Recraft\" width=\"50\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Faws-color.svg\" alt=\"Amazon\" width=\"50\" height=\"60\" \u002F>\n  \u003Cimg src=\"assets\u002Fhidream-color.svg\" alt=\"Hidream I1\" width=\"100\" height=\"60\" \u002F>\n\u003C\u002Fdiv>\n\n##  1. Introduction\n\n> Have you noticed that *Live-In* is a wordplay :)\n>\n> 如果您觉得项目不错，欢迎 :star: 也欢迎 PR 合作，如果有任何疑问，欢迎提 issue 交流。\n> \n> **敬告：本项目仅供学习交流使用，请在征得对方许可的情况下录制，请勿未经授权私自将内容用于商业用途，请勿用于大规模录制，违者会被官方封禁，法律后果自负。**\n\n自动监听并录制B站直播和弹幕（含付费留言、礼物等），根据分辨率转换弹幕、语音识别字幕并渲染进视频，根据弹幕密度切分精彩片段并通过视频理解大模型生成有趣的标题，根据图像生成模型自动生成视频封面，自动投稿视频和切片至B站，兼容无GPU版本，兼容 x64 及 arm64 超低配置服务器与主机。\n\n## 2. Major features\n\n- **速度快**：采用 `pipeline` 流水线处理视频，理想情况下录播与直播相差半小时以内，没下播就能上线录播，**已知 b 站录播最快的稳定版本**！\n- **( 🎉 NEW)多架构**：适配 amd64 及 arm64 架构！\n- **多房间**：同时录制多个直播间内容视频以及弹幕文件（包含普通弹幕，付费弹幕以及礼物上舰等信息）。\n- **占用小**：自动删除本地已上传的视频，极致节省空间。\n- **模版化**：无需复杂配置，开箱即用，通过 b 站搜索建议接口自动抓取相关热门标签。\n- **检测片段并合并**：对于网络问题或者直播连线导致的视频流分段，能够自动检测合并成为完整视频。\n- **自动渲染弹幕**：自动转换xml为ass弹幕文件，该转换工具库已经开源 [DanmakuConvert](https:\u002F\u002Fgithub.com\u002Ftimerring\u002FDanmakuConvert) 并且渲染到视频中形成**有弹幕版视频**并自动上传。\n- **硬件要求极低**：无需GPU，只需最基础的单核CPU搭配最低的运存即可完成录制，弹幕渲染，上传等等全部过程，无最低配置要求，10年前的电脑或服务器依然可以使用！\n- **( :tada: NEW)自动渲染字幕**：采用 OpenAI 的开源模型 `whisper`，自动识别视频内语音并转换为字幕渲染至视频中。\n- **( :tada: NEW)自动切片上传**：根据弹幕密度计算寻找高能片段并切片，该自动切片工具库已开源 [auto-slice-video](https:\u002F\u002Fgithub.com\u002Ftimerring\u002Fauto-slice-video)，结合多模态视频理解大模型自动生成有意思的切片标题及内容，并且自动上传，目前已经支持的模型有：\n  - `GLM-4V-PLUS`\n  - `Gemini-2.5-flash`\n  - `Qwen-2.5-72B-Instruct`\n  - `SenseNova V6 Pro`\n- **( :tada: NEW)持久化登录\u002F下载\u002F上传视频(支持多p投稿)**：[bilitool](https:\u002F\u002Fgithub.com\u002Ftimerring\u002Fbilitool) 已经开源，实现持久化登录，下载视频及弹幕(含多p)\u002F上传视频(可分p投稿)，查询投稿状态，查询详细信息等功能，一键pip安装，可以使用命令行 cli 操作，也可以作为api调用。\n- **( :tada: NEW)自动多平台循环直播推流**：该工具已经开源 [looplive](https:\u002F\u002Fgithub.com\u002Ftimerring\u002Flooplive) 是一个 7 x 24 小时全自动**循环多平台同时推流**直播工具。\n- **( :tada: NEW)自动生成风格变换的视频封面**：采用图生图多模态模型，自动获取视频截图并上传风格变换后的视频封面。\n  - `Minimax image-01`\n  - `Kwai Kolors`\n  - `Tencent Hunyuan`\n  - `Baidu ERNIE irag-1.0`\n  - `Stable Diffusion 3.5 large turbo`\n  - `Luma Photon`\n  - `Ideogram V_2`\n  - `Recraft`\n  - `Amazon Titan Image Generator V2`\n  - `Hidream I1`\n  - `kling-v1-5`\n\n\n项目架构流程如下：\n\n![](https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Ftimerring\u002Fscratchpad2023\u002F2024\u002F2025-05-03-22-09-56.png)\n\n## 3. 测试硬件\n\n| Machine | Alicloud | Oracle Cloud | local server |\n|--------|---------|---------|---------|\n| OS | Ubuntu 22.04.4 LTS | debian 6.1.0 | Ubuntu 22.04.4 LTS |\n| Architecture | x64 | aarch64 | x64 |\n| CPU | 2-core Intel(R) Xeon(R) Platinum 85 | 1-core Neoverse-N1 | 8-core Intel(R) Core(TM) i5-9300H CPU |\n| GPU | None | None | Nvidia GeForce GTX 1650 |\n| Memory | 2G | 4G | 24G |\n| Disk | 40G | 30G | 100G |\n| Bandwidth | 3Mbps | 100Mbps | 50Mbps |\n| Python Version | 3.10 | 3.10 | 3.10 |\n\n> 个人经验：若想尽可能快地更新视频，主要取决于上传速度而非渲染速度，因此建议网络带宽越大越好。由于 [aarch64 版本 PyPI 没有 release](https:\u002F\u002Fgithub.com\u002Ftriton-lang\u002Ftriton\u002Fissues\u002F5561) 的 [triton 库](https:\u002F\u002Fpypi.org\u002Fproject\u002Ftriton\u002F#history)，因此 aarch64 版本暂时不支持本地部署 whisper，pip 时请自行注释 requirement 中的 triton 环境，配置均测试可用。\n\n## 4. Quick start\n\n更详细的教程请参考文档 [bilive](https:\u002F\u002Ftimerring.github.io\u002Fbilive\u002F)\n\n> [!NOTE]\n> 如果你是 windows 用户，请使用 WSL 运行本项目。\n\n### Mode\n首先介绍本项目三种不同的处理模式：(以下特指 asr_method=\"deploy\" 的情况，如填\"none\"或者\"api\"则不涉及 GPU, 可以忽略对 GPU 的描述)\n1. `pipeline` 模式(默认): 目前最快的模式，需要 GPU 支持，最好在 `blrec` 设置片段为半小时以内，asr 识别和渲染并行执行，分 p 上传视频片段。\n![](https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Ftimerring\u002Fscratchpad2023\u002F2024\u002F2024-12-11-17-33-15.png)\n2. `append` 模式: 基本同上，但 asr 识别与渲染过程串行执行，比 pipeline 慢预计 25% 左右，对 GPU 显存要求较低，兼顾硬件性能与处理上传效率。\n![](https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Ftimerring\u002Fscratchpad2023\u002F2024\u002F2024-12-11-19-07-12.png)\n3. `merge` 模式: 等待所有录制完成，再进行识别渲染合并过程，上传均为完整版录播（非分 P 投稿），等待时间较长，效率较慢，适合需要上传完整录播的场景。\n![](https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Ftimerring\u002Fscratchpad2023\u002F2024\u002F2024-12-11-19-08-58.png)\n\n> [!IMPORTANT]\n> 凡是用到 GPU 均需保证 GPU 显存大于运行程序所需 VRAM，具体计算 VRAM 方法可以参考[该部分](https:\u002F\u002Ftimerring.github.io\u002Fbilive\u002Fmodels.html#calculate-vram-requirements)。\n\n### Installation\n\n> [!TIP]\n> 如果你是 windows 用户，请使用 WSL 运行本项目。\n\n#### 0. clone 项目\n\n由于项目引入了我写的 submodule [DanmakuConvert](https:\u002F\u002Fgithub.com\u002Ftimerring\u002FDanmakuConvert)，[bilitool](https:\u002F\u002Fgithub.com\u002Ftimerring\u002Fbilitool) 和 [auto-slice-video](https:\u002F\u002Fgithub.com\u002Ftimerring\u002Fauto-slice-video)，因此推荐 clone 项目时就更新 submodules。\n\n```bash\ngit clone --recurse-submodules https:\u002F\u002Fgithub.com\u002Ftimerring\u002Fbilive.git\n```\n\n如果你没有采用上述方式 clone 项目，请更新 submodules：\n\n```bash\ngit submodule update --init --recursive\n```\n\n#### 1. 安装依赖(推荐创建虚拟环境)\n\n```\ncd bilive\npip install -r requirements.txt\n```\n\n此外请根据各自的系统类型安装对应的 [`ffmpeg`](https:\u002F\u002Fwww.ffmpeg.org\u002Fdownload.html)，例如 [ubuntu 安装 ffmpeg](https:\u002F\u002Fgcore.com\u002Flearning\u002Fhow-to-install-ffmpeg-on-ubuntu\u002F)。\n\n[常见问题收集](https:\u002F\u002Ftimerring.github.io\u002Fbilive\u002Finstall-questions.html)\n\n#### 2. 配置参数\n\n##### 2.1 whisper 语音识别（渲染字幕功能）\n\n> [!TIP]\n> - 有关语音识别的配置在 `bilive.toml` 文件的 `[asr]` 部分。\n> - `asr_method` 默认为 none, 即不进行语音字幕识别。\n\n##### 2.1.1 采用 api 方式\n\n将 `bilive.toml` 文件中的 `asr_method` 参数设置为 `api`，然后填写 `WHISPER_API_KEY` 参数为你的 [API Key](https:\u002F\u002Fconsole.groq.com\u002Fkeys)。\n\n本项目采用 groq 提供 free tier 的 `whisper-large-v3-turbo` 模型，上传限制为 40 MB（约半小时），因此如需采用 api 识别的方式，请将视频录制分段调整为 30 分钟（默认即 30 分钟）。此外，free tier 请求限制为 7200秒\u002F20次\u002F小时，28800秒\u002F2000次\u002F天。如果有更多需求，也欢迎升级到 dev tier，更多信息见[groq 官网](https:\u002F\u002Fconsole.groq.com\u002Fdocs\u002Frate-limits)。\n\n##### 2.1.2 采用本地部署方式(需保证有 NVIDIA 显卡)\n\n将 `bilive.toml` 文件中的 `asr_method` 参数设置为 `deploy`，然后下载所需模型文件，并放置在 `src\u002Fsubtitle\u002Fmodels` 文件夹中。\n\n项目默认采用 [`small`](https:\u002F\u002Fopenaipublic.azureedge.net\u002Fmain\u002Fwhisper\u002Fmodels\u002F9ecf779972d90ba49c06d968637d720dd632c55bbf19d441fb42bf17a411e794\u002Fsmall.pt) 模型，请点击下载所需文件，并放置在 `src\u002Fsubtitle\u002Fmodels` 文件夹中。\n\n> [!TIP]\n> + 请保证 NVIDIA 显卡驱动安装正确 `nvidia-smi` `nvcc -V`，并能够调用 CUDA 核心 `print(torch.cuda.is_available())` 返回 `True`。如果未配置显卡驱动或未安装 `CUDA`，即使有 GPU 也无法使用，而会使用 CPU 推理，非常消耗 CPU 计算资源，不推荐，如果 CPU 硬件条件好可以尝试。\n> + 使用该参数模型至少需要保证有显存大于 2.7GB 的 GPU，否则请使用其他参数量的模型。\n> + 更多模型请参考 [whisper 参数模型](https:\u002F\u002Ftimerring.github.io\u002Fbilive\u002Fmodels.html) 部分。\n> + 更换模型方法请参考 [更换模型方法](https:\u002F\u002Ftimerring.github.io\u002Fbilive\u002Fmodels.html#change-model-method) 部分。\n\n##### 2.2 MLLM 模型（自动切片功能）\n\n> [!TIP]\n> - 有关自动切片的配置在 `bilive.toml` 文件的 `[slice]` 部分。\n> - `auto_slice` 默认为 false, 即不进行自动切片。\n> - 可以通过单元测试调试你自己的 prompt，单元测试在 `tests\u002Ftest_autoslice.py`，执行 `python -m unittest` 即可，后接 `tests.test_autoslice` 测试整个模块，`tests.test_autoslice.TestXXXMain` 测试某个模型。部分模型会返回多个标题及 emoji，请在 prompt 中指出，仅返回一个标题的字符串即可，推荐先自行调试确保您的 prompt works，欢迎在 issue 中分享你的 prompt。\n\nMLLM 模型主要用于自动切片后的切片标题生成，此功能默认关闭，如果需要打开请将 `auto_slice` 参数设置为 `true`，并且写下你自己的 `slice_prompt`(可以包含 `{artist}` 关键词会自动替换)，其他配置分别有：\n- `slice_duration` 以秒为单位设置切片时长（不建议超过 180 秒）。\n- `slice_num` 设置切片数量。\n- `slice_overlap` 设置切片重叠时长。切片采用滑动窗口法处理，细节内容请见 [auto-slice-video](https:\u002F\u002Fgithub.com\u002Ftimerring\u002Fauto-slice-video)\n- `slice_step` 设置切片步长。\n- `min_video_size` 设置最小被切片视频大小，防止对一些连线或者网络波动原因造成的短片段再切片。\n\n接下来配置模型有关的 `mllm_model` 参数即对应的 api-key，请自行根据链接注册账号并且申请对应 api key，填写在对应的参数中，请注意以下模型只有你在 `mllm_model` 参数中设置的那个模型会生效。\n\n| Company   |    Alicloud           |       zhipu        |    Google        | SenseNova |\n|----------------|-----------------------|------------------|-------------------|-------------------|\n| Name   | Qwen-2.5-72B-Instruct | GLM-4V-PLUS | Gemini-2.0-flash | SenseNova V6 Pro |\n| `mllm_model`   | `qwen`  | `zhipu` | `gemini` | `sensenova` |\n| `API key`   | [qwen_api_key](https:\u002F\u002Fbailian.console.aliyun.com\u002F?apiKey=1) | [zhipu_api_key](https:\u002F\u002Fwww.bigmodel.cn\u002Finvite?icode=shBtZUfNE6FfdMH1R6NybGczbXFgPRGIalpycrEwJ28%3D) | [gemini_api_key](https:\u002F\u002Faistudio.google.com\u002Fapp\u002Fapikey) | [sensenova_api_key](https:\u002F\u002Fconsole.sensecore.cn\u002Faistudio\u002Fmanagement\u002Fapi-key) |\n\n\n#### 2.3 Image Generation Model（自动生成视频封面）\n\n> [!TIP]\n> - 有关自动生成视频封面的配置在 `bilive.toml` 文件的 `[cover]` 部分。\n> - `generate_cover` 默认为 false, 即不进行自动生成视频封面。\n> - 可以通过单元测试调试你自己的 prompt，单元测试在 `tests\u002Ftest_cover.py`，执行 `python -m unittest` 即可，后接 `tests.test_cover` 测试整个模块，`tests.test_cover.TestXXXMain` 测试某个模型。\n\n采用图生图多模态模型，自动获取视频截图并上传风格变换后的视频封面，如需使用本功能，请将 `generate_cover` 参数设置为 `true`，并且写下你自己的 prompt，注意部分模型只支持英文，接下来需要配置的参数有 image_gen_model 和对应的 api key，请自行根据链接注册账号并且申请对应 api key，填写在对应的参数中，请注意以下模型只有你在 `image_gen_model` 参数中设置的那个模型会生效。\n\n推荐使用大模型API([dmxapi.cn](https:\u002F\u002Fwww.dmxapi.cn\u002Fregister?aff=vRzR))，一个 Key 用全球大模型，[查看详细介绍](#特别感谢)。\n\n| Company     | Model Name                        | `image_gen_model`   | `API Key`                                                                  |\n|--------------|--------------------------------|-------------------|---------------------------------------------------------------------------------|\n| Kwai      | v1-5                       | `kling`         | [dmx_api_token](https:\u002F\u002Fwww.dmxapi.cn\u002Ftoken)                                  |\n\n\u003Cdetails>\n\u003Csummary>其他支持的图像生成模型\u003C\u002Fsummary>\n\n| Company     | Model Name                        | `image_gen_model`   | `API Key`                                                                  |\n|--------------|--------------------------------|-------------------|---------------------------------------------------------------------------------|\n| Minimax      | image-01                       | `minimax`         | minimax_api_key                                  |\n| Kwai  | Kolors                    | `siliconflow`       | siliconflow_api_key                  |\n| Tencent      | Hunyuan                | `tencent`           | tencent_secret_id and tencent_secret_key                  |\n| Baidu        | ERNIE irag-1.0                   | `baidu`             | baidu_api_key                    |\n| Stability AI | Stable Diffusion 3.5 large turbo   | `stability`         | stability_api_key                |\n| Luma Labs    | Photon                    | `luma`              | luma_api_key                               |\n| Ideogram     | Ideogram V_2                   | `ideogram`          | ideogram_api_key                             |\n| Recraft      | Recraft V3                       | `recraft`           | recraft_api_key                          |\n| Amazon       | Titan Image Generator V2                        | `amazon`            | aws_access_key_id and aws_secret_access_key                      |\n| Hidream      | Hidream I1                       | `hidream`            | hidream_api_key                              |\n\n\u003C\u002Fdetails>\n\n#### 3. 配置上传参数\n\n在 `bilive.toml` 中自定义相关配置，映射关键词为 `{artist}`、`{date}`、`{title}`、`{source_link}`，请自行组合删减定制模板：\n\n- `title` 标题模板。\n- `description` 简介模板。\n- `tid` 视频分区，请参考 [bilitool tid](https:\u002F\u002Fbilitool.timerring.com\u002Ftid.html) 文档。\n- `gift_price_filter = 1` 表示过滤价格低于 1 元的礼物。\n- `reserve_for_fixing = false` 表示如果视频出现错误，重试失败后不保留视频用于修复，推荐硬盘空间有限的用户设置 false。\n- `upload_line = \"auto\"` 表示自动探测上传线路并上传，如果需要指定固定的线路，可以设置为 `bldsa`、`ws`、`tx`、`qn`、`bda2`。\n\n#### 4. 配置录制参数\n\n> [!IMPORTANT]\n> 请不要修改任何有关路径的任何配置，否则会导致上传模块不可用\n\n> 录制模块采用第三方 package `blrec`，参数配置在 `settings.toml` 文件，也可以直接在录制启动后在对应的端口可视化页面配置。Quick start 只介绍关键配置，其他配置可自行在页面中对照配置项理解，支持热修改。\n\n- 房间的添加按照文件中 `[[tasks]]` 对应的格式即可。\n- 录制模块不登录状态下默认的录制质量为超清。如果需要登录，请将 cookie.json 文件（获取方式见步骤 5）中的 `SESSDATA` 参数值填写到 `[header]` 的 cookie 部分，形式`cookie = \"SESSDATA=XXXXXXXXXXX\"`，登录后即可录制更高质量画质。(推荐不登录)\n- `duration_limit` 表示录制时长，如果采用 whisper api 识别语音，请将分段控制在 1800 秒以内，其他情况没有限制。\n\n#### 5. bilitool 登录（持久化登录，该步只需执行一次）\n\n> 对于 docker 部署，可以忽略这一步，因为 `docker logs` 在控制台中可以打印出二维码，直接扫码即可登录，以下内容针对源码部署。\n\n##### 5.1 方式一 通过 cookie 登录\n一般日志文件打印不出二维码效果，所以这步需要提前在机器上安装 [bilitool](https:\u002F\u002Fgithub.com\u002Ftimerring\u002Fbilitool):\n\n```\npip install bilitool\nbilitool login --export\n# 然后使用 app 端扫码登录，会自动导出 cookie.json 文件\n```\n将登录的 cookie.json 文件留在本项目根目录下，`.\u002Fupload.sh` 启动后即可删除该文件。\n\n##### 5.2 方式二 通过 submodule 登录\n\n或者在 submodule 中登录也可以，方式如下：\n\n```\ncd src\u002Fupload\u002Fbilitool\npython -m bilitool.cli login\n# 然后使用 app 端扫码即可登录\n```\n\n[常见问题收集](https:\u002F\u002Ftimerring.github.io\u002Fbilive\u002Fbiliup.html)\n\n#### 6. 启动自动录制\n\n> [!IMPORTANT]\n> 在有公网 ip 的服务器上使用默认密码并暴露端口号有潜在的暴露 cookie 风险，因此**不推荐**在有公网 ip 的服务器映射端口号。\n> - 如需使用 https，可以考虑 openssl 自签名证书并在 `record.sh` 中添加参数 `--key-file path\u002Fto\u002Fkey-file --cert-file path\u002Fto\u002Fcert-file`。\n> - 可以自行限制服务器端口入站 ip 规则或者采用 nginx 等反向代理配置限制他人访问。\n\n启动前请先设置录制前端页面的密码，并保存在 `RECORD_KEY` 环境变量中, `your_password` 由字母数字组成，最少 8 位，最多 80 位。\n- 临时设置密码 `export RECORD_KEY=your_password`。(推荐)\n- 持久化设置密码 `echo \"export RECORD_KEY=your_password\" >> ~\u002F.bashrc && source ~\u002F.bashrc`，其中 `~\u002F.bashrc` 根据你所用的 shell 自行修改即可。\n\n```bash\n.\u002Frecord.sh\n```\n\n[常见问题收集](https:\u002F\u002Ftimerring.github.io\u002Fbilive\u002Frecord.html)\n\n#### 7. 启动自动上传\n\n> 如果你使用 deploy 的方式本地部署 whisper，请先确保你已经正确下载并放置了对应的模型文件，并确保 CUDA 可用。\n\n```bash\n.\u002Fupload.sh\n```\n\n[常见问题收集](https:\u002F\u002Ftimerring.github.io\u002Fbilive\u002Fupload.html)\n\n#### 日志信息\n\n相应的执行日志请在 `logs` 文件夹中查看，如果有问题欢迎在 [`issue`](https:\u002F\u002Fgithub.com\u002Ftimerring\u002Fbilive\u002Fissues\u002Fnew\u002Fchoose) 中提出，有异常请优先提供 [debug] 级别的日志。\n\n```\nlogs # 日志文件夹\n├── record # blrec 录制日志\n│   └── ...\n├── scan # scan 处理日志 [debug]级别\n│   └── ...\n├── upload # upload 上传日志 [debug]级别\n│   └── ...\n└── runtime # 每次执行的日志 [info]级别\n    └── ...\n```\n\n### Docker 运行\n\nDocker 版本的配置参考同上，登录方式更加简洁，启动后直接 `docker logs bilive_docker` 在日志中会打印登录二维码，扫码登录即可。\n\n#### 无 GPU 版本\n\n已构建 amd64 及 arm64 版本，会自动根据架构选择。\n\n`your_record_password` 为录制页面的密码，请自行设置，最短 8 最长 80。\n\n```bash\ndocker run -itd \\\n    -v your\u002Fpath\u002Fto\u002Fbilive.toml:\u002Fapp\u002Fbilive.toml \\\n    -v your\u002Fpath\u002Fto\u002Fsettings.toml:\u002Fapp\u002Fsettings.toml \\\n    -v your\u002Fpath\u002Fto\u002FVideos:\u002Fapp\u002FVideos \\\n    -v your\u002Fpath\u002Fto\u002Flogs:\u002Fapp\u002Flogs \\\n    --name bilive_docker \\\n    -e RECORD_KEY=your_record_password \\\n    -p 22333:2233 \\\n    ghcr.io\u002Ftimerring\u002Fbilive:0.3.1\n```\n\n#### 有 GPU 版本\n\n> [!TIP]\n> 使用前请确保你有足够的使用前置知识，如果不熟悉在 docker 中使用 GPU，可以参考 [Docker With GPU](https:\u002F\u002Fblog.timerring.com\u002Fposts\u002Fdocker-with-gpu\u002F)。\n\n有 GPU 版本仅支持 amd64 架构，已内置 small 参数量的模型，如需使用其他参数量模型，请自行按照 2.1.2 步骤调整。`your_record_password` 规则同上。\n\n```bash\nsudo docker run -itd \\\n    -v your\u002Fpath\u002Fto\u002Fbilive.toml:\u002Fapp\u002Fbilive.toml \\\n    -v your\u002Fpath\u002Fto\u002Fsettings.toml:\u002Fapp\u002Fsettings.toml \\\n    -v your\u002Fpath\u002Fto\u002FVideos:\u002Fapp\u002FVideos \\\n    -v your\u002Fpath\u002Fto\u002Flogs:\u002Fapp\u002Flogs \\\n    --gpus 'all,\"capabilities=compute,utility,video\"' \\\n    --name bilive_docker_gpu \\\n    -e RECORD_KEY=your_record_password \\\n    -p 22333:2233 \\\n    ghcr.io\u002Ftimerring\u002Fbilive-gpu:0.3.1\n```\n\n### Docker Compose\n\n`compose.yml` 调整方法见 [Installation](https:\u002F\u002Fbilive.timerring.com\u002Finstallation.html)。\n\n#### 使用镜像\n\n如需使用 GPU 版本，请自行在 `compose.yml` 中调整。\n\n```bash\ndocker compose up -d\n```\n\n#### 自行构建\n\n请先在 `compose.yml` 中调整相关配置，然后执行以下命令：\n\n```bash\ndocker build\ndocker compose up -d\n```\n\n## 特别感谢\n\n- [大模型API](https:\u002F\u002Fwww.dmxapi.cn\u002Fregister?aff=vRzR)([DMXAPI.cn](https:\u002F\u002Fwww.dmxapi.cn\u002Fregister?aff=vRzR))，**DMX 取自“大模型”的拼音首字母，行业领先的智能API聚合服务平台**，旨在帮助 LLM 应用开发的初学者轻松接入多种大模型，快速进入 AI 应用的广阔领域。\n  1. **人民币计价全球人工智能大模型API**，[聚合中国和全球**300+多模态大模型**](https:\u002F\u002Fwww.dmxapi.cn\u002Fpricing)，直连畅通使用国内外领先大模型 API 服务，1个Key使用全模型，涵盖各个领域模型，应有尽有。\n  2. **RPM \u002F TPM 无上限**，注册就是顶级账号，不设 RPM \u002F TPM 限制，企业客户集群服务器，支持无限并发。\n  3. **合规发票 充值即开**，企业客户支持公对公付款，开具正规发票。\n  4. **海外模型低至 7 折，模型原厂集采直供**，通过直接与大模型原厂合作，我们采用集中采购的方式获取资源，确保为您提供极具竞争力的价格，**以更低的成本获取顶级的大模型服务**。\n  5. **坚守诚信与专业**，确保向客户提供真实、可靠的模型服务，维护客户的信任与满意度，[服务与承诺](https:\u002F\u002Fdmxapi.cn\u002Fchengnuo.html)。\n- [acgnhiki\u002Fblrec](https:\u002F\u002Fgithub.com\u002Facgnhiki\u002Fblrec)\n- [OpenAI\u002Fwhisper](https:\u002F\u002Fgithub.com\u002FOpenAI\u002Fwhisper)\n- [biliup\u002Fbiliup-rs](https:\u002F\u002Fgithub.com\u002Fbiliup\u002Fbiliup-rs)\n- [hihkm\u002FDanmakuFactory](https:\u002F\u002Fgithub.com\u002Fhihkm\u002FDanmakuFactory)\n","Bilive 是一个用于 B 站直播录制、自动切片、渲染弹幕及字幕，并自动投稿至 B 站的高效工具。它集成了多种模态模型，支持语音识别、图像生成等功能，能够根据弹幕密度自动生成精彩片段并配上有趣的标题和封面。该工具采用 Python 编写，兼容超低配置机器，包括无 GPU 版本以及 x64 和 arm64 架构的服务器与主机。适用于需要长时间无人值守地录制 B 站直播内容，并希望自动处理视频后期制作和上传的用户。",2,"2026-06-11 03:41:20","high_star"]