LiveRecorder

LiveRecorder

多平台自动化直播录制工具

LiveRecorder是一款支持多平台的自动化直播录制工具。基于Streamlink开发,它能够录制哔哩哔哩、斗鱼、虎牙、YouTube、Twitch等十多个平台的直播内容。通过轮询官方API实现开播检测,LiveRecorder以简洁的代码实现了丰富的功能,包括代理配置、自定义输出目录和格式、HTTP标头和Cookie设置等。该工具适用于Windows、Mac和Linux平台,并提供详细的配置说明,支持多种输出格式,是直播内容自动化保存的理想选择。

直播录制多平台支持Streamlink无人值守API轮询Github开源项目
<img src="https://socialify.git.ci/auqhjjqdo/LiveRecorder/image?font=Inter&forks=1&issues=1&language=1&name=1&owner=1&pattern=Circuit%20Board&pulls=1&stargazers=1&theme=Auto" alt="LiveRecorder"/>

简介

这是一款无人值守的直播录制脚本,基于强大的Streamlink实现多平台直播源录制。通过挖掘直播平台官方API,以轮询方式实现直播开播检测,致力于用最少的代码实现最多的功能。

已支持平台

  • 哔哩哔哩
  • 斗鱼
  • 虎牙
  • 抖音
  • YouTube
  • Twitch
  • NicoNico
  • TwitCasting
  • Afreeca
  • Pandalive
  • Bigolive
  • Pixiv Sketch
  • Chaturbate
  • 欢迎PR支持更多平台

说明

  • 不建议同时录制过多直播,可能会出现不可预见的问题
  • 部分直播平台(如Pandalive)存在风控,请谨慎使用
  • 因个人精力有限,小众直播平台的支持可能存在问题,欢迎PR新增直播平台支持
  • 本脚本仅用于无人值守录制,不考虑添加UI界面和录制拆分等可通过后期软件实现的功能

已知bug

  • YouTube在录制单个频道多开直播间时会出现频繁中断,暂时无法修复
  • 斗鱼直播因使用js引擎可能出现偶发的解析错误,会自动重试录制
  • Bigolive存在部分用户录制花屏,原因未知

使用

安装FFmpeg

FFmpeg官方下载页面

根据你的运行平台安装对应版本,并添加环境变量确保全局调用

下载

当前支持Windows、Mac和Linux平台(amd64架构),请前往Release下载对应平台的可执行程序

Release下载页面

下载解压后修改配置,直接运行二进制文件即可

源码运行

在不支持的平台运行时可使用源码运行,安装好Python后在命令行输入以下命令即可

# 下载源码(没有git可以直接从release下载Source code) git clone https://github.com/auqhjjqdo/LiveRecorder.git cd LiveRecorder # 安装依赖 python3 -m pip install . # 源码运行 python3 live_recorder.py

配置

配置文件存储于config.json,该文件位于可执行程序相同目录

修改示例配置文件config.sample.json后务必重命名为config.json

文件内容要求严格按照json语法,请前往在线json格式化网站校验后再修改

代理配置

proxy的值为代理地址,支持http和socks代理,格式为protocol://[user:password@]ip:port

例如http://127.0.0.1:7890socks5://admin:passwd@127.0.0.1:1080

建议优先使用http代理,目前socks5代理存在一定兼容性问题

无需代理时去除引号填写null或删除该字段即可

输出目录配置

output字段为录制文件输出后保存的目录路径,非必填字段(请勿填写空字符串),默认输出到运行目录的output文件夹

路径分隔符请使用/,防止出现转义导致的不兼容问题

支持相对路径和绝对路径,例如output/video/tmp/outputD:/output

直播录制配置

按照示例修改user列表,注意逗号、引号和缩进

字段含义可填内容是否必填备注
platform直播平台直播平台的英文名或拼音必填必须为首字母大写
id直播用户id直播平台的房间号或用户名必填参考config文件示例格式<br/>一般在直播网址即可找到
name自定义主播名任意字符非必填用于录制文件区分<br/>未填写时默认使用id
interval检测间隔任意整数或小数非必填默认检测间隔为10秒
format输出格式例如tsflvmp4mkv<br/>详见FFmpeg官方文档非必填默认使用直播平台的直播流输出格式
output输出目录输出目录配置相同非必填优先级高于输出目录配置
proxy代理代理配置相同非必填优先级高于代理配置
headersHTTP 标头参考官方文档非必填可用于部分需请求头验证的网站
cookiesHTTP Cookiekey=value<br/>多个cookie使用;分隔非必填可用于录制需登录观看的直播

注意事项

哔哩哔哩的房间号

部分主播的B站房间号在使用网页打开时地址栏默认显示的是短号,并不是真实的房间号。如需获取真实房间号,可以打开以下链接:

https://api.live.bilibili.com/xlive/web-room/v2/index/getRoomPlayInfo?room_id=短号

返回的数据中room_id后的数字即为真实房间号。

哔哩哔哩的清晰度

由于哔哩哔哩的限制,未登录用户无法观看较高画质的直播。因此需要在配置文件中添加cookies字段(仅需SESSDATA)以获取原画清晰度的直播流。

斗鱼的房间号

斗鱼直播与哔哩哔哩类似,部分直播间的房间号显示的是短号。获取真实房间号可打开F12开发者工具,在控制台输入room_id,返回的数字即为真实房间号。

YouTube的频道ID

YouTube的频道ID通常以UC开头,由一串字符组成。由于YouTube允许自定义标识名,打开YouTube频道时网址会优先显示标识名而非频道ID。

获取YouTube的频道ID可以使用以下网站:

https://seostudio.tools/zh/youtube-channel-id

https://ytgear.com/youtube-channel-id

NicoNico的用户ID和频道ID

NicoNico的直播分为用户直播和频道直播,其ID分别以coch开头,后跟一串数字。但NicoNico的直播间通常以lv开头的视频ID表示。获取用户ID或频道ID可在F12开发者工具的控制台输入NicoGoogleTagManagerDataLayer[0].content,在返回的数据中community_idchannel_id的值即为对应的用户ID或频道ID。

注意,部分频道使用频道ID时可能无法获取最新直播,此问题暂时无解,请使用lv视频ID代替。

TwitCasting的检测间隔

由于直播检测请求使用了HTTP Keep-Alive长连接以防止频繁建立TCP通道导致性能下降,但TwitCasting的服务器要求10秒内无请求则关闭连接。因此,在配置文件中添加TwitCasting的直播时,建议加入interval字段并将检测间隔设为小于10秒,以避免频繁出现请求协议错误。

输出文件

输出文件会在录制结束后使用ffmpeg封装为配置文件自定义的输出格式。音视频编码采用直播平台直播流的默认设置(通常视频编码为H.264,音频编码为AAC)。录制清晰度为最高画质。封装结束后会自动删除原始录制文件。如果输出格式为空或未填写,则不进行封装。

输出文件名的命名格式为[年.月.日 时.分.秒][平台][主播名]直播标题.格式,日期时区采用系统默认时区。

编辑推荐精选

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

下拉加载更多