用Owncast构建直播服务器

什么是 Owncast ?

Owncast 是一个开源的自托管解决方案,具有高度可定制性和灵活性,可以在几分钟内部署在本地或云端,是独立于任何供应商或服务提供商的广播视频、课程、演示文稿、游戏、谈话或任何其他内容的解决方案。

Owncast 和老苏在 2020 年前写过 LiveGo 是同类应用,都可用于直播服务,后面的介绍中,老苏还是采用了 OBS 来推流,不熟悉的可以去看看,了解 OBS 的安装和设置

文章传送门:国庆在家玩直播

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 owncast ,选择第一个 gabekangas/owncast,版本选择 latest

本文写作时, latest 版本对应为 0.0.13

docker 文件夹中,创建一个新文件夹 owncast,并在其中建一个子文件夹 data

文件夹 装载路径 说明
/docker/owncast/data /app/data 存放设置、数据库等

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
1935 1935
1936 8080

默认没有暴露端口

需要自己点 + 号添加

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 新建文件夹 owncast 和子文件夹
mkdir -p /volume2/docker/owncast/data

# 进入 owncast 目录
cd /volume2/docker/owncast

# 运行容器
docker run -d \
--restart unless-stopped \
--name owncast \
-p 1935:1935 \
-p 1936:8080 \
-v $(pwd)/data:/app/data \
gabekangas/owncast:0.0.13

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: "3.4"

services:
owncast:
image: gabekangas/owncast:0.0.13
container_name: "owncast"
restart: unless-stopped
security_opt:
- no-new-privileges:true
ports:
- "1935:1935"
- "1936:8080"
volumes:
- "./data:/app/data"

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 owncast 和子文件夹
mkdir -p /volume2/docker/owncast/data

# 进入 owncast 目录
cd /volume2/docker/owncast

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:1936 就能看到主界面

管理面板在 http://群晖IP:1936/admin,需要先登录

缺省的用户名:admin,密码 adb123

登录成功后的主界面,记得先修改管理员密码,默认 Stream Key 和管理员密码是一样的

Streaming URLStream Key 后面会推流会用到

OBS的设置

在 OBS –> 设置 –> 推流 设置服务器信息

服务器中填入前面的 Streaming URL,串流秘钥中填入 Stream Key

在 OBS –> 来源 –> 窗口捕捉 设置捕捉画面

开始推流之后,管理面板有相应的信息信息

回到 http://群晖IP:1936,就可以看到直播的画面了

右侧是聊天窗口,大家可以一边看一边聊天,如果不喜欢系统自动分配的用户名,可以自己修改

一旦停止直播,聊天就会被禁止

参考文档

owncast/owncast: Take control over your live stream video by running it yourself. Streaming + chat out of the box.
地址:https://github.com/owncast/owncast

Owncast - Selfhosted Livestreaming
地址:https://owncast.online/

Configuration - Owncast
地址:https://owncast.online/docs/configuration/