前言
在当今直播行业中,24小时不间断的直播已成为许多平台和内容创作者的需求。然而,传统的直播间通常需要大量的人力和设备支持,这使得搭建和维护成为一项挑战。为了简化这一过程,我们可以借助飞牛云NAS/VPS和Docker的强大功能,快速搭建一个高效、稳定的无人值守直播间。
本教程将详细介绍如何通过Docker部署SRS-Stack开源项目,利用飞牛云的NAS/VPS资源,打造一个全天候7*24小时自动运行的无人直播间。SRS(Simple Real-time Streaming)是一款高效、低延迟的流媒体服务器,支持RTMP、WebRTC、HLS等协议,广泛应用于直播场景。通过本文的指导,您将能够快速部署并配置一个稳定的直播流系统,轻松实现24小时不间断的直播服务。

项目简介
SRS项目:
SRS 是一款简单、高效的实时媒体服务器,支持 RTMP、WebRTC、HLS、HTTP-FLV、HTTP-TS、SRT、MPEG-DASH 和 GB28181,并支持 H.264、H.265、AV1、VP9、AAC、Opus 和 G.711 编解码器。

Oryx(SRS Stack)项目:
Oryx(SRS Stack)是一个一体化、开箱即用且开源的视频解决方案,用于在云端或通过自托管创建在线视频服务,包括直播和 WebRTC。
Oryx 让您轻松创建在线视频服务。它采用 Go、Reactjs、SRS、FFmpeg 和 WebRTC 构建,支持 RTMP、WebRTC、HLS、HTTP-FLV 和 SRT 等协议。它提供身份验证、多平台流媒体播放、录制、转码、虚拟直播活动、自动 HTTPS 以及易于使用的 HTTP Open API 等功能。
Oryx 基于 SRS、FFmpeg、React.js 和 Go 构建,并集成了 Redis 和 OpenAI 服务。它是一款专为各种实用场景设计的媒体解决方案。

有关截图
1.软件界面

2.B站直播

直播界面

3.YouTube直播

直播界面

主要功能
| 功能 | 描述 | 应用场景 | 使用说明 |
|---|---|---|---|
| 功能1:推拉流 | 推拉直播流,公网可以直接使用的直播间,带鉴权只有自己能推流。 | - 一起看电影,异地恋的情侣,或者三五个好朋友,一起看看自己喜欢的电影 - 远程制作和导播,户外直播用手机或摄像头推流到Oryx,用OBS/vMix/芯象制作后再播出,编辑不用在直播现场 |
- 推流一般OBS比较好操作,也可以选择FFmpeg或WebRTC - 播放可以直接复制播放链接,使用Chrome浏览器观看,也可以选择VLC播放流地址 |
| 功能2:直播间 | 直播间,提供了按每个流鉴权的能力,并支持直播间的业务功能。 | - 自建直播间,私域直播,仅限私域会员能观看的直播。 - 企业直播,企业内部的直播间,仅限企业内部人员观看。 - 电商直播,仅限电商特定买家可观看的直播。 |
|
| 功能3:多平台转播 | 多平台转播,将流转播给其他平台,比如视频号直播、快手、B站等。 | - 节约上行带宽,避免客户端推多路流,服务器转播更有保障 | - 首先使用适合你的场景推流 - 然后设置转播的平台 |
| 功能4:录制 | 本地录制,指录制视频流到Oryx的本地磁盘,只要推送到服务器的流都可以录制。 | - 直播转点播,录制直播流成为一个HLS文件,存储在Oryx本地磁盘,可以下载 | - 具体使用步骤,请根据下面引导操作 |
| 功能5:虚拟直播 | 虚拟直播,是将一个视频文件,用FFmpeg转成直播流,推送到Oryx或其他平台。 | - 无人直播间,7x24小时获得直播收益 | - 首先上传视频文件 - 然后设置直播流信息 |
| 功能6:摄像头 | 摄像头直播,是将一个摄像头的流,用FFmpeg转成直播流,推送到Oryx或其他平台。 | - 无人直播间,7x24小时获得直播收益 | - 首先设置摄像头拉流信息 - 然后设置直播流信息 |
| 功能7:直播转码 | 直播转码,是将Oryx的直播流,用FFmpeg转成不同码率和清晰度的直播流,再推送到Oryx。 | - 降低带宽,保持相同清晰度,降低流的码率,从而降低整体的观看带宽 - 提高清晰度,保持同样输出码率和带宽,提高原始码流的码率,提升输出流的清晰度和画质 - 多清晰度多码率,从高分辨率的原始码流,转成多个不同清晰度和码率的流,给不同设备观看 |
- 首先先将需要转码的原始流,推送到Oryx - 然后配置转码的信息,选择不同的转码模板,调整转码参数 - 开始转码后,将生成新的不同的转码的流,推送到Oryx上 |
| 功能8:AI字幕 | AI字幕使用人工智能将实时语音转换成文本,然后允许人工编辑和校正文本,并将其翻译成多种语言, 并将修改后的多语言文本合并在视频流中,最终生成一个新的直播流。 | - 直播时,使用AI生成的自动字幕,让听力受限的观众,在听不到声音时,可以看视频的字幕。 - 为不同语言的观众提供多语言字幕。直播时,由AI翻译成各种语言,从而生成多个流,每个流都有特定语言的字幕。 例如,如果直播源是英语的,那么会有带有英语、中文、法语等其他语言字幕的输出流。 - 为多个直播平台提供一致的字幕体验。因为一些平台支持自动字幕,而其他平台则不支持。通过在源直播中加入自动字幕, 我们可以确保在各种直播平台上的一致性,确保所有平台都有一致的字幕。 |
|
| 功能9:视频翻译 | 视频翻译,即将点播视频文件翻译为多语言的字幕和音频,主要应用于需要多语言的场景。 | - 多语言视频教程,视频支持多种不同的语言的音频和字幕。 - 娱乐场景,多语言电影,或者多语言短视频。 - 电商直播,多语言电商,可通过虚拟直播将多语言的视频转直播流。 |
部署方法
使用Docker安装
本教程使用docker的方式安装部署,简单便捷

准备条件
1)一台服务器
我们使用莱卡云VPS和飞牛云NAS来演示
需要vps的可以看以下信息配置可以参考以下资源占用情况
莱卡云官网
本期docker容器占用资源情况如下仅供参考,在直播B站的时候总体占用内存大约300兆左右

2)本项目使用到的项目
本项目的官方github地址
SRS项目
Oryx(SRS Stack)项目
https://github.com/ossrs/oryx
更多功能或者二次修改可以访问开源项目地址
3)域名(可选)
根据自己的需求
① VPS部署
一、Docker环境部署
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04
推荐直接用一键脚本
docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
二、创建docker-compose.yml文件
登录服务器使用root账户执行以下步骤
创建一个目录,并进入此目录
mkdir srs;cd srs
然后再新建docker-compose.yml
vim docker-compose.yml
services:
oryx:
image: ossrs/oryx:5 # 使用 ossrs 的 oryx:5 镜像。如果你在中国,请使用此镜像 registry.cn-hangzhou.aliyuncs.com/ossrs/oryx:5 加快 Docker 拉取过程,并确保设置正确的语言。
container_name: oryx # 容器名称为 oryx
ports:
- "2022:2022" # HTTP 端口,将容器的 2022 端口映射到宿主机的 2022 端口
- "2443:2443" # HTTPS 端口,将容器的 2443 端口映射到宿主机的 2443 端口
- "1935:1935" # RTMP 端口,支持通过 RTMP 向 Oryx 发布流,将容器的 1935 端口映射到宿主机的 1935 端口
- "8000:8000/udp" # WebRTC UDP 端口,用于传输 WebRTC 媒体数据(例如 RTP 数据包),将容器的 8000 端口(UDP)映射到宿主机的 8000 端口
- "10080:10080/udp" # SRT UDP 端口,支持通过 SRT 协议发布流,将容器的 10080 端口(UDP)映射到宿主机的 10080 端口
volumes:
- ./data:/data # 将宿主机的 ./data 目录挂载到容器的 /data 目录,用于持久化存储
restart: always # 容器崩溃时自动重启
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否启动成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
oryx ossrs/oryx:5 "./bootstrap" oryx About an hour ago Up About an hour 0.0.0.0:1935->1935/tcp, [::]:1935->1935/tcp, 0.0.0.0:2022->2022/tcp, [::]:2022->2022/tcp, 5060/tcp, 8080/tcp, 0.0.0.0:8000->8000/udp, [::]:8000->8000/udp, 0.0.0.0:2443->2443/tcp, [::]:2443->2443/tcp, 9000/tcp, 0.0.0.0:10080->10080/udp, [::]:10080->10080/udp
四、服务端完成
打开web页面使用
成功以后需要打开自己相应的端口2022)防火墙就可以web端访问了
主界面
http://ip:2022
直接打开即可使用
第一次首先配置管理员密码和语言

②飞牛云NAS部署
我们直接复制以上VPS的compose配置即可

启动成功

然后浏览器输入NAS的ip:2022端口就可以打开界面了

使用教程
由于功能很多我就简单介绍下9大功能中的虚拟直播
演示YouTube平台和B站平台的直播设置-其他功能大家自己探索
1.YouTube
首先打开油管的直播界面配置好必要的标题封面等参数
然后将直播地址和直播码分别填入如图所示的地方即可

2.B站
跟油管上一样按照图示填入直播地址和对应秘钥即可

绑定域名
VPS上的建议绑定下域名,方便管理。
视频教程
B站
YouTube
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!


评论区