go-oliveolive:Go语言直播录制工具,自动蹲守主播上下播
go-olive/olive:Go语言直播录制工具,自动蹲守主播上下播
直播内容回看或做二次剪辑,最头疼的是时间问题。主播开播时间不固定,下播时间也不固定,手动去盯着录太消耗精力。go-olive/olive 要解决的就是这个问题:自动监听直播状态,自动启动和停止录制,全程无需人工介入。
olive 底层是一个 Go 语言写的监控引擎。把直播间链接配置进去,引擎会按设定的间隔轮询主播在线状态。一旦检测到主播上线,立刻拉流录制。检测到下播,自动停止录制并保存文件到本地。整个过程不需要打开网页,不需要守在电脑前。如果同时关注多位主播,把链接都加进去,引擎批量监听。对于想系统性地录制直播内容的用户,这套流程能省下大量重复劳动。

安装与使用
安装有三条路径可选。懂 Go 的直接 go install 从源码编译,一行命令。不想折腾编译的,去 releases 页面下载预编译好的二进制文件。习惯容器化部署的,docker pull luxcgo/olive 拉官方镜像即可。
启动录制也直接:
olive run -u https://www.huya.com/518512
把直播间地址传进去,olive 就开始工作了。
除了核心的 run 命令,项目还提供了几个配套工具。admin 子命令管理数据库里的录制历史。biliup 用来生成 B站的登录 cookie,录制 B站直播需要先走这一步。tv 子命令可以单独获取某个直播间的推流地址,踩坑调试很方便。server 子命令启动一个 API 服务,方便把 olive 集成到其他系统里。
支持的平台与扩展性
从示例 URL 看,虎牙是明确支持的。biliup 命令的存在说明 B站也在支持范围内。olive 的架构通过 engine 接口封装了各平台的差异化逻辑,不同平台实现对应的 engine 即可接入。这种设计方便社区贡献新的平台支持,不需要改动核心代码。

开源引擎与商业产品
项目 README 还提到了一个关联产品 Olived,是开发者在同一套引擎基础上做的桌面应用。命令行的操作窗口有限,Olived 提供图形界面和更完整的录制管理功能,属于 olive 的商业化延伸。
这种"开源核心加商业应用"的模式在独立开发者中越来越常见。核心引擎保持开源,吸引社区反馈和贡献;商业产品提供更好的用户体验,维持项目的持续投入。两者不失为一种可持续的搭配。
适用场景与注意事项
如果你有固定跟踪的主播,需要回放素材或做二次创作,olive 放在服务器上跑比较合适,作为一个自动采集环节。Apache 2.0 协议,商用场景也能直接用,有开发能力的企业可以考虑基于它做定制化改造。
不过有几个点值得留意。olive 目前 Star 数在一千左右,属于个人开发者的早期项目,更新频率不算高。文档也比较简略,没有列出完整的平台兼容清单,也没有提供详细的配置项说明和运行示例。如果要在生产环境依赖它,建议先充分测试稳定性和兼容性。
整体评价:olive 解决的问题具体且实用,让直播录制不再依赖人工盯守。思路清晰,实现直接,代码量适中。有 Go 基础的开发者能快速阅读源码,也适合作为学习 Go 项目工程结构的参考。
。有 Go 基础的开发者能快速阅读源码,也适合作为学习 Go 项目工程结构的参考。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)