SRS流媒体服务器安装配置
SRS全称Simple RTMP Server,定位是运营级的互联网直播服务器集群,是一个非常简单就可以推送rtmp视频流的服务器.
github主页:https://github.com/ossrs/srs
目前稳定版为2.0,3.0版本正在开发中,2.0的文档为:https://github.com/ossrs/srs/wiki/v2_CN_Home,文档为中文版,里面内容和组件介绍也很清晰,开发srs的大牛也是中国人,看到这里不禁自豪一番^-^.
下面介绍srs的安装和基本配置:
操作系统是CentOS 7,程序包使用的github release页最新稳定版2.0

srs安装非常简单,以下几步搞定:
unzip srs-2.0-r2.zip
cd srs-2.0-r2/trunk
./configure
make
现在srs源码就编译完成了,程序包比较大但是编译过程挺快,注意make不要加-j参数,会报错.
编译完之后可以执行make install,默认是安装到/usr/local/srs,可以自定义,当然也可以不install,现在就可以直接执行了.
配置文件是:conf/rtmp.conf,默认非常精简只有下面这些:

只需上面这几行配置就可以完整的实现rtmp流媒体服务器,其中listen默认为1935,是rtmp流推送的默认端口;max_connections值最大连接;daemon是否为守护进行在后台执行,然后vhost为虚拟主机可以隔离客户,这个默认不用配置即可.
然后可以执行命令启动rtmp服务: ./objs/srs -c conf/rtmp.conf ,启动之后就可以向服务推流了,另外srs也提供了完整的http服务用作srs服务器使用,具体配置文件在conf/srs.conf,其中多了http部分的配置,其中用于播放测试的配置如下,也可以添加到rtmp.conf配置中:
http_server {
enabled on;
listen ;
dir ./objs/nginx/html;
}
添加配置完成后,重启srs服务器然后可以访问页面,我这里地址是:http://192.168.182.135:8080,ip和端口要改成实际配置的,访问会跳转到默认页面.
现在可以进行rtmp推流测试,可以使用ffmpeg,在srs下的doc目录下有测试视频,新开shell窗口到ffmpeg目录下执行下面命令推送rtmp视频流:
./bin/ffmpeg -re -i /root/srs-2.0-r2/trunk/doc/source.200kbps.768x320.flv -vcodec copy -acodec copy -f flv rtmp://192.168.182.135:1935/live/livestream
这里说一下rtmp url的格式,和http协议类似,分为以下几个部分:
协议头:rtmp 和http,https类似,其他的还有RTMPS,RTMFP等.
主机:rtmp服务的主机,使用ip地址或主机名
端口号:rtmp服务器的端口,默认为1935,当不指定时默认是1935
App:这里app名称为live,类似于http中的目录或者应用路由,一般用于区分不同的流,可以任意指定.
Stream:这里为livestream,类似于http中的文件或者单个请求页面,也可以任意指定.
执行上面命令后即开始推流,然后可以在刚才的srs页面选择上面的JWPlayer6播放器或者AdobeOSMF播放器输入上面的rtmp地址,然后点击播放,正常播放视频即测试推流成功:

另外也可以使用vlc播放视频流,在ffmpeg推流执行完之前视频都是可以正常播放的.
以上就是SRS用作流媒体服务器的基本安装和配置.
SRS流媒体服务器安装配置的更多相关文章
- 为SRS流媒体服务器添加HLS加密功能(附源码)
为SRS流媒体服务器添加HLS加密功能(附源码) 之前测试使用过nginx的HLS加密功能,会使用到一个叫做nginx-rtmp-module的插件,但此插件很久不更新了,网上搜索到一个中国制造的叫做 ...
- Windows服务器安装配置PHP7.0环境图文教程
摘自http://www.111cn.net/phper/linux-php/109865.htm Windows服务器安装配置PHP7.0环境图文教程 www.111cn.net 更新:2016-0 ...
- Linux下Redis服务器安装配置
说明:操作系统:CentOS1.安装编译工具yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel ...
- CentOS下Redis服务器安装配置
说明: 操作系统:CentOS 1.安装编译工具 yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-de ...
- Linux下SVN服务器安装配置及客户端安装说明
原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...
- SRS流媒体服务器搭建+ffmpeg推流VLC取流观看
一.编译SRS https://github.com/winlinvip/simple-rtmp-server 目前有1.0-release.2.0.3.0等版本 2.0官方文档地址:https:// ...
- Linux 下 Memcached 缓存服务器安装配置
Linux 下 Memcached 缓存服务器安装配置 [日期:2011-08-06] 来源:Linux社区 作者:Linux [字体:大 中 小] [安装Memcache服务器端]我目前的平台 ...
- Apache服务器安装配置
Apache服务器安装 1.Apache服务器安装 在Linux系统下,apache服务器的安装方式比较灵活,可以使用二进制包安装,比如:rpm包.deb包.已编译好的包.也可以简单的使用y ...
- 装部署VMware vSphere 5.5文档 (6-2) 为IBM x3850 X5服务器安装配置VMware ESXi
部署VMware vSphere 5.5 实施文档 ########################################################################## ...
随机推荐
- tsconfig.json配置
什么工具看什么官网-一般都会有说明的 https://www.tslang.cn/docs/handbook/tsconfig-json.html 概述 如果一个目录下存在一个tsconfig.jso ...
- Jmeter接口测试实例图文示例
以getObjectByCode接口为例,用jmeter2.13来进行接口测试. 测试前准备: 测试工具及版本:jmeter 2.13 r1665067(须包含__MD5函数) 示例接口:8.1根据单 ...
- java 类字面常量,泛化的Class引用
类名.class 就是字面常量,代表的就是该类的Class对象引用.常量需要赋值给变量 简单,安全. 编译期接受检查,不需要像forName一样置于try/catch块中. 加载后不会进行初始化,初始 ...
- bzoj2243树链剖分+区间合并
树链上区间合并的问题比区间修改要复杂,因为每一条重链在线段树上分布一般都是不连续的,所以在进行链上操作时要手动将其合并起来,维护两个端点值 处理时的方向问题:lca->u是一个方向,lca-&g ...
- pytest八:skip 跳过用例
这是一个快速指南,介绍如何在不同情况下跳过模块中的测试1.无条件地跳过模块中的所有测试:pytestmark = pytest.mark.skip("all tests still WIP& ...
- Nginx 响应状态
ngx.status = ngx.HTTP_CONTINUE (100) (first added in the v0.9.20 release)ngx.status = ngx.HTTP_SWITC ...
- Spring MVC的前端控制器模式
前端控制器模式 spring mvc也是依赖servlet,所以spring mvc的请求处理是从一个servlet开始,这个servlet就是DispatcherServlet.前端控制器模式(Fr ...
- hdu 1542
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1542 题意: 求所给矩形的覆盖面积 题解: 利用扫描线的思想,先将坐标离散化,之后以y轴分成多个矩形求解, ...
- Python2 - 基础2 - 数据类型和模块
一.数据类型 标准数据类型(5): Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) 其中数字类型有4种: int(有符号整型) 在3 ...
- 求链表的倒数第m个元素
法一: 首先遍历一遍单链表,求出整个单链表的长度n,然后将倒数第m个,转换为正数第n-m+1个,接下去遍历一次就可以得到结果. 不过这种方法需要对链表进行两次遍历,第一次遍历用于求解单链表的长度,第二 ...