linux部署安装SRS流媒体服务器教程
这段时间一直在搞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命令,查看文件是否在当前目录

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命令,查看是否解压完成

4.执行cd srs-3.0release/trunk ,进入srs文件夹
5.执行./configure && make命令,编译文件
6.执行./objs/srs -c conf/srs.conf 启动srs服务

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

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

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,然后客户端再拉流就可以了
linux部署安装SRS流媒体服务器教程的更多相关文章
- linux上安装配置samba服务器
linux上安装配置samba服务器 在linux上安装配置samba服务器 在这给大家介绍一个不错的家伙,samba服务.如果您正在犯愁,如何在Windows和Linux之间实现资源共享,就请看看这 ...
- 为SRS流媒体服务器添加HLS加密功能(附源码)
为SRS流媒体服务器添加HLS加密功能(附源码) 之前测试使用过nginx的HLS加密功能,会使用到一个叫做nginx-rtmp-module的插件,但此插件很久不更新了,网上搜索到一个中国制造的叫做 ...
- 在linux下安装配置rabbitMQ详细教程
在linux下安装配置rabbitMQ详细教程 2017年12月20日 17:34:47 阅读数:7539 安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. Er ...
- linux下安装配置svn服务器
linux下安装配置svn服务器 1. svn服务器安装 将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器. tar xfvz su ...
- MAC 上编译安装nginx-rtmp-module 流媒体服务器
MAC 上编译安装nginx-rtmp-module 流媒体服务器 记录踩坑过程 下载nginx和nginx-rtmp-module wget http://nginx.org/download/ng ...
- windows media server 组件安装后流媒体服务器启动失败
做好的web应用,去客户现场部署的时候发现流媒体服务器不能启动.(现场服务器系统为windows server2008 R2) 自己测试的时候搭建环境没什么问题.从来没有遇到安装windows med ...
- 在 Linux 中安装 Lighttpd Web 服务器
Lighttpd 是一款开源 Web 服务器软件.Lighttpd 安全快速,符合行业标准,适配性强并且针对高配置环境进行了优化.相对于其它的 Web 服务器而言,Lighttpd 占用内存更少:因其 ...
- linux centos7 安装mysql-5.7.17教程(图解)
1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/local/mysql数据库保存位置:/data/mysql日志保存位置:/data/log/mysql 2下 ...
- Linux下安装Nginx详细图解教程
什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...
随机推荐
- nginx 日志问题(\x22)
nginx 日志问题(\x22) 问题: 1.request_body中含有中文时,nginx日志会转换为十六进制. 2.nginx记录问题 POST /xxxxx HTTP/1.1|200|4266 ...
- 八、collection系列-----计数器、有序字典、默认字典、可命名元组、双向队列、单向队列一.计数器(对字典的扩展)
一.计数器(对字典的扩展) 有如下一个字典: dic = {'k1':123,'k2':123,'k3':12} 统计12出现的次数,123出现的次数 1.统计出现次数 >>> ...
- java static学习
原创,转载请注明来源sogeisetsu的博客园 static,在类里面定义公共的属性,它可以统一修改,并只占一个内存.从而达到方便修改和少占内存的目的 先放上代码,您可以先越过代码,看后面的讲解内容 ...
- Comet OJ - Contest #10 C.鱼跃龙门
传送门 题意: 求最小的\(x\),满足\(\frac{x(x+1)}{2}\% n=0,n\leq 10^{12}\). 多组数据,\(T\leq 100\). 思路: 直接考虑模运算似乎涉及到二次 ...
- vue-loader作用
(1)浏览器本身并不认为.vue文件,所以必须对.vue文件进行加载解析,此时需要vue-loader (2)类似的loader还有许多,如:html-loader.css-loader.style- ...
- npm执行gulp提示编译错误
script如下 "test":"gulp --gulpfile test.js" 运行 npm run test ,提示编译错误 解决办法如下: 增加scri ...
- webpack中路径的理解
webpack 前端打包工具, 开发人员要面对的路径主要是: 打包前的路径(开发环境路径)和打包后的路径(生产环境路径) 在webpack.config.js中配置的output.path, outp ...
- vue中使用过的全局API
Vue.directive()---------全局自定义指令 Vue.filter()----------全局过滤器 Vue.$set()----------为响应式对象添加一个响应式属性 Vue. ...
- 前端,DJ
Vue模块 1.Vue都有哪些指令,简单说说? """ Vue里面常见指令有文本指令:v-text.v-html,属性指令:v-bind,方法指令:v-on,条件指令:v ...
- es6引用模块import后面加上花括号{}和不加花括号的区别
在使用import语法引用模块时,如何正确使用{} 例如:有两个文件,home.js.user.js 当需要在home.js中引入user.js的时候 //home.js import user fr ...