这段时间一直在搞RTMP流媒体直播项目,期间踩过很多坑,刚开始是用的nginx-rtmp作为流媒体转发服务器,但是效果并不尽人意,推拉流不稳定,特别是拉流,速度特别慢,平均要十多秒才能拉到流,并且交互并不是那么友好,比如说刚断开再立即拉流的话,很难拉到流,还有就是播放延时的问题,最少延时5秒,后面使用了srs来做,效果就好很多了,不仅解决了nginx-rtmp的不友好操作,也提升了性能和效率,延时也降低了,最低的时候延时1秒不到,不同的播放器有会有所差别,目前用过ffplay ,potplayer ,vlc分别测试过,ffplay的延时会比较高,potplayer和vlc播放延时比较低,平均在1.5秒左右。

  选择SRS的理由也非常简单,SRS是国内的大牛开发的,虽然只能部署在linux平台,但部署的方式非常简单,不懂的小白只要看教程也可以直接上手,目前我部署过deepin和centos,都能正常运行,且操作方式一样,同时SRS的文档非常齐全,特别是wiki里面的各种说明,基本可以满足基础的需要,当然,srs还有很多优点,可以自行百度搜索了解一下。

  OK,言归正传,下面开始部署:

  SRS的部署不建议直接用git命令下载安装,文件组件会缺少,最好是到https://github.com/winlinvip/simple-rtmp-server下载zip压缩包,里面有完整的压缩包组件,我下载的是srs-3.0release.zip版本,。

 一、 如果你是通过CRT远程连接到你的Linux服务器的,需要先把文件压缩包上传到服务器,也可以用xshell管理,xshell的我没用过,可以自行百度怎么上传。

  我下载的是srs-3.0release.zip版本,接下来是通过先远程登录Linux系统,我是通过CRT的sftp上传到服务器的,过程如下:

  1.远程登录linux系统

  2.按alt+p启动sftp服务

  3.输入put+路径上传文件(例:put E:srs-3.0release.zip)

  4.在linux界面输入ls看一下是否上传成功

 二、部署SRS

  1.执行ls命令,查看文件是否在当前目录

linux部署安装SRS流媒体服务器教程-LMLPHP

  2.执行解压命令:unzip ses-3.0.zip,解压srs-3.0.zip(ps:我为了方便,把文件名的release给去掉了),如果执行报错command not found,可能是unzip没安装,执行一下yum install -y zip unzip命令,安装一下zip和unzip就可以了。

  3.执行ls命令,查看是否解压完成

linux部署安装SRS流媒体服务器教程-LMLPHP

  4.执行cd srs-3.0release/trunk ,进入srs文件夹

  5.执行./configure && make命令,编译文件

  6.执行./objs/srs -c conf/srs.conf 启动srs服务

linux部署安装SRS流媒体服务器教程-LMLPHP

  7.执行ps -ef | grep srs查看服务是否启动成功

linux部署安装SRS流媒体服务器教程-LMLPHP

  8.到此srs安装已经完成,还需要安装ffmpeg服务,输入cd 3rdparty进入第三方组件包,可以看到srs自带了很多第三方插件

linux部署安装SRS流媒体服务器教程-LMLPHP

  9.我们主要安装ffmpeg,如果你的Linux系统还没安装yasm的话,需要先安装yasm,srs也自带了,直接解压即可,我这里自带的是yasm-1.2.0.zip

  10.安装yasm,输入unzip yasm-1.2.0.zip,解压

  11.输入ls查看当前目录文件,输入cd yasm-1.2.0进入yasm文件夹

  12.输入./configure编译yasm

  13.输入make && make install安装yasm,安装完成即可。

  14.输入cd .. 返回上一层目录

  15.开始安装ffmpeg,我这里安装的是ffmpeg-4.1

  16.输入unzip ffmpeg-4.1.zip解压文件

  17.输入cd ffmpeg-4.1进入解压后ffmepg的文件目录

  18.安装ffmpeg之前,需要先取得root权限,直接输入:su 在输入密码即可取得root权限。

  19.输入./configure命令

  20.输入:make && make install 开始安装ffmpeg

  到这里,基本就全部安装完毕了。直接启动服务即可,推流的时候往linux直接推流即可,如:rtmp://srs服务器IP地址:1935/live/xxx,然后客户端再拉流就可以了

05-11 09:23