Oryx开发者快速入门

Oryx 开发者快速入门

精简版快速入门,只保留核心概念与上手步骤。Docker 进阶、端口与数据卷、架构与协议、AI 功能、API 等详见 Oryx完整文档.md

目录

  1. [一句话了解 Oryx](#一句话了解 Oryx)
  2. 核心概念(组件与数据流)
  3. 技术栈一览
  4. [5 分钟上手(Docker)](#5 分钟上手(Docker))
  5. 数据目录与持久化
  6. 端口与访问
  7. 核心功能速览
  8. 学习路径与下一步
  9. 常见问题

1. 一句话了解 Oryx

Oryx (原 SRS Stack)是一款一体化、开箱即用 的开源视频解决方案:在 Docker 里集成 SRS 媒体服务器、Go 后端、React 前端、Redis、FFmpeg 与可选 AI(OpenAI),专为直播 + WebRTC 的在线视频服务设计,支持云部署与自托管。

为什么用 Oryx?

  • 一体化:推流、转码、多协议播放、管理界面、录制、多平台转发、AI 转录/配音等一站搞定
  • 开箱即用:单容器部署,一条 docker run 即可跑通
  • 协议全:RTMP、WebRTC、HLS、HTTP-FLV、SRT;并带 DVR、虚拟直播、RESTful API

2. 核心概念(组件与数据流)

步骤 做什么
1. 部署 Oryx 使用 Docker 运行 Oryx 镜像,挂载数据卷、映射端口
2. 访问管理界面 浏览器打开 HTTP/HTTPS 端口,使用 React 仪表板创建直播、配置推流等
3. 推流与播放 推流到 SRS(RTMP/WebRTC 等),观众通过 HLS/HTTP-FLV/WebRTC 等播放

关键组件:

  • SRS 5.0:媒体服务器,负责 RTMP、WebRTC、HLS、HTTP-FLV、SRT
  • Go 后端:服务编排、HTTP API、认证、流管理
  • React 前端:Web 管理界面、配置、监控
  • Redis:会话、流状态、元数据
  • FFmpeg:转码、虚拟直播、格式转换
  • OpenAI API(可选):转录、配音、OCR、AI 辅助

3. 技术栈一览

组件 技术 主要角色 核心特性
媒体服务器 SRS 5.0 实时媒体处理 RTMP、WebRTC、HLS、HTTP-FLV、SRT
后端 API Go 服务编排 HTTP APIs、认证、流管理
前端 UI React.js 管理界面 实时仪表板、配置、监控
数据存储 Redis 会话与元数据 流状态、用户会话、缓存
媒体处理 FFmpeg 转码与转换 格式转换、质量自适应
AI 集成 OpenAI API 智能功能 转录、配音、OCR、辅助

4. 5 分钟上手(Docker)

4.1 前提

  • 已安装 Docker
  • 可选:FFmpeg 或 OBS(推流测试)、浏览器(管理界面与播放)

4.2 启动 Oryx

bash 复制代码
docker run --restart always -d -it --name oryx -v $HOME/data:/data \
  -p 80:2022 -p 443:2443 -p 1935:1935 -p 8000:8000/udp -p 10080:10080/udp \
  ossrs/oryx:5
  • -v $HOME/data:/data:持久化配置、录制、Redis、上传文件等,生产环境务必保留
  • -p 80:2022:HTTP 管理界面(主机 80 → 容器 2022)
  • -p 443:2443:HTTPS
  • -p 1935:1935:RTMP
  • -p 8000:8000/udp-p 10080:10080/udp:WebRTC

4.3 验证

浏览器打开 http://localhost(或本机 IP),应看到 Oryx 管理界面。按界面引导创建应用/流、获取推流地址与播放地址。

4.4 推流与播放

  • 推流 :使用 OBS 或 FFmpeg 推 RTMP 到 rtmp://服务器:1935/应用/流名(具体地址以管理界面为准)
  • 播放:在管理界面或播放器中使用 HLS/HTTP-FLV/WebRTC 播放地址

生产环境请配置 HTTPS、防火墙与访问控制(见完整文档中的「端口配置与网络」章节)。


5. 数据目录与持久化

Oryx 使用 /data 下的子目录做持久化,挂载时务必保留:

目录 用途 内容
/data/config 配置 环境文件、SSL 证书
/data/dvr 录制 直播录制文件(MP4)
/data/redis 数据库 Redis 持久化文件
/data/upload 用户内容 上传的媒体文件
/data/vlive 虚拟直播 虚拟直播源文件
/data/transcript AI 结果 转录和 AI 处理输出

6. 端口与访问

主机端口(示例) 容器端口 用途
80 2022 HTTP 管理界面
443 2443 HTTPS
1935 1935 RTMP
8000/udp 8000/udp WebRTC
10080/udp 10080/udp WebRTC

具体端口映射以你实际 -p 为准;防火墙与云安全组需放行上述端口。


7. 核心功能速览

流媒体协议: RTMP(推流/播放)、WebRTC(超低延迟)、HLS、HTTP-FLV、SRT

高级能力: 多平台转发(YouTube/Twitch/Facebook)、直播录制(DVR)、FFmpeg 流转码、虚拟直播、AI 转录/配音/OCR

管理与安全: Web 管理界面、认证、自动 HTTPS(Let's Encrypt)、RESTful OpenAPI


8. 学习路径与下一步

  1. 快速开始:用 Docker 部署第一个 Oryx 实例(本文)
  2. Docker 部署指南:容器配置与数据持久化
  3. 端口配置与网络:防火墙与网络要求
  4. 数据卷管理:持久化存储正确配置
  5. 架构概览 / 平台服务 / React 前端:扩展与定制开发

以上进阶内容均可在 Oryx完整文档.md 中按章节查阅。


9. 常见问题

现象 可能原因 处理
浏览器打不开管理界面 端口未映射或防火墙拦截 检查 -p 80:2022 及本机/云防火墙
推流失败 应用/流未创建或地址错误 在管理界面创建应用与流,使用界面给出的推流地址
播放无画面 未先推流或播放地址错误 先推流,再用管理界面提供的 HLS/HTTP-FLV/WebRTC 地址播放
容器重启后数据丢失 未挂载 /data 使用 -v $HOME/data:/data 或等效路径
需 HTTPS 生产环境要求 配置域名与 Let's Encrypt,见完整文档中的 Docker 部署指南

提示: Oryx 与纯 SRS 不同,是「SRS + 管理平台 + 业务后端」的一体化方案;若只需裸流媒体服务器可考虑 SRS 单独部署。

相关推荐
安科士andxe3 小时前
深入解析|安科士1.25G CWDM SFP光模块核心技术,破解中长距离传输痛点
服务器·网络·5g
青云计划6 小时前
知光项目知文发布模块
java·后端·spring·mybatis
儒雅的晴天6 小时前
大模型幻觉问题
运维·服务器
Victor3566 小时前
MongoDB(9)什么是MongoDB的副本集(Replica Set)?
后端
Victor3566 小时前
MongoDB(8)什么是聚合(Aggregation)?
后端
通信大师7 小时前
深度解析PCC策略计费控制:核心网产品与应用价值
运维·服务器·网络·5g
yeyeye1118 小时前
Spring Cloud Data Flow 简介
后端·spring·spring cloud
Tony Bai8 小时前
告别 Flaky Tests:Go 官方拟引入 testing/nettest,重塑内存网络测试标准
开发语言·网络·后端·golang·php
+VX:Fegn08959 小时前
计算机毕业设计|基于springboot + vue鲜花商城系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
程序猿阿伟9 小时前
《GraphQL批处理与全局缓存共享的底层逻辑》
后端·缓存·graphql