Live Chat,直播我直播给朋友看

• 3 分钟阅读 • 工具

我搭了一个给朋友看的游戏直播间

平时玩游戏,偶尔想叫几个朋友一起看。用大直播平台当然可以,但广告多、延迟不稳定,而且路人也能进来,总觉得不够“私人”。

所以我干脆自己搭了一个小直播间:自己推流,朋友打开网页就能看,旁边还能实时聊天

这套东西是什么

整个方案由两部分组成:

简单说就是:

OBS 推流
   │
   ▼
SRS 直播服务(自行部署)
   │
   ▼
朋友浏览器播放画面 + LiveChat 聊天

LiveChat 本身是一个独立的 Node.js 项目,不绑定具体的直播服务,通过接口和 SRS 对接。

为什么这样搭

选择自己搭,主要是为了这几个体验:

LiveChat 的功能

LiveChat 是我这个直播间里的“聊天 + 管理”部分:

技术架构

浏览器
  │
  │  HTTPS / WSS
  ▼
Nginx / Caddy 反向代理
  │
  ▼
LiveChat Web 服务(Node.js + Express + ws)
  │
  ▼
MariaDB / MySQL(历史消息、禁言列表)

使用体验

我自己用的时候大概是这样的:

  1. 打开 OBS,填好推流地址和 token,开始推流;
  2. 把直播间网址发给朋友;
  3. 朋友打开网页,自动开始播放,旁边就是聊天区;
  4. 我在后台登录管理员,可以随时管理消息。

整个过程没有复杂的客户端,朋友只需要一个浏览器。

部署

LiveChat 面向通用 Linux 环境,使用 Docker 部署:

docker compose up -d --build

然后用 Nginx 或 Caddy 反代到 127.0.0.1:3010

SSL 证书推荐用 Certbot 自动申请(当然我用的1panel😁):

certbot --nginx -d live.example.com

如果用 Caddy,连证书都不用管:

live.example.com {
    reverse_proxy 127.0.0.1:3010
}

SRS 直播服务由用户自行部署,LiveChat 只负责聊天、管理和推流鉴权对接,两者互相独立。

最后

这个项目不算大,但很实用。它让我拥有了一个只属于自己和朋友的游戏直播间:低延迟、有聊天、无广告、不公开。

如果你也喜欢自己折腾,想搭一个给朋友看的私人直播间,可以参考这个思路。

阅读进度 0%