原创

Centos7.4部署SRS流媒体服务

一、SRS 简介

SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。SRS提供了丰富的接入方案将RTMP流接入SRS,

包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。SRS还支持将接入的RTMP流进行各种变换,譬如将RTMP流转码、流截图、

转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、转封装成HDS、录制成FLV。SRS包含支大规模集群如CDN业务的关键特性,譬如RTMP

多级集群、源站集群、VHOST虚拟服务器、无中断服务Reload、HTTP-FLV集群、Kafka对接。此外,SRS还提供丰富的应用接口,包括HTTP回调、

安全策略Security、HTTP API接口、RTMP测速。SRS在源站和CDN集群中都得到了广泛的应用Applications。

二、SRS特点

1、简单,足够稳定。

2、高性能,高并发,SRS是单线程、事件/st-线程驱动。最大可支持6k客户端。官网性能介绍: 性能测试

3、可以作为rtmp源服务器,也可作为节点对接CND,从其他rtmp服务器上推/拉流。

4、支持Vhost 及defaultVhost配置。

5、核心功能是分发RTMP,主要定位就是分发RTMP低延时流媒体,同时支持分发HLS流。

6、服务Reload 机制,即在不中断服务时应用配置的修改。达到不中断服务调整码率,添加或调整频道。

7、cache 一个GOP ,达到播放器能快速播放的效果。

8、可监听多个端口,支持长时间推拉流。

9、forward配置项,可在服务器间转发流。

10、支持转码,可以对推送到SRS的RTMP流进行转码,然后输出到其他RTMP服务器。可对指定的流配置是否转码。内置了FFMPEG.同时会提供FFMPEG的部分功能:输出纯音频、加文字水印、剪切视频、添加图片LOGO等。

11、支持http回调,提供了客户端连接接口、关闭连接接口、流发布、流停止、流播放、停止播放等接口,方便再封装的应用跟踪流信息。内置也有一个http服务器,可直接调用api接口。

12、内置流带宽测试工具、完善的日志跟踪规则。

13、脚本管理,提供init.d系统脚本,也可通过调用api 控制服务状态。

14、采集端支持:设备、本地文件,RTSP摄像头、rtmp等。官方意思是,能拉任意的流,只要FFMPEG支持,不是h264/aac都没有关系,FFMPEG能转码。SRS的接入方式可以是“推流到SRS”和“SRS主动拉流”。

15、支持将RTMP流录制成flv文件。FLV文件的命名规则是随机生成流名称,上层应用可通过http-callback 管理流信息。

16、SRS日志很完善,支持打印到console和file,支持设置level,支持连接级别的日志,支持可追溯日志。

三、部署

1、切换到安装目录,克隆项目

[root@bogon]# cd /data/env/
[root@bogon env]# git clone -b 4.0release https://gitee.com/ossrs/srs.git

2、进入项目,执行编译

[root@bogon env]# cd srs/trunk
[root@bogon trunk]# ./configure
[root@bogon trunk]# make

3、查看配置文件

[root@bogon trunk]# cat conf/srs.conf 
# main config for srs.
# @see full.conf for detail config.

listen              1935;
max_connections     1000;
#srs_log_tank        file;
#srs_log_file        ./objs/srs.log;
daemon              on;
http_api {
    enabled         on;
    listen          1985;
}
http_server {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}
rtc_server {
    enabled on;
    listen 8000; # UDP port
    # @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#config-candidate
    candidate $CANDIDATE;
}
vhost __defaultVhost__ {
    hls {
        enabled         on;
    }
    http_remux {
        enabled     on;
        mount       [vhost]/[app]/[stream].flv;
    }
    rtc {
        enabled     on;
        # @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#rtmp-to-rtc
        rtmp_to_rtc off;
        # @see https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#rtc-to-rtmp
        rtc_to_rtmp off;
    }
}

根据需求修改配置文件撒,以上配置说明

1935端口是推流端口

8080端口是拉流地址(播流地址)

srs/trunk/objs/nginx/html/{app名字}   这个目录是存放hls直播文件的(m3u8、.ts文件),live是app名字


4、启动服务器

[root@bogon trunk]# ./objs/srs -c conf/srs.conf# 查看启动状态[root@bogon trunk]# ./etc/init.d/srs status
SRS(pid 32952) is running.                                 [  OK  ]

5、web访问srs控制台(建议进行限制,不要让所有人访问)

浏览器打开:IP地址:8080

如:http://192.168.30.132:8080




6、直播推流(OBS),配置好推流地址之后,点击“开始推流”

7、观看直播




正文到此结束
评论

登录后才能发表评论 登录/注册

0评论
  • 还没有评论,快来抢沙发吧!