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 ...
随机推荐
- Ubuntu拒绝root用户ssh远程登录
sudo vim /etc/ssh/sshd_config 找到并用#注释掉这行:PermitRootLogin prohibit-password 新建一行 添加:PermitRootLogin y ...
- Linux文本编辑器Vim使用
1. 插入 o 在光标下插入新行 a 在光标后插入 i 在光标前插入 O 在光标上一行插入新行 A 在光标行尾插入 I 在光标行首插入 2.光标定位 gg 到第一行行首 G 到最后一行 ...
- django-orm 快速清理migrations缓存
Shell #!/bin/bash Project_dir=`pwd` find $Project_dir -type d -a -name 'migrations' \ -exec rm -rf { ...
- Python 的版本控制
版本控制工具的差异 这里介绍几个工具:pyenv.pyvenv. venv.virtualenv.pyenv-virtualenv virtualenv 是针对python的包的多版本管理,通过将py ...
- Discuz!开发之时间处理函数dgmdate()详解
使用过Discuz!的朋友都会知道Discuz!的时间可以显示成多少秒前.多少分钟前.几个小时前.几天前等等,而不是单纯的显示标准时间,这样的时间显示方式就更显得人性化了! 那么Discuz!是如 ...
- C#中的函数(三)参数传递及返回值
接前面二篇,继续开始新的研究 前面忘了说什么是主调函数与被调函数 主调函数:执行调用其它函数语句所在的函数 被调函数:被其它函数所调用的函数 简单说就是一个是发起调用者,另一个是被调用者 写个小例子说 ...
- adb 命令之push pull
C:\Users\ceshi>adb pull /storage/emulated/legacy/00001.vcf D:/E:\eclipse\Demo1>adb push E:\ecl ...
- 01-docker入门-安装docker
注意: ubuntu 安装 docker前提是要替换好 Ubuntu 的安装源. 安装步骤: P1: 正常开始 sudo apt-get update sudo apt-get -y insta ...
- CanvasRenderingContext2D.drawImage()无效,not working
我的技术框架:react,如若不采用堵塞方式,即, const myimg = await loadImage(icon28) ctx.drawImage(myimg,0,0, 100, 100) ...
- 管理node.js的nvm
我们坑同时在运行2个项目.而2个不同的项目所使用的node版本又不一样,或者是要用更新的node版本进行试验或学习.这种情况下,对于维护多个版本的node将会是一键非常麻烦的事情,而nvm就是为了解决 ...