-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
v3_CN_Home
SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。SRS提供了丰富的接入方案将RTMP流接入SRS, 包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。 SRS还支持将接入的RTMP流进行各种变换,譬如将RTMP流转码、流截图、 转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、 转封装成HDS、转封装成DASH、录制成FLV/MP4。SRS包含支大规模集群如CDN业务的关键特性, 譬如RTMP多级集群、源站集群、VHOST虚拟服务器 、 无中断服务Reload、HTTP-FLV集群。此外,SRS还提供丰富的应用接口, 包括HTTP回调、安全策略Security、HTTP API接口、 RTMP测速。SRS在源站和CDN集群中都得到了广泛的应用Applications。
Note: 高清图请看 https://www.processon.com/view/link/5e3f5581e4b0a3daae80ecef
SRS发布版本提供安装包下载,请访问ossrs.net。若您需要自己编译SRS,请参考编译SRS。
SRS主要运行在Linux系统上,譬如Centos和Ubuntu,包括x86、x86-64、ARM和MIPS。其他的OS可以使用srs-docker开发和运行,比如macOS、Windows等。SRS的系统偏好主要是由于state-threads导致的,它极大的简化了服务器在复杂协议的处理。
SRS可以在一台服务器上运行集群,或者在多台服务器上也可以运行集群。SRS是单进程模型,不支持多进程;您可以使用go-oryx支持多进程。
Video Guides:
- Bilibili视频: SRS介绍,背景、思路和发展计划。
- Bilibili视频: 运行环境,先把SRS跑起来。
- Bilibili视频:开发和调试,选择IDE和开发调试环境。
- Bilibili视频:配置和热加载,配置文件和Reload。
- Bilibili视频:日志和错误,排查问题和筛选日志。
- Bilibili视频:如何支持HTTPS,支持HTTPS-FLV。
- Bilibili视频:一码十多行(抖版),快速码代码的一个技巧。
- Bilibili视频:高效理解代码,磨刀不误砍柴工。
- Bilibili视频:雕刻时光,核心时钟和时间处理。
- Bilibili视频:一剪定乾坤,重构提升质量,高效编程习惯。
User Guides:
- Quick Start: 使用SRS的主要功能的快速手册。您应该从这个文章入手。
- Milestones: SRS的路线图和产品计划。
- Why SRS: 为何选择SRS?SRS的路线图?
- GIT Mirrors: SRS在各个主要GIT站点的镜像,代码都是保持同步的。
- Main Features: SRS的功能列表。请注意有些功能只有特定的版本才有。请注意有些功能是实验性的。
- Releases: SRS目前已经发布的版本。
- Docs: SRS的详细文档。
Deployment Guides:
- Delivery RTMP: 如何部署SRS提供RTMP服务。
- Delivery HLS: 如何部署SRS提供RTMP和HLS服务。
- Delivery HTTP FLV: 如何部署SRS分发FLV流。
- Delivery HDS: 如何部署SRS分发HDS流。
- Delivery DASH: 如何部署SRS分发DASH流。
- Transcode: 如何部署SRS对直播流转码。
- Snapshot: 如何对直播流截图。
- Forward: 如何部署SRS转发RTMP流到其他服务器。
- Low latency: 如何部署SRS为低延迟模式。
- Ingest: 如何将其他流拉到SRS作为RTMP流。
- HTTP Server: 如何部署SRS为HTTP服务器。
- SRS DEMO: 如何启动SRS的DEMO。
- Projects: 都有谁在使用SRS。
- Setup: SRS安装和部署摘要。
Cluster Guides:
- Origin Cluster: 如何支持源站集群,扩展源站能力。
- Edge Cluster: RTMP: 如何部署RTMP分发集群,譬如CDN支持RTMP分发。
- Edge Cluster: FLV: 如何部署HTTP-FLV分发集群,譬如CDN支持HTTP-FLV分发。
- VHOST: 如何一个集群支持多个用户,即Vhost。
- Reload: 如何不中断服务的前提下应用新的配置,即Reload。
- Tracable Log: 如何在集群中追溯错误和日志,基于连接的日志,排错日志。
- Log Rotate: 如何切割服务器的日志,然后压缩或者清理。
Integration Guides:
- HTTP Callback: 使用HTTP回调侦听SRS的事件。
- HTTP API: 使用SRS的HTTP API获取数据。
- RTMP Bandwidth: 使用SRS测速接口获取带宽数据。
- Special Control: 一些特殊的控制配置。
Migrate From NGINX-RTMP:
- NG EXEC: 为特殊的事件执行外部程序,譬如exec_publish,当发布流时exec外部程序。
Benchmarks:
- Compare: SRS和其他服务器的对比。
- Performance: SRS的性能测试报告。
Join Us:
- 如何向SRS提交ISSUE?
- File Issue: 提交需求、Bug和反馈。
- Contact: 用钉钉、微信、邮箱联系我们。
Develop Guide
- SRS代码分析,分析SRS结构和代码逻辑。
- SRS Librtmp: 使用SRS提供的librtmp客户端库,C++代码,可以在Android和iOS上编译,基于RTMP协议推送和拉取流。
- Third-party Client SDK: 第三方厂商提供的客户端推流和播放的SDK,一般是移动端包括Andoird和iOS。
其他联系方式,参考联系我们
Winlin 2015.7
Welcome to SRS wiki!
Please select your language:
Please select your language:
Please select your language:
Please select your language:
Please select your language: