☰
LiveAutoRecord:四个直播平台自动录制,不必再熬夜等开播
2026/10/25 1:48:43 网站建设 项目流程

LiveAutoRecord:四个直播平台自动录制,不必再熬夜等开播

【免费下载链接】LiveAutoRecord基于 Electron 的多平台直播自动录制软件项目地址: https://gitcode.com/GitHub_Trending/li/LiveAutoRecord

LiveAutoRecord 是一个开源的多平台直播自动录制工具:把频道加进去之后,它轮询检测开播、自动启动 FFmpeg 录制视频与弹幕,录完还能基于弹幕生成 SRT 字幕。本文按"跑起来 → 看它怎么录 → 文件在哪 → 出错怎么办 → 怎么扩展"的顺序过一遍。

🎬 三步装好,一个直播间一条命令

它有三种形态,共用同一份数据目录,选一种跑就行:

  • 桌面客户端:Electron 打包,支持 Windows 与 macOS,FFmpeg 内置不用单独装;
  • 服务端部署:源码编译后起 8085 端口的服务,浏览器界面另开终端跑pnpm -F @autorecord/web preview访问;
  • CLI 命令lar:面向脚本与无图形界面环境。

环境要求 Node 18 以上和 pnpm 10,源码方式安装三步:

git clone https://gitcode.com/GitHub_Trending/li/LiveAutoRecord cd LiveAutoRecord && pnpm install pnpm build && pnpm -F @autorecord/http-server start

启动后进"添加频道",把直播间 URL 直接粘进去,它会自行识别平台并解析出频道号;手动填频道 ID 也可以。同一页还能设画质(lowest 到 highest 五档)、视频流与 CDN 源优先级,勾上"禁用自动录制"则只手动触发。

接下来不用管了——频道进队列后,检测循环会自己接管。

🔴 主播开播那一刻,程序在做什么

检测由核心包调度:3 个并发检查线程从队列逐个取频道,问各平台接口这个房间是否在线,一轮跑完等配置间隔(默认 1 秒)再开下一轮;每个频道的检查方法套了防重入封装,同一频道不会并发录两次。

确认开播后,录制分三步走:先按"画质设置 → 流优先级 → CDN 源优先级"三级顺序选定流地址;再调 FFmpeg 落盘,流拷贝模式、不重新编码,CPU 占用低,输出默认是 fMP4,按关键帧切段、每段约 60 秒,录到一半也能打开文件看画面;同时弹幕客户端连上平台弹幕协议,弹幕与礼物经节流批量写入元数据文件。

接下来去录制历史页看成果即可。

📁 录像、弹幕、字幕分别存在哪

数据目录分配置和数据两部分,数据库是 lowdb 的 JSON 文件(data.json),存录制任务和录制历史两张表。

每次录制落两个文件:视频本体,加一个同名 JSON 元数据,里面记标题、起止时间戳、弹幕与礼物消息。文件名由模板生成,默认按平台、主播、时间分层,模板变量包含{platform}、{owner}、{title}和{year}到{sec}的时间字段,想怎么归档就怎么拼。

历史页列出每场录制的起止时间、时长与路径,可直接播放,也可基于弹幕一键生成 SRT 字幕;在设置里打开"录制结束自动生成 SRT"后则无需手动点。

🛟 录到一半断了,录像废不废

录制中有三个看守:FFmpeg 超过 10 秒没有任何新输出,判定卡死;帧数连续 10 次不变,判定无效流;遇到 HTTP 404 直接判无效。任一情况都会停掉本次录制,状态回到空闲,等下一轮检测重试,不会挂着假任务。

fMP4 按关键帧分段增量写入,即使进程中途被强杀,已写入的分段仍可播放,整片不容易损坏。多平台同时录也不会互相拖累——每个频道是独立任务,由 3 个线程轮流处理,某个频道超时失败影响不到别人。

若个别设备对 fMP4 播放不友好,到全局设置里换 FFmpeg 输出参数为普通 mp4 即可,下次录制生效;机制细节可看系统架构文档。

⚙️ 归档方式、通知、字幕开关在哪改

全局设置页(主界面右上角"录制设置")集中了几个高频选项:

  • 保存路径模板:把默认的"平台/主播/时间"层级改成任意维度;
  • 开播通知:开播瞬间发系统通知,文案支持变量替换,通知按频道节流,防止开播下播抖动时反复弹;
  • 录制结束自动生成 SRT;
  • 平台鉴权:部分平台对未登录用户只放出低画质,在设置页配置 B站 Cookie 即可,也支持一键浏览器登录;
  • 关闭时进入托盘:关窗后录制循环继续在后台跑。

🔌 接到自己的软件里:插件、REST、CLI

每个平台是一个独立 npm 包,实现统一的 RecorderProvider 接口:URL 匹配、频道信息解析、录制器创建、弹幕收集。核心调度包@autorecord/manager负责检查循环、FFmpeg 集成与路径模板渲染,新平台只需实现接口再注册进去,完整流程与示例代码见插件开发指南。

想在自己程序里直接调录制能力,引用同一套包即可:

import { createRecorderManager } from '@autorecord/manager' import { provider } from '@autorecord/douyu-recorder' const manager = createRecorderManager({ providers: [provider] }) manager.startCheckLoop()

全部 REST 端点列在 HTTP API 文档(默认端口 8085);CLI 所有命令支持--json结构化输出,lar watch的 JSON 模式按行输出 NDJSON 事件流,方便脚本与 AI Agent 消费,命令细节见 CLI 使用指南。

注意:三种形态共用同一数据目录,同一时间只跑一种;lar watch启动前会检测 8085 端口,服务端在跑时会直接拒绝。

LiveAutoRecord 把"盯播、录制、留档、集成"这条链路打包好了:日常用桌面客户端,长期挂机选服务端,写程序接 NPM 包。问题反馈和功能建议到项目 issue 提交,更多细节参考 docs/ 目录。

【免费下载链接】LiveAutoRecord基于 Electron 的多平台直播自动录制软件项目地址: https://gitcode.com/GitHub_Trending/li/LiveAutoRecord

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询