User_芊芊君子头像
关注
直播总是错过开头?用 Bililive-go 在 NAS 后台自动录制并远程管理封面图

直播总是错过开头?用 Bililive-go 在 NAS 后台自动录制并远程管理

前言

我以前保存直播,最容易翻车的不是不会录,而是总得记着“什么时候开播”。人只要离开电脑一会儿,开头可能就错过;直播时间一长,又得让电脑一直开着,录屏软件还不能中途退出。真正开始同时关注几个直播间以后,这种手动方式就更麻烦了:不同平台轮流开播,谁先开始、谁先结束,全靠自己盯着。对我来说,直播录制这件事如果还需要一直守着,就很难算真正省事。而且只要录制任务开始常驻,硬盘空间和远程管理安全就必须一起考虑,不能只看“有没有录下来”。

这次我把 Bililive-go 放到飞牛 NAS 里长期运行,让它持续监控直播间状态,检测到开播后自动开始录制,下播后自动停止并把文件留在 NAS 指定目录。实际流程里不仅添加了多个直播间,还能直接查看录像文件;其中一场接近 4 小时,最终生成了超过 20GB 的视频,也让我第一次直观看到“自动录制省心”和“长期录像很吃硬盘”是同一件事的两面。最后再用 cpolar 把 Web 管理页面提供到公网,固定二级子域名并加上 HTTP Auth,人在外面也能查看状态、临时加直播间,但不会把公网入口和录制本身混在一起。

1

1. Bililive-go 真正省掉的是“守着开播”

Bililive-go 是一个使用 Go 开发的开源直播录制工具。

项目地址:

https://github.com/bililive-go/bililive-go/

它虽然名字里带有 “Bili”,但并不只面向哔哩哔哩,功能说明里还提到了抖音、虎牙等平台;具体兼容范围仍然要以对应平台和项目支持情况为准。

它的工作方式和普通录屏不太一样。

添加直播间地址以后,程序会持续检查直播状态:

未开播 → 后台等待 → 检测到开播 → 自动录制 → 下播 → 自动停止并保存。

image-20260723155926857

这也是我最看重它的地方。

不用提前打开直播页面,也不用把电脑桌面一直留给录屏软件。对于同时关注多个直播间的人来说,真正省下来的不是点一下“开始录制”,而是不用一直记着谁什么时候开播。

2. 这次部署环境:RK3566 + ARM 飞牛 NAS

这次使用的是飞牛 NAS,通过 Docker 部署 Bililive-go。

设备是 RK3566 小主机,刷入 ARM 版飞牛系统,内存约 4GB,内置 eMMC 约 8GB

image-20260708172008640

虽然 eMMC 空间不大,但设备可以接 SATA 硬盘,把真正占空间的录像留给大容量硬盘。

Bililive-go 的 Docker 镜像提供 linux/arm64 架构版本,所以这套环境可以继续使用。

如果还需要先完成 RK3566 安装 ARM 飞牛 NAS,原步骤保留了这篇教程:

https://www.cpolar.com/blog/tutorial-on-installing-arm-version-of-feibo-nas-system-on-rk3566-device-even-beginners-can-easily-complete-it

image-20260723161438885

准备好飞牛 NAS、Docker 和录像目录以后,再进入真正的部署。

3. 在飞牛 Docker 中下载 Bililive-go 镜像

先打开飞牛 NAS 首页,进入 Docker。

确认 Docker 服务已经开启。

image-20260708180310377

然后进入:

镜像仓库

搜索:

Bililive-go

选择:

chigusa/bililive-go

镜像标签保持:

latest

并下载。

image-20260723162748433

下载完成以后切到:

本地镜像

点击启动。

image-20260723164754989

4. 创建容器:先把自动启动、端口和录像目录配好

进入容器创建页面以后,先勾选:

开机自动启动

image-20260723164829479

这一步我会保留。

因为自动录直播最怕的就是 NAS 重启以后容器没跟着起来,结果人在外面还以为它一直在后台监控。

端口设置里:

  • 左侧是飞牛 NAS 本地端口;
  • 右侧是容器内部端口;
  • 容器端口保持 8080

如果宿主机的 8080 已经被占用,左侧可以改成:

  • 8081
  • 8082
  • 或其他空闲端口。

接着配置存储目录。

在【存储位置】里选择或创建录像目录,容器路径保持:

/srv/bililive

权限保持:

读写

image-20260723165531791

继续下一步。

image-20260723165655893

最后勾选:

创建后启动

并创建容器。

image-20260723165852969

到这里,真正需要记住的是两件事:

Web 端口决定后面怎么打开管理页面,/srv/bililive 决定录像最终写到哪里。

5. 先确认 Bililive-go Web 页面能打开

容器启动以后,进入左侧:

容器

找到:

bililive-go

把鼠标移到访问链接图标上,再点击对应本地端口。

image-20260723170256072

浏览器能正常打开 Bililive-go 页面。

image-20260723170432426

到这里,我只会判断:

容器已经启动,Web 管理页面能访问。

真正的自动录制还要等直播间加进去以后再验证。

6. 添加第一个直播间

进入:

监控列表

点击:

添加房间

把需要录制的直播间地址,也就是浏览器地址栏里的链接,填进去。

然后点击:

ok

image-20260723172410999

添加成功以后,列表会显示:

  • 主播名称;
  • 直播间名称;
  • 所属平台;
  • 当前运行状态。

image-20260723172433125

这时候 Bililive-go 才真正开始“盯”这个直播间。

7. 录下来的文件可以直接在页面里查看

点击:

文件

进入详情页面。

image-20260723172612327

这里能看到录制文件名称和大小。

点击文件以后,还可以直接播放。

image-20260723172652256

这一点我很喜欢。

录制软件最怕只管“录”,但后面找文件又得重新钻目录。现在监控状态和录像文件至少可以在同一个 Web 页面里继续查看。

8. 多个直播间一起监控,才是自动录制真正省事的地方

Bililive-go 不只能加一个直播间。

可以继续添加多个录制任务,而且这些直播间不需要来自同一个平台。

image-20260723173001755

每个任务都会分别检测开播状态。

这样真正省掉的就是:

不用自己开多个网页,也不用分别等着每个主播开播。

因为前面已经把:

/srv/bililive

映射到了 NAS 的录像目录,所以保存下来的文件也能直接从飞牛文件管理器查看。

image-20260723173634190

这一层形成的是:

直播间监控 → 自动录制 → NAS 本地文件。

9. 开播自动录、下播自动停,到底有没有真的发生?

直播间没有开播时,Bililive-go 会继续后台监控。

检测到开播以后,任务状态会自动切换到录制中。

image-20260723173817844

这次还保留了一段之前真正录下来的结果。

一场直播接近:

4 个小时

最终文件超过:

20GB

image-20260723174049606

从开播、持续录制到下播保存,整个过程由 Bililive-go 自动完成。

这一段对我来说比“支持自动录制”几个字更重要,因为它同时说明了两件事:

第一,自动启停确实跑起来了。

第二,直播录像真的很吃存储。

如果画质高、时间长,再同时录多个直播间,硬盘增长会非常快。

所以如果准备长期使用,我会优先把录像目录放在大容量硬盘里,并定期整理不再需要的文件。

10. 自动录制已经在 NAS 后台跑了,为什么还要公网访问?

Bililive-go 部署在 NAS 上以后,人离开家并不会让录制任务停止。

真正的问题是:

人在外面时,如果临时想:

  • 添加一个新的直播间;
  • 看当前是不是正在录;
  • 确认某场直播有没有保存下来;
  • 打开录像文件管理页面;

局域网地址就无法直接使用。

这里再加入 cpolar。

cpolar

cpolar 在这套方案里只负责:

把 Bililive-go 的 Web 管理页面提供到公网。

录制检测、直播流获取、录像开始与停止、文件保存,仍然是 Bililive-go 自己负责。

11. 在飞牛 NAS 上安装 cpolar

先进入飞牛 NAS:

系统设置 → SSH

启用 SSH。

image-20260505174623872

Windows 电脑按:

Win + X

打开管理员终端 / PowerShell。

image-20260505174939658

连接飞牛 NAS:

ssh [email protected]

111

然后切换到 root:

sudo -i

image-20260505180939492

安装 cpolar:

sudo curl https://get.cpolar.sh | sh

image-20260509152034028

安装完成以后查看服务状态:

sudo systemctl status cpolar

image-20260509152054654

如果看到:

active (running)

说明服务已经启动。

接着浏览器访问:

http://192.168.50.212:9200

image-20260509152129581

进入 cpolar Web UI。

12. 先给 Bililive-go 创建随机公网入口

进入:

隧道管理 → 隧道列表

默认页面里会看到:

  • ssh22 / TCP
  • website8080 / HTTP

image-20260509152805723

这里编辑 website,也可以新建一条。

这次配置为:

  • 协议:http
  • 本地地址:8080
  • 地区:China VIP

image-20260724100547446

这里需要留意前面的端口设置。

如果创建 Bililive-go 容器时因为冲突,把飞牛 NAS 本地端口改成了 80818082,那公网隧道也应该跟着指向实际使用的宿主机端口;这套演示后面继续使用的是 8080

更新以后进入:

状态 → 在线隧道列表

可以看到同一隧道生成 HTTP 和 HTTPS 公网地址。

image-20260724100955324

这里用 HTTPS 测试。

image-20260724101021449

Bililive-go 管理页面可以正常打开。

这一层真正验证的是:

Bililive-go Web → 飞牛 NAS 本地端口 → cpolar → 外部浏览器。

13. 长期管理再配置固定二级子域名

随机地址适合先把公网链路跑通。

如果以后经常在外面打开 Bililive-go,我更希望访问入口固定下来。

进入 cpolar 预留页面:

https://dashboard.cpolar.com/reserved

选择:

保留二级子域名

image-20260724103229199按照下面信息填写:

这里填写:

  • 地区:和前面隧道保持一致;
  • 名称:例如 bililive
  • 描述:方便自己辨识即可。

二级子域名具有唯一性,以账号实际保留成功的名称为准。

保留以后,回到:

隧道管理 → 隧道列表

编辑:

bililive

隧道。

image-20260724103414608

把域名类型修改成:

二级子域名

再填入前面保留成功的名称。

image-20260724112849725

更新以后进入在线隧道列表。

image-20260724112928152

此时 bililive 隧道已经变成固定公网地址。

复制地址继续访问。

image-20260724112959187

管理页面可以正常打开。

到这里,远程入口已经不需要每次重新找随机地址。

14. 公网入口固定以后,再补 HTTP Auth

Bililive-go 的 Web 页面不是单纯的展示页。

它可以:

  • 添加直播间;
  • 查看当前录制状态;
  • 管理录像文件。

所以一旦长期放到公网,我不会只满足于“地址固定”。

还要考虑:

拿到地址的人是不是都能直接打开?

这里继续给 cpolar 隧道加 HTTP Auth。

进入:

隧道管理 → 隧道列表

找到:

bililive

并编辑。

image-20260724113443409

展开:

高级 → HTTP Auth

按下面格式填写:

用户名:密码

这里要分清楚:

HTTP Auth 是 cpolar 公网隧道的访问认证,不是 Bililive-go 自己的用户系统。

账号和密码最好单独设置,并优先使用 HTTPS 地址。

配置完成以后更新。

image-20260724113628043

重新打开 Bililive-go HTTPS 公网地址。

浏览器会先弹出身份验证窗口。

image-20260724113713711

通过验证以后,才继续进入管理页面。

这样远程访问至少多了一层基础保护。

总结

Bililive-go 真正让我觉得省事的地方,不是“能录直播”,而是把最容易忘掉的两个动作自动化了:

开播自动开始,下播自动停止。

这次真正跑通的链路是:

RK3566 → ARM 飞牛 NAS → Docker → chigusa/bililive-go:latest → 容器 8080/srv/bililive → 添加直播间 → 多任务监控 → 自动开始 / 自动停止 → NAS 保存录像 → 近 4 小时 / 20GB+ 实际录像 → cpolar → 随机公网 → 固定二级子域名 bililive → HTTP Auth。

几个边界也需要一直分清:

  • Bililive-go 负责直播状态检测、自动录制和文件保存;
  • 这次部署使用 ARM64 飞牛 NAS,设备约 4GB 内存、8GB eMMC,并通过 SATA 硬盘承担录像存储;
  • 容器内部端口保持 8080,宿主机端口如果改成 80818082,公网映射也要对应实际端口;
  • 实际录制接近 4 小时就生成了超过 20GB 文件,长期多任务录制时存储容量必须提前考虑;
  • cpolar 只负责 Bililive-go Web 管理页面的公网入口,不参与直播录制;
  • 固定二级子域名解决的是长期访问地址变化问题;
  • HTTP Auth 是公网入口保护,不等于 Bililive-go 自身增加了用户系统。

我喜欢这种部署的原因很简单:真正需要长期运行的任务交给 NAS,自己只在需要的时候打开管理页面。它不会让我少看直播,但至少不用为了“怕错过开头”一直守着直播间。

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/user340/article/details/166346897

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--