oryx

ossrsMIT活跃维护

开箱即用的开源视频服务套件,支持直播、WebRTC、HLS、RTMP 和 SRT,可在云端或自托管快速搭建在线视频平台。

Oryx (SRS Stack) is an AI-driven, all-in-one, out-of-the-box, and open-source video solution for creating online video services, including live streaming and WebRTC, in the cloud or through self-hosting.

v7.15.26发布于 2026-09-14 03:17 UTC894star +2 / 7 天161fork同步于 2026-11-10 17:54 UTC

怎么上手

由 README 提炼,执行前请确认
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
硬件要求按 README 说明

README 未说明 CPU、内存或显存要求;需开放 80/443/1935 TCP 与 8000/10080 UDP 端口,WebRTC WHIP 需用私有 IP、公网 IP 或域名访问,不能使用 localhost。

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

开箱即用的开源视频服务一体化方案,用 Docker 一键搭建直播与 WebRTC 平台

开箱即用的开源视频服务套件,支持直播、WebRTC、HLS、RTMP 和 SRT,可在云端或自托管快速搭建在线视频平台。

核心能力

  • 用单个 Docker 容器集成 SRS、FFmpeg、Redis 与 Go 管理后台
  • 支持 RTMP、WebRTC、HLS、HTTP-FLV、SRT 推拉流
  • 内置鉴权、转推多平台、录制、转码与虚拟直播
  • 通过 LEGO 自动申请 Let's Encrypt HTTPS 证书
  • 提供 HTTP Open API 与直播转写、AI 助手等 OpenAI 集成能力

容易踩的坑

必须挂载 /data 卷,否则容器重启后数据会丢失;国内拉取镜像慢可改用 registry.cn-hangzhou.aliyuncs.com/ossrs/oryx:5;浏览器使用 WebRTC WHIP 时不要用 localhost 或 127.0.0.1 访问。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v7.15.26
  1. v7.15.26Release Oryx v7.15.26最新正式版2026-09-14 · 2026-09-14 03:17 UTC

    [Codex: Fix Oryx image startup and update checkout action. v7.15.26

    Remove UPX compression that caused the SRS and platform binaries to crash at startup. Upgrade GitHub workflows to actions/checkout v7 so they use the supported Node.js 24 runtime.

    • v7.15:
      • Docker: Upgrade the build and runtime toolchain and use SRS 7. v7.15.25
      • HTTP-FLV: Always declare audio and video in the FLV header. v7.15.26

    Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>](https://github.com/ossrs/oryx/commit/feb0de9da406a1ae5a2997933754efa2597a10c0)

    English

    Chinese

  2. v5.15.20Release Oryx v5.15.20pre-release2024-07-22 · 2024-07-22 15:11 UTC
    查看更新说明

    Dubbing: Fix bug of changing window. v5.15.20

    CHANGELOG:

    • Forward: Support multiple forwarding servers. v5.15.1
    • ENV: Refine the environment variables. v5.15.2
    • OCR: Support OCR for image recognition. v5.15.3
    • VLive: Support multiple virtual live streaming. v5.15.4
    • Camera: Support multiple camera streaming. v5.15.5
    • Transcript: Upgrade the hls.js to 1.4 for WebVTT. v5.15.6
    • Disable version query and check. v5.15.7
    • Change LICENSE from AGPL-3.0-or-later to MIT. v5.15.8
    • Dubbing: Support scrolling card in fullscreen. v5.15.9
    • Support external redis host and using 127.0.0.1 as default. v5.15.10
    • Support setup global OpenAI settings. v5.15.11
    • Add youtube-dl binary for dubbing etc. v5.15.12
    • VLive: Fix bug when source codec is not supported. v5.15.13
    • Forward: Fix high CPU bug. v5.15.14
    • Support Go PPROF for CPU profiling. v5.15.15
    • VLive: Support download by youtube-dl. v5.15.16
    • Dubbing: Use gpt-4o and smaller ASR segment. v5.15.17
    • Dubbing: Merge more words if in small duration. v5.15.17
    • Dubbing: Allow fullscreen when ASR. v5.15.18
    • Dubbing: Support disable asr or translation. v5.15.19
    • Dubbing: Fix bug when changing ASR segment size. v5.15.20
    • Dubbing: Refine the window of text. v5.15.20

    English

    Chinese

  3. v5.15.15Release Oryx v5.15.15pre-release2024-07-10 · 2024-07-10 09:41 UTC
    查看更新说明

    Remove linux/arm/v7 support. v5.15.15

    CHANGELOG:

    • Forward: Support multiple forwarding servers. v5.15.1
    • ENV: Refine the environment variables. v5.15.2
    • OCR: Support OCR for image recognition. v5.15.3
    • VLive: Support multiple virtual live streaming. v5.15.4
    • Camera: Support multiple camera streaming. v5.15.5
    • Transcript: Upgrade the hls.js to 1.4 for WebVTT. v5.15.6
    • Disable version query and check. v5.15.7
    • Change LICENSE from AGPL-3.0-or-later to MIT. v5.15.8
    • Dubbing: Support scrolling card in fullscreen. v5.15.9
    • Support external redis host and using 127.0.0.1 as default. v5.15.10
    • Support setup global OpenAI settings. v5.15.11
    • Add youtube-dl binary for dubbing etc. v5.15.12
    • VLive: Fix bug when source codec is not supported. v5.15.13
    • Forward: Fix high CPU bug. v5.15.14
    • Support Go PPROF for CPU profiling. v5.15.15

    English

    Chinese

  4. v5.14.25Release Oryx v5.14.252024-07-10 · 2024-07-10 09:25 UTC
    查看更新说明

    Fix build fail. v5.14.25

    CHANGELOG:

    • Merge features and bugfix from releases. v5.14.1
    • Dubbing: Support VoD dubbing for multiple languages. v5.14.2
    • Dubbing: Support disable translation, rephrase, or tts. v5.14.3
    • Dubbing: Highlight the currently playing group. v5.14.3
    • NGINX: Support set the m3u8 and ts expire. v5.14.3
    • HLS: Set m3u8 expire time to 1s for LLHLS. v5.14.4
    • HLS: Use fast cache for HLS config. v5.14.4
    • Transcript: Support set the force_style for overlay subtitle. v5.14.5
    • Transcript: Use Whisper response without LF. (#163). v5.14.5
    • Token: Fix bug for Bearer token while initializing. v5.14.6
    • Room: Enable dictation mode for AI-Talk. v5.14.7
    • Dubbing: Refine download button with comments. v5.14.8
    • Room: AI-Talk support post processing. v5.14.9
    • Website: Support setting title for popout. v5.14.10
    • Transcript: Support set the video codec parameters. v5.14.11
    • Transcript: Support subtitle with WebVTT format. v5.14.12
    • Transcript: Fix overlay transcoding parameters parsing bug. v5.14.13
    • Use port 80/443 by default in README. v5.14.14
    • Use fastfail for test and utest. v5.14.15
    • Rename project to Oryx. v5.14.15
    • API: Support kickoff stream by name. v5.14.16
    • AI-Talk: Refine the delay of ASR to 3s. v5.14.17
    • AI-Talk: Ignore silent ASR text. v5.14.18
    • Refine installer for lightsail. v5.14.19
    • Update model to gpt-3.5-turbo, gpt-4-turbo, gpt-4o. v5.14.20
    • Transcript: Upgrade the hls.js to 1.4 for WebVTT. v5.14.21
    • Disable version query and check. v5.14.22
    • Support Go PPROF for CPU profiling. v5.14.23
    • Forward: Fix high CPU bug. v5.14.24
    • VLive: Refine wait timeout. v5.14.25

    English

    Chinese

  5. v5.15.11Release Oryx v5.15.11pre-release2024-07-05 · 2024-07-05 08:06 UTC
    查看更新说明

    Release v5.15.11

    CHANGELOG:

    • Forward: Support multiple forwarding servers. v5.15.1
    • ENV: Refine the environment variables. v5.15.2
    • OCR: Support OCR for image recognition. v5.15.3
    • VLive: Support multiple virtual live streaming. v5.15.4
    • Camera: Support multiple camera streaming. v5.15.5
    • Transcript: Upgrade the hls.js to 1.4 for WebVTT. v5.15.6
    • Disable version query and check. v5.15.7
    • Change LICENSE from AGPL-3.0-or-later to MIT. v5.15.8
    • Dubbing: Support scrolling card in fullscreen. v5.15.9
    • Support external redis host and using 127.0.0.1 as default. v5.15.10
    • Support setup global OpenAI settings. v5.15.11

    English

    Chinese

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    ORYX

    Oryx(SRS Stack), is an all-in-one, out-of-the-box, and open-source video solution for creating online video services, including live streaming and WebRTC, on the cloud or through self-hosting.

    Note: We renamed the project from SRS Stack to Oryx, because we only need a new name for AI assistant to identify SRS and SRS Stack. AI assistant is confused with SRS and SRS Stack.

    Oryx makes it easy for you to create an online video service. It is made using Go, Reactjs, SRS, FFmpeg, and WebRTC. It supports protocols like RTMP, WebRTC, HLS, HTTP-FLV, and SRT. It offers features like authentication, streaming on multiple platforms, recording, transcoding, virtual live events, automatic HTTPS, and an easy-to-use HTTP Open API.

    Oryx is built on SRS, FFmpeg, React.js, and Go, with Redis included, and integrates OpenAI services. It is a media solution designed for various useful scenarios.

    Note: For more details on the Oryx, please visit the following link.

    Usage

    Run Oryx in one docker, then open http://localhost in browser:

    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
    

    Important: Remember to mount the /data volume to avoid losing data when the container restarts. For instance, if you mount /data to $HOME/data, all data will be stored in the $HOME/data folder. Be sure to modify this according to your desired directory.

    Important: To use WebRTC WHIP in a browser, avoid using localhost or 127.0.0.1. Instead, use a private IP (e.g., https://192.168.3.85), a public IP (e.g., https://136.12.117.13), or a domain (e.g., https://your-domain.com). To set up HTTPS, refer to this post.

    Note: In China, use registry.cn-hangzhou.aliyuncs.com/ossrs/oryx:5 to accelerate the Docker pull process and ensure the proper language is set.

    The ports used for Oryx:

    • 80/tcp: The HTTP port, you can also use 2022 instead, such as -p 2022:2022 etc.
    • 443/tcp: The HTTPS port, you can also use 2443 instead, such as -p 2443:2443 etc.
    • 1935/tcp: The RTMP port, to support publish stream by RTMP to Oryx.
    • 8000/udp: The WebRTC UDP port, to transport WebRTC media data like RTP packets.
    • 10080/udp: The SRT UDP port, to support publish stream via SRT protocol.

    You have the option to modify the volumes for Oryx and direct them to different directories.

    • /data The global data directory.
      • .well-known The directory for Let's Encrypt ACME challenge.
      • config The .env for password, srs/redis/nginx/prometheus config, and SSL files.
      • dvr The dvr storage directory, save dvr files.
      • lego The LEGO Let's Encrypt ACME challenge directory.
      • record The record storage directory, save record files.
      • redis The redis data directory, the publish secret and record configuration.
      • signals The signals storage directory, save signal files.
      • upload The upload storage directory, save upload files.
      • vlive The storage directory for virtual live, save video files.
      • transcript The storage directory for transcription, save transcription files.
      • nginx-cache The storage directory for nginx cache, save cache files.
      • srs-s3-bucket The mount directory for AWS S3 compatible storage.

    You can use environment variables to modify the settings.

    • MGMT_PASSWORD: The mgmt administrator password.
    • REACT_APP_LOCALE: The i18n config for ui, en or zh, default to en.

    Note: The MGMT_PASSWORD is also saved in /data/config/.env, you can modify it by yourself.

    To access additional environment variables, please refer to the Environments section.

    Sponsor

    Would you like additional assistance from us? By becoming a sponsor or backer of SRS, we can provide you with the support you need:

    • Backer: $5 per month, online text chat support through Discord.
    • Sponsor: $100 per month, online meeting support, 1 meeting per month in 1 hour.

    Please visit OpenCollective to become a backer or sponsor, and send us a direct message on Discord. We are currently providing support to the developers listed below:

    We at SRS aim to establish a non-profit, open-source community that assists developers worldwide in creating your own high-quality streaming and RTC platforms to support your businesses.

    FAQ

    1. English FAQ
    2. 中文 FAQ

    Tutorials

    • Getting Started: Blog, EN, CN.
    • Support WordPress Plugin: Blog, EN, CN or WordPress Plugin.
    • Support Automatic HTTPS: Blog, EN, CN.
    • Support aaPanel to install on any linux: Blog, EN, CN.
    • Support DVR to local disk: Blog, EN, CN.
    • Support Virtual Live Streaming: CN.
    • Support Stream IP Camera: Blog, EN, CN.
    • Support build small HLS deliver CDN by Nginx.
    • Support Live Streaming: CN.
    • Support Realtime SRT Streaming: CN.
    • Support DVR to Tencent Cloud Storage or VoD: CN.
    • Support Typecho Plugin: CN.
    • Support live stream transcoding: Blog, EN, CN.
    • Support transcription for converting speech to text: Blog, EN, CN.
    • Support AI assistant for live room: Blog, EN, CN
    • Support video dubbing for multiple languages: Blog, EN, CN
    • Support OCR for video stream: Blog, EN, CN

    Other more use scenarios is on the way, please read this post.

    Features

    The features that we're developing:

    • A mgmt support authentication and automatic updates.
    • Run SRS in docker, query status by docker and SRS API.
    • Support publish by RTMP/WebRTC, play by RTMP/HTTP-FLV/HLS/WebRTC.
    • SRS container use docker logs json-file and rotate for logging.
    • Support high-resolution and realtime(200~500ms) live streaming by SRT.
    • Run SRS hooks in docker, to callback by SRS server.
    • Support publish by SRT, play by RTMP/HTTP-FLV/HLS/WebRTC/SRT.
    • Change redis port and use randomly password.
    • Support integrity with tencent cloud VoD.
    • Support restreaming to multiple platforms.
    • Support WordPress Plugin: SrsPlayer.
    • Support aaPanel to install on any linux.
    • Support DVR to local disk.
    • Support upgrade to latest version manually.
    • Support HTTPS by let's encrypt with LEGO.
    • Support virtual live streaming, covert file or other resource to live.
    • Support self-host HLS CDN, to serve 10k+ viewers.
    • Support Typecho Plugin: Typecho-Plugin-SrsPlayer.
    • Support DVR to TencentCloud storage.
    • Support pull RTSP from IP Camera and stream to YouTube/Twitch/Facebook.
    • Support live streaming transcoding by FFmpeg, see #2869.
    • Support transcription for converting speech to text.
    • Support AI assistant for live room.
    • Support video dubbing for multiple languages.
    • Support limit the streaming duration to limit the fee.
    • Support GB28181 by SRS 5.0 container.
    • Support WebRTC face to face chat, see #2857.
    • Support WebRTC video chat room, see #2924.
    • Support a set of tools for developer, see #2891.
    • Collect logs of mgmt and containers together.
    • Stop, restart and upgrade containers.
    • Support logrotate to manage the logs.
    • Enhance prometheus API with authentication.
    • Integrate with prometheus and node-exporter.

    License

    Oryx is an open-source project, licensed under the MIT license.

    We also used the following open-source projects:

    • FFmpeg: A complete, cross-platform solution to record, convert and stream audio and video.
    • Redis: Redis is an in-memory data store used by millions of developers as a cache, vector database, document database, streaming engine, and message broker.
    • youtube-dl: Command-line program to download videos from YouTube.com and other video sites.

    Other frameworks we used:

    • Reactjs: The library for web and native user interfaces.
    • Go: Build simple, secure, scalable systems with Go.

    Developer

    For development, please refer to the Environments about the API and architecture.

    2022.11