srs搭建rtmp流媒体服务器

简介: srs搭建rtmp流媒体服务器

编译源码获取:

git clone https://github.com/ossrs/srs.git


或者网站:

https://github.com/ossrs/srs


或者github搜索srs,start最多的一个就是,在github上实时首发更新,这个开源库是国人维护的。

srs编译可以不安装,在安装包里运行生成的srs应用。srs是单进程的,但可以在一台计算机上启用多个srs服务。

./configure
make
./objs/srs -c conf/rtmp.conf //有很多配置文件,不同的配置文件用来启用不同的功能。


根据终端打印的信息可以,此时srs使用了本机的ip作为srs服务器的ip,本地或用另一台计算机向他推流地址为:rtmp://本机ip/live/livestream,其中live/livestream是默认的,可改动,后面有提到。


查看是否已经启动了srs :

ps -ef | grep srs


或者

./etc/init.d/srs status


实时查看日志

tail -f ./objs/srs.log


停止srs

./etc/init.d/srs stop


查看版本

./objs/srs -v

以上完成了nginx的rtmp流媒体搭建。


conf/rtmp.conf中的配置默认配置为:

listen              1935;
max_connections     1000;
vhost __defaultVhost__ {
}


1935是rtmp使用的端口,如果改动需要在推拉流时指定端口号:如rtmp://192.168.100.109:2935/live/yqw


其中vhost __defaultVhost__就是rtmp://本机ip/live/livestream后的/live/livestream,如果不改动则默认是这个。

/live/livestream可以任意改变比如/x/y,只要推拉流一致就行,但必须是两个标识。


其他编译选项:

./configure --prefix=/home/usr/local --full
//full是把所有功能到加进来
--use-sys-ssl //使用本机的ssl,它默认会编译自带的ssl


以上参考官方维护的github-wiki:

https://github.com/ossrs/srs/wiki/v1_CN_DeliveryRTMP


srs+rtmp与nginx+rtmp性能延时比较,另一篇博客:srs+rtmp和nginx+rtmp推流延时比较

srs的控制台:

https://ossrs.net/releases/

不同版本的srs对webrtc的支持如下:


下面是srs的计划表,目前更新到4.0.2

SRS 4.0.14,支持了RTMP推流,WebRTC播放,即推送RTMP流到srs,由srs使用协议进行转换生成WebRTC进行拉流,参考Wiki: RTMP to RTC。
SRS 4.0.76,支持了WebRTC推流,WebRTC播放,参考Wiki: RTC to RTC。
SRS 4.0.95,支持了WebRTC推流,RTMP播放,参考Wiki: RTC to RTMP 和 #2303 。
SRS 4.0.96,一对一通话DEMO,参考SFU: One to One。
SRS 4.0.98,多人会议DEMO,参考SFU: Video Room。
SRS 4.0.98,会议录制,直播连麦DEMO,参考Room to Live。


srs在conf目录中有很多配置文件,测试推荐使用srs.conf,这个配置文件支持rtmp推流,hls,http-flv拉流。这个配置文件中的1935端口对应的是rtmp服务,1985对应的是http api服务,8080对应的是http-flv,hls服务器端口。进一步学习看官网https://github.com/ossrs/srs/wiki/v4_CN_HTTPApi

每个配置文件对应的配置解析可以查看full.conf

用过web查看控制台:

http://本机ip:端口号/console/ng_index.html


端口号例如是srs.conf配置文件可以是1985

max_connections配置文件中的最大连接数是包括推拉流的,srs_log_tank配置日志以什么样的形式输出,file即代表以文件形式输出,console即代表在控制台输出。 srs_log_file用来配置日志存放路径,daemon是on的话意思是启动后后台运行。

通过web播放srs流,例如是srs.conf配置,web的url如下:

http://本机ip:8080/players/srs_player.html


然后输入URL:

http://本机ip:8080/live/livestream.flv


实测这个播放器延时大于没有参数配置的ffplay直接播放。

http_remux中的mount修改参数的后缀,来决定支持http-flv还是http-ts这里是前者,后者可以参考http.ts.live.conf这个配置文件。

srs的官网:

http://www.ossrs.net/releases/


这里有webrtc的推拉流演示。

srs是默认支持webrtc的(–rtc=on)

srs低延时排查流程和设置:

https://github.com/ossrs/srs/issues/2742

srs中文手册:

https://github.com/ossrs/srs/wiki/v4_CN_Home#getting-started



相关文章
|
1月前
|
存储 编解码 应用服务中间件
使用Nginx搭建流媒体服务器
本文介绍了流媒体服务器的特性及各种流媒体传输协议的适用场景,并详细阐述了使用 nginx-http-flv-module 扩展Nginx作为流媒体服务器的详细步骤,并提供了在VLC,flv.js,hls.js下的流媒体拉流播放示例。
178 1
|
7月前
|
网络协议 Shell Windows
搭建rtmp流媒体服务器的步骤
网络上很多问文章介绍使用ffmpeg推送和拉流,经常遗漏安装rtsp-simple-server的步骤,执行推流命令:
296 0
|
8月前
|
监控 Unix 应用服务中间件
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
Android-音视频学习系列-(八)基于-Nginx-搭建(rtmp、http)直播服务器
|
6月前
|
域名解析 监控 CDN
搭建SRS直播服务器
搭建SRS直播服务器涉及下载安装包,解压后运行`./INSTALL`安装。配置`srs.conf`文件调整服务器参数,如端口和带宽。使用OBS等工具推流,VLC等播放器或浏览器拉流。配置域名解析和CDN以优化访问。监控服务器状态并进行调优确保稳定性。参照官方文档和社区资源可获取详细指导。祝搭建成功!
317 8
|
6月前
|
存储 编解码 应用服务中间件
|
6月前
|
存储
流媒体服务器与视频服务器有什么区别?
总的来说,流媒体服务器和视频服务器的主要区别在于,流媒体服务器更注重实时性和并发性,而视频服务器更注重存储和分发。
217 2
|
5月前
|
JavaScript 前端开发 关系型数据库
Vue 开源项目:一款实用的个人音乐流媒体服务器,轻松打造属于自己的音乐天堂!!!
Vue 开源项目:一款实用的个人音乐流媒体服务器,轻松打造属于自己的音乐天堂!!!
|
8月前
|
Go 开发工具 git
推荐一个开源流媒体服务器-livgo
推荐一个开源流媒体服务器-livgo
290 0
|
8月前
|
编解码 缓存 网络协议
EasyDarwin开源流媒体服务器
EasyDarwin开源流媒体服务器
287 0
|
8月前
|
数据采集 编解码 图形学
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务
373 0