当前位置: 首页 > 工具软件 > SRS > 使用案例 >

SRS流媒体服务

贺俊楚
2023-12-01

源站集群:
源站集群主要解决大量推流的情况,比如推1万路流。
源站集群只支持RTMP协议,如果需要HTTP-FLV,可以加一个Edge将RTMP转成HTTP-FLV。
Config:
源站集群的配置:

vhost __defaultVhost__ {
    # The config for cluster.
    cluster {
        # The cluster mode, local or remote.
        #       local: It's an origin server, serve streams itself.
        #       remote: It's an edge server, fetch or push stream to origin server.
        # default: local
        mode            local;

        # For origin(mode local) cluster, turn on the cluster.
        # @remark Origin cluster only supports RTMP, use Edge to transmux RTMP to FLV.
        # default: off
        # TODO: FIXME: Support reload.
        origin_cluster      on;

        # For origin (mode local) cluster, the co-worker's HTTP APIs.
        # This origin will connect to co-workers and communicate with them.
        # please read: https://github.com/ossrs/srs/wiki/v4_CN_OriginCluster
        # TODO: FIXME: Support reload.
        coworkers           127.0.0.1:9091 127.0.0.1:9092;
    }
}

mode:集群的模式,对于源站集群,值应该是local。
origin_cluster:是否开启源站集群。
coworkers:源站集群中的其他源站的HTTP API地址。

如果流不在本源站,会通过HTTP API查询其他源站是否有流。如果流其他源站,则返回RTMP302重定向请求到该源站。如果所有源站都没有流则返回错误。

特别注意的是,如果流还没有开始推,那么服务器会返回失败,这点和源站没有在源集群的行为不同。当源站独立工作时,会等待流推上来;当源站在源站集群中时,因为流可能不会推到本源站,所以等待流推上来没有意义。

SRS流媒体服务:
SRS(Simple RTMP Server)是一款开源的流媒体服务器,是运营级的互联网直播服务器集群,追求更好的概念完整性和简单实现的代码。
1、SRS提供了丰富的接入方案将RTMP流接入SRS,包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。
2、SRS还支持将接入的RTMP流进行各种变换,譬如将RTMP流转码、流截图、转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、转封装成HDS、录制成FLV。
3、SRS包含支大规模集群如CDN业务的关键特性,譬如RTMP多级集群、源站集群、VHOST虚拟服务器、无中断服务Reload、HTTP-FLV集群、Kafka对接。
4、SRS还提供丰富的应用接口,包括HTTP回调、安全策略Security、HTTP API接口、RTMP测速。SRS在源站和CDN集群中都得到了广泛的应用Applications。

 类似资料: