标签搜索

目 录CONTENT

文章目录

通过飞牛云NAS/VPS使用Docker部署SRS-Stack开源项目,打造全天候7*24小时无人值守直播间,获得直播收益

yyzq
2025-11-11 / 0 评论 / 1 点赞 / 16 阅读 / 2,984 字

前言

在当今直播行业中,24小时不间断的直播已成为许多平台和内容创作者的需求。然而,传统的直播间通常需要大量的人力和设备支持,这使得搭建和维护成为一项挑战。为了简化这一过程,我们可以借助飞牛云NAS/VPS和Docker的强大功能,快速搭建一个高效、稳定的无人值守直播间。

本教程将详细介绍如何通过Docker部署SRS-Stack开源项目,利用飞牛云的NAS/VPS资源,打造一个全天候7*24小时自动运行的无人直播间。SRS(Simple Real-time Streaming)是一款高效、低延迟的流媒体服务器,支持RTMP、WebRTC、HLS等协议,广泛应用于直播场景。通过本文的指导,您将能够快速部署并配置一个稳定的直播流系统,轻松实现24小时不间断的直播服务。
t

项目简介

SRS项目:

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

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 服务。它是一款专为各种实用场景设计的媒体解决方案。
68747470733a2f2f6f737372732e696f2f6c74732f656e2d75732f696d672f4f7279782d352d73642e706e673f763d31

有关截图

1.软件界面

image-1762838666803

2.B站直播

image-1762838721285
直播界面
image-1762838799607

3.YouTube直播

image-1762838940602
直播界面
image-1762838882810

主要功能

功能 描述 应用场景 使用说明
功能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的方式安装部署,简单便捷
164b6ac419e23bc5390dc46601a202bf

准备条件

1)一台服务器

我们使用莱卡云VPS和飞牛云NAS来演示

需要vps的可以看以下信息配置可以参考以下资源占用情况
莱卡云官网

本期docker容器占用资源情况如下仅供参考,在直播B站的时候总体占用内存大约300兆左右
image-1762839672824

2)本项目使用到的项目

本项目的官方github地址

SRS项目

https://github.com/ossrs/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

直接打开即可使用
第一次首先配置管理员密码和语言
image-1762840044559

②飞牛云NAS部署

我们直接复制以上VPS的compose配置即可
image-1762840145995
启动成功
image-1762840169896
然后浏览器输入NAS的ip:2022端口就可以打开界面了
image-1762840044559

使用教程

由于功能很多我就简单介绍下9大功能中的虚拟直播
演示YouTube平台和B站平台的直播设置-其他功能大家自己探索

1.YouTube

首先打开油管的直播界面配置好必要的标题封面等参数
然后将直播地址和直播码分别填入如图所示的地方即可
image-1762840614965

2.B站

跟油管上一样按照图示填入直播地址和对应秘钥即可
image-1762840953084

绑定域名

VPS上的建议绑定下域名,方便管理。

视频教程

B站

YouTube

绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch

有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我

欢迎关注我们的微信公众号!
微信公众号

1

评论区