Clone
107
v3_CN_Home
winlin edited this page 2022-01-06 11:57:15 +08:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

HOME > CN

Note: 如果觉得Github的Wiki访问太慢可以访问 Gitee 镜像。

SRS Overview

SRS是一个简单高效的实时视频服务器支持RTMP/HLS/HTTP-FLV。

对于新手来说音视频的门槛真的非常高SRS的目标是降低(不能消除音视频的门槛所以请一定要读完Wiki。 不读Wiki一定扑街不读文档请不要提Issue不读文档请不要提问题任何文档中明确说过的疑问都不会解答。

Note: 如果觉得Github的Wiki访问太慢可以访问 Gitee 镜像。

Getting Started

下载源码,推荐用CentOS7系统:

git clone -b 3.0release https://gitee.com/ossrs/srs.git

编译,注意需要切换到srs/trunk目录:

cd srs/trunk
./configure
make

启动服务器:

./objs/srs -c conf/srs.conf

检查SRS是否成功启动可以打开 http://localhost:8080/ ,或者执行命令:

# 查看SRS的状态
./etc/init.d/srs status

# 或者看SRS的日志
tail -f ./objs/srs.log

例如下面的命令显示SRS正在运行

MB0:trunk $ ./etc/init.d/srs status
SRS(pid 24303) is running.                                 [  OK  ]

MB0:trunk $ tail -f ./objs/srs.log
[2021-08-13 03:02:16.241][Trace][24303][332] HTTP-Server listen at tcp://0.0.0.0:8080, fd=10

使用 FFmpegOBS 推流:

ffmpeg -re -i ./doc/source.flv -c copy -f flv -y rtmp://localhost/live/livestream

打开下面的页面播放流若SRS不在本机请将localhost更换成服务器IP:

请继续阅读下面的内容了解更多SRS的信息。

Docker

推荐使用Docker直接启动SRS可用镜像在 这里 :

docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 \
    ossrs/srs:3 ./objs/srs -c conf/srs.conf

请继续阅读下面的内容了解更多SRS的信息。

Effective SRS

SRS是一个服务器也可以扩展成集群还涉及多种协议和场景。下图是SRS的概览大地图先有个大概印象

Note: 高清图请看 https://www.processon.com/view/link/619f24137d9c083e98adab49

Note: 别被这张图吓到,一般也用不到所有的能力,关键是要花时间看文档,了解这些部分怎么工作的。

我们从几个典型的应用场景来说下上面的大图,更多场景请看Applications

  • 入门搭建环境惊鸿一瞥。如果想感觉下SRS能做什么用可以直接根据 Usage 操作仅仅需要两个命令三个步骤就能跑起来。这个场景下用到了Encoders(FFmpeg)推流SRS(Origin)源站接收流Players(H5)播放流。
  • 全平台直播小荷才露尖尖角。只需要上图的Encoders(FFmpeg/OBS)推送RTMP到SRS一台SRS Origin(不需要Cluster)转封装成HTTP-FLV流转封装成HLSPlayers根据平台的播放器可以选HTTP-FLV或HLS流播放。
  • 大规模业务,带你装逼带你飞。如果业务快速上涨,可以通过Edge Cluster支持海量Players或者Origin Cluster支持海量Encoders当然可以直接平滑迁移到视频云。

Note: 这些场景的K8S部署请参考Edge ClusterOrigin Cluster

每个场景可能会用到一些通用的能力,比如:

如果你更喜欢看视频可以移步看下面的视频专栏介绍最后还是要墙裂劝说看一遍Wiki

再啰嗦一遍不读Wiki一定扑街不读文档请不要提Issue不读文档请不要提问题任何文档中明确说过的疑问都不会解答。

Video Guides:

Solution Guides:

Deployment Guides:

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:

Migrate From NGINX-RTMP:

  • NG EXEC: 为特殊的事件执行外部程序譬如exec_publish当发布流时exec外部程序。

User Guides:

  • Quick Start: 使用SRS的主要功能的快速手册。您应该从这个文章入手。
  • Milestones: SRS的路线图和产品计划。
  • Why SRS: 为何选择SRSSRS的路线图
  • GIT Mirrors: SRS在各个主要GIT站点的镜像代码都是保持同步的。
  • Main Features: SRS的功能列表。请注意有些功能只有特定的版本才有。请注意有些功能是实验性的。
  • Releases: SRS目前已经发布的版本。
  • Docs: SRS的详细文档。
  • Compare: SRS和其他服务器的对比。
  • Performance: SRS的性能测试报告。

Join Us:

Develop Guide

  • SRS代码分析分析SRS结构和代码逻辑。
  • SRS Librtmp: 使用SRS提供的librtmp客户端库C++代码可以在Android和iOS上编译基于RTMP协议推送和拉取流。
  • Third-party Client SDK: 第三方厂商提供的客户端推流和播放的SDK一般是移动端包括Andoird和iOS。

Questions or need help?

其他联系方式,参考联系我们

Winlin 2015.7