本仓库为Fork仓库,仅用于测试能否更换 srs 为最新版本
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.
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
/datavolume to avoid losing data when the container restarts. For instance, if you mount/datato$HOME/data, all data will be stored in the$HOME/datafolder. 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:5to 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_PASSWORDis also saved in/data/config/.env, you can modify it by yourself.
To access additional environment variables, please refer to the Environments section.
Would you like additional assistance from us? By becoming a sponsor or backer of SRS, we can provide you with the support you need:
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.
Other more use scenarios is on the way, please read this post.
The features that we're developing:
json-file and rotate for logging.Oryx is an open-source project, licensed under the MIT license.
We also used the following open-source projects:
Other frameworks we used:
For development, please refer to the Environments about the API and architecture.
2022.11