全自动直播录制实战指南:LiveRecorder 多平台录播工具从入门到进阶
2026/8/19 1:32:20 网站建设 项目流程

全自动直播录制实战指南:LiveRecorder 多平台录播工具从入门到进阶

【免费下载链接】LiveRecorder基于Streamlink的全自动直播录制工具,已支持哔哩哔哩、斗鱼、虎牙、抖音、YouTube、Twitch等项目地址: https://gitcode.com/gh_mirrors/li/LiveRecorder

先花 30 秒认识它

LiveRecorder 是一款基于 Streamlink 的全自动直播录制工具,核心功能就一句话:把想录的主播加进配置,它替你 24 小时盯播,开播自动录、下播自动存。它原生支持哔哩哔哩、斗鱼、虎牙、抖音、YouTube、Twitch 等十余个平台,国内外的常见直播间都能覆盖。

为什么值得用?因为"手动录直播"这件事又累又容易错过:直播是实时的,开播时间不固定,你不可能一直守着。LiveRecorder 的思路是把"人肉值守"换成"程序轮询"——每隔几秒问一次平台"主播开播了吗",开播了就拉起 Streamlink 抓取最高画质直播流,再用 FFmpeg 封装成文件,全程无人值守。

一句话总结:它是你的"直播间代守人",你睡觉它盯梢,你上班它录像。

最小可用示例:5 分钟完成第一个直播间录制

开始之前,先确认两件事已经就绪:

  • Python 3.8 及以上(源码运行需要)
  • FFmpeg(负责把录制的流封装成视频文件,需加入系统 PATH)

然后按顺序执行:

git clone https://gitcode.com/gh_mirrors/li/LiveRecorder cd LiveRecorder python3 -m pip install . cp config.sample.json config.json

这一步把项目拉下来、装好依赖,并复制出一份属于自己的配置文件。接着编辑config.json,先只保留一个主播试试水:

{ "user": [ { "platform": "Bilibili", "id": "15152878", "name": "鹿乃", "interval": 10, "format": "mp4" } ] }

启动:

python3 live_recorder.py

如果该主播正在直播,几秒内日志就会出现"正在录制";直播结束后,output目录里会多出一个命名类似[2026.08.18 12.30.00][Bilibili][鹿乃]直播间标题.mp4的文件——这就是你的第一个自动录制成果。

这段配置做了什么?platform声明平台、id是房间号、name用于文件命名、interval是检测间隔(秒)、format是最终封装格式。启动之后它会一直循环检测,不需要任何人工干预。

从入门到进阶的三级跳

第一跳:吃透基础配置

顶层三个字段决定了全局行为:

配置项作用示例
proxy全局代理,http 和 socks 都支持http://127.0.0.1:7890
output全局输出目录,默认outputrecordings/videos
user主播列表,核心所在见下方表格

user数组里每一项代表一个直播间,字段含义如下:

字段必填说明
platform平台英文名,必须首字母大写,如BilibiliYoutube
id房间号或频道 ID,直播间网址里就能找到
name主播名,用于区分录制文件,缺省用id
interval检测间隔,默认 10 秒
format输出格式,如mp4/flv/ts/mkv,缺省保留平台原生格式
output/proxy/headers/cookies单主播覆盖全局的同名配置,优先级更高

第二跳:玩转常用功能

多主播并发监控。user数组天然支持多个主播,程序会为每个主播各开一个检测任务,互不干扰。想同时盯 B站、斗鱼、YouTube,把它们的配置堆进数组即可,一次启动全部托管。

画质与格式控制。录制默认取最高画质;指定format后,录制结束会用 FFmpeg 以codec copy方式封装(只换容器不重新编码,画质零损失),并自动删除原始流文件,避免磁盘被临时文件占满。

输出文件命名。格式固定为[年.月.日 时.分.秒][平台][主播名]直播标题.格式。标题超过 50 字自动截断,文件名中不能使用的字符会被自动转成全角,在 Windows 上也不会报错。

第三跳:进阶玩法

代理分房间设置。每个主播可单独配置proxy(优先级高于全局),非常适合"看 B站直连、看 YouTube 走代理"的混合场景。

Cookie 解锁高画质。哔哩哔哩未登录用户只能看较低清晰度,填上登录后的SESSDATACookie 才能获取原画直播流:

"cookies": "SESSDATA=你的会话值; bili_jct=xxx"

请求头兜底。个别平台会校验Referer等请求头,用headers字段补充即可。日志会按天写入logs目录并保留 3 天,方便事后回溯。

完整场景演示:同时盯住两位不同平台的主播

假设你要录两位主播:B站的鹿乃和 YouTube 的斑比鹿乃,希望 B站存成 mp4、YouTube 走代理。配置如下:

{ "proxy": "http://127.0.0.1:7890", "output": "recordings", "user": [ { "platform": "Bilibili", "id": "15152878", "name": "鹿乃", "format": "mp4", "cookies": "SESSDATA=xxx" }, { "platform": "Youtube", "id": "UCShXNLMXCfstmWKH_q86B8w", "name": "斑比鹿乃", "interval": 15 } ] }

启动后,日志会依次出现两类信息:先是[Bilibili][鹿乃]正在检测直播状态这类轮询记录;一旦开播,就会看到获取到直播流链接正在录制→ 下播后开始ffmpeg封装停止录制的完整链路。

整个生命周期里,程序先调用平台官方 API 判断直播状态,再用 Streamlink 抓取best(最高画质)流写入文件,最后按你的format封装。两位主播互不干扰:YouTube 那路走了全局代理,B站那路用 Cookie 解锁了原画。

最终recordings目录下会躺着两个文件:[时间][Bilibili][鹿乃]xxx.mp4[时间][Youtube][斑比鹿乃]xxx.ts。一个配置文件、一行启动命令,两个平台的直播就都被托管了。

高频踩坑清单:新手最容易踩的 5 个坑

1. 配置文件没生效。修改config.sample.json后必须重命名为config.json且与程序同目录,程序启动时只认这个名字。同时 JSON 是严格格式,多一个逗号都会直接报错,改完建议先用在线 JSON 校验工具过一遍。

2. B站短号不等于房间号。网页地址栏显示的多是短号而非真实房间号。用https://api.live.bilibili.com/xlive/web-room/v2/index/getRoomPlayInfo?room_id=短号请求一次,返回数据里的room_id才是要填的数字。

3. B站录出来只有低清。不加 Cookie 默认拿不到原画。在配置里补上SESSDATA(登录 B站后从浏览器 Cookie 中复制)即可解决。

4. TwitCasting 频繁报"协议错误"。该平台要求 10 秒内必须有请求,否则会断开 Keep-Alive 长连接。给它单独设置interval: 8(小于 10)就能稳定运行。

5. 录制中断或文件损坏。先确认 FFmpeg 已安装且全局可用;网络波动会导致录流超时,日志会给出警告并自动重试。还有两个项目已知特性提前告知:斗鱼偶发解析错误会自动重试录制;YouTube 单频道多开直播间时可能频繁中断,这是暂时无法修复的已知 bug。

横向对比:LiveRecorder 与常见替代方案

方案自动化程度多平台覆盖上手成本适合谁
手动录屏软件低,需人工值守通用但费时偶尔录一场的轻度用户
直播平台官方回放平台说了算单平台,受版权限制只看不回存的人
Streamlink 命令行半自动,要自己写检测逻辑取决于插件喜欢 DIY 的脚本玩家
LiveRecorder全自动轮询+录制+封装十余个平台开箱即用低,填配置即可想省心托管录制的人

LiveRecorder 的取舍很清晰:它把"开播检测、流抓取、封装清理"打包成一个黑盒,代价是你只能使用它已适配的平台。好在主流平台基本齐全,且项目开源,缺平台可以提交 PR 共建。

联动与延伸:拼出无人值守的完整方案

单跑脚本已经够用,再配合系统工具就是一套完整的自动化录制体系:

后台常驻运行。nohup让脚本在 SSH 断开后继续运行,日志重定向到文件:

nohup python3 live_recorder.py > recorder.log 2>&1 &

定时兜底重启。每天凌晨用 crontab 重启一次进程,防止长时间运行后状态异常:

0 3 * * * cd /path/to/LiveRecorder && pkill -f live_recorder.py && sleep 10 && nohup python3 live_recorder.py > recorder.log 2>&1 &

异常告警。定时扫描日志中的错误关键词并发送通知,第一时间发现问题:

grep -E "(错误|失败|ERROR|FAILED)" recorder.log | mail -s "直播录制异常" you@example.com

磁盘清理。录制文件很占空间,配合find定期清理 30 天前的旧文件,就能形成完整的存储闭环。

下一步,让直播自动进你的硬盘

回看这套方案:一个config.json、一条启动命令,LiveRecorder 就替你完成了"盯播、录制、封装、清理"的全流程,还覆盖了国内外十余个主流平台。对普通观众,它让你不再错过任何一场想看的直播;对内容创作者,它是现成的素材采集管道。

接下来的行动建议很简单:

  1. 先用config.sample.json跑通一个你最常看的平台;
  2. 再逐步加主播、配 Cookie、上代理,体验多平台并发录制;
  3. 最后按"联动与延伸"一节把它部署到云服务器,享受真正的无人值守。

源码与完整配置说明都在项目的README.md里,遇到问题先看"已知 bug"和logs日志目录,也欢迎为它贡献更多平台支持。现在就去配置第一个直播间吧——明天早上醒来,录制好的视频已经在等你。

【免费下载链接】LiveRecorder基于Streamlink的全自动直播录制工具,已支持哔哩哔哩、斗鱼、虎牙、抖音、YouTube、Twitch等项目地址: https://gitcode.com/gh_mirrors/li/LiveRecorder

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

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

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

立即咨询