LiveAutoRecord 跨平台直播录制完整教程:从安装到多频道自动录制
【免费下载链接】LiveAutoRecord基于 Electron 的多平台直播自动录制软件项目地址: https://gitcode.com/GitHub_Trending/li/LiveAutoRecord
LiveAutoRecord 是一款开源的跨平台直播自动录制工具,支持 B站、斗鱼、虎牙、抖音四大直播平台的直播与弹幕录制。如果你需要让某个主播一开播就自动录像,又不想自己守着电脑,这个基于 Electron 的桌面客户端(也支持服务端部署和 NPM 包集成)就是为此设计的。
LiveAutoRecord 能做什么
先说清楚它的边界,避免预期错位:
- 自动轮询开播:内置检查循环会按固定间隔查询每个频道的直播状态,检测到开播立即拉起 FFmpeg 开始录制,下播自动停止,全程不需要人盯
- 多频道并行录制:添加多少个直播间就监控多少个,每个频道独立调度,互不干扰
- 视频 + 弹幕双份产出:除了录屏,还会把弹幕、礼物消息落盘为 JSON 元数据文件,可开启"录制结束自动生成 SRT 字幕"
- 三种接入形态:Electron 桌面客户端(Windows / macOS,Linux 理论上可用)、HTTP 服务端 + Web 前端(适合服务器 7×24 挂机)、NPM 包(
@autorecord/manager+ 各平台插件,嵌进你自己的项目) - 默认产出 fMP4 格式:分片式 MP4,录制中途异常退出时已写入的部分仍可播放
它不是剪辑软件,也不负责分发,核心职责就是把直播流稳定地存成文件。
值得上手的几个理由
- 加频道只需要贴 URL。把直播间链接粘进添加界面,程序自动识别平台、解析房间号和主播名,不用手填房间号
- 录制是"无人值守"级别的。开播检测、断流恢复、磁盘清理都有默认策略,加完频道可以放着不管
- 弹幕不丢。多数工具只关心视频,LiveAutoRecord 同步收集弹幕/礼物并写入元数据文件,后期做字幕或回看素材都方便
- 对二次开发友好。调度引擎、平台插件、CLI、Web 前端彼此解耦,想自己做一个定制录制工具,直接复用核心包即可
LiveAutoRecord 安装与上手流程
前置依赖:Node.js 18+、pnpm 10、FFmpeg(客户端内置 FFmpeg 二进制,服务端/CLI 需系统 PATH 可用)。
源码安装与构建
git clone https://gitcode.com/GitHub_Trending/li/LiveAutoRecord cd LiveAutoRecord pnpm install pnpm build # 构建全部包 pnpm app:build # 打包 Electron 客户端(.exe / .dmg)开发调试可用pnpm app:dev直接启动客户端。
服务端部署
如果机器常年开着,服务端部署更合适:
pnpm -F @autorecord/http-server start # 启动录制服务 pnpm -F @autorerecord/web preview # 启动 Web 管理界面(生产环境可用 nginx 托管 build 产物)⚠️ 桌面客户端、服务端、CLI 三种形态共享同一份本地数据目录,同一时间只能跑一个实例,否则会出现数据库写入冲突。
添加第一个录制任务并等待开播
- 打开客户端,进入"录播任务"页,点击新增
- 粘贴直播间 URL(如
https://live.bilibili.com/xxxx),补充备注 - 选择画质档位,保存
- 程序开始按间隔轮询,主播开播的那一刻自动开录,无需任何操作
不想用图形界面也可以直接用 CLI:lar add <url>添加频道,lar watch进入守护模式持续监控,所有命令都支持--json输出便于脚本和 AI Agent 消费,详见 CLI 使用指南。
功能一览
频道管理与任务状态
主界面以卡片形式列出所有录制任务:平台、房间号、备注、当前状态(空闲/录制中)一目了然,支持手动触发检查和立即开始/停止录制。
录制历史与文件管理
"录播历史"页汇总每一次录制的起止时间、时长、保存路径,支持直接播放、打开所在目录、生成 SRT。文件按存储路径模板分类归档,找哪一期直播不用翻目录。
内置播放播放器
历史列表里点播放即可调起内置播放器(基于 DPlayer),检查录制质量、回看片段不用切换第三方软件,支持网页全屏。
弹幕收集与 SRT 生成
录制过程中弹幕、礼物消息会被写入与视频同名的 JSON 文件;开启全局设置中的"录制停止时自动生成 SRT"后,服务端会用该元数据生成一份可直接挂到播放器上的.srt字幕。
支持的直播平台与插件扩展机制
| 平台 | 插件包 | Provider ID |
|---|---|---|
| B站直播 | @autorecord/bilibili-recorder | Bilibili |
| 斗鱼直播 | @autorecord/douyu-recorder | DouYu |
| 虎牙直播 | @autorecord/huya-recorder | HuYa |
| 抖音直播 | @autorecord/douyin-recorder | DouYin |
每个平台是一个独立的 npm 包,实现统一的RecorderProvider接口,核心就五个方法:
matchURL:用域名正则判断 URL 是否属于该平台resolveChannelInfoFromURL:调平台 API 解析出房间号、标题、主播名createRecorder/fromJSON:创建录制器实例与从持久化数据还原setFFMPEGOutputArgs:接收 manager 下发的 FFmpeg 输出参数
需要登录才能拿高清流的平台(如 B站的 Cookie)通过可选的鉴权字段接入。想自己加一个平台,完整的接口定义、包模板和逐方法示例在 插件开发文档,参考实现可以看 B站录制器源码 或 斗鱼录制器源码。
实用技巧:存储路径、画质断流与磁盘清理
自定义存储路径模板
全局设置里可以改写savePathRule,支持的变量包括平台名、房间号(channelId)、主播名(owner)、直播标题(title)以及日期时间字段。默认按"平台/日期/时间+标题"分层存放,如果你习惯按主播归档,把它改成以owner开头的结构即可,界面右侧有字段说明提示。
画质档位与流源选择
画质分五档:lowest/low/medium/high/highest,插件会按档位映射到各平台实际提供的流。若平台同时有多种封装(flv / hls)和多个 CDN 源,还能通过streamPriorities、sourcePriorities指定偏好,比如优先走延迟更低的 flv,或锁定某个更稳定的源。
断流与坏文件的处理逻辑
录制过程中有两道守护:FFmpeg 日志里帧数连续停滞或超过 10 秒无任何输出都会被判为流中断并触发停止;停止时发送 SIGINT 让 FFmpeg 正常收尾,同时关闭弹幕连接、刷写元数据。默认 fMP4 分片输出(-movflags frag_keyframe)意味着即使中途崩溃,前面已经写入的片段通常也能播放。个别播放器对 fMP4 兼容性不好时,可在设置中更换输出格式。
磁盘空间建议
开启"自动删除过小文件"选项,可以让失败/空跑产生的几 KB 残片自动清理,避免历史列表里积累垃圾。长时间挂机录制仍建议配合系统级磁盘监控,毕竟录制文件本身不小。
常见问题速答
- B站想录原画/高画质:需要配置平台 Cookie 鉴权,客户端里有对应的登录流程入口
- 可以同时开客户端和服务端吗:不行,两者共享同一数据目录,一次只跑一个实例
- Linux 能装桌面版吗:官方未提供 Linux 构建,Linux 用户建议走服务端部署
技术实现简述(面向进阶读者)
整个仓库是 pnpm Workspaces + Turborepo 的 monorepo,11 个包分成两层:apps/(electron、http-server、web、cli)和packages/(manager、shared、core 与四个平台插件)。依赖方向很干净:平台插件 → manager → shared,上层应用再组合它们。
- 调度:
@autorecord/manager里的 RecorderManager 维护检查循环(默认 3 并发),每个 Recorder 走idle → recording → stopping-record → idle状态机,属性变更通过 Proxy 拦截触发Updated事件,上层靠RecordStart/RecordStop等事件驱动 UI 和通知 - 录制:fluent-ffmpeg 构建录制命令,按"画质 → 流优先级 → 源优先级"选流,详见 架构文档
- 存储:配置与录制记录用 lowdb(JSON 文件)持久化,路径由
env-paths('live-auto-record')决定(如~/.config/live-auto-record/),每次录制另有独立 JSON 元数据文件 - 前端:Vue 3 + Vuetify + Pinia,通过 SSE 接收实时录制事件;服务端为 Express REST + SSE
- 发布:
@changesets/cli管版本,npm 包与 Electron 客户端各自走 CI 流水线
它适合谁
LiveAutoRecord 比较适合这几类人:
- 追播固定的几位主播,不想每次手动开录、又怕下播丢片尾的用户
- 需要长期离线存档的开发者,想把它部署到家里 NAS 或云服务器上 7×24 挂机
- 要批量处理直播素材的团队,依赖"视频 + 弹幕 JSON + SRT"的产出格式做后期
- 想基于现成引擎做产品的开发者,直接复用
@autorecord/manager与平台插件,省掉逆向各平台直播协议的工作
如果你的需求就是"主播开播就自动录、录完还能看弹幕",装好客户端、贴个直播间链接,剩下的交给它就行。
【免费下载链接】LiveAutoRecord基于 Electron 的多平台直播自动录制软件项目地址: https://gitcode.com/GitHub_Trending/li/LiveAutoRecord
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考