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流媒体服务器安装配置的更多相关文章

  1. 为SRS流媒体服务器添加HLS加密功能(附源码)

    为SRS流媒体服务器添加HLS加密功能(附源码) 之前测试使用过nginx的HLS加密功能,会使用到一个叫做nginx-rtmp-module的插件,但此插件很久不更新了,网上搜索到一个中国制造的叫做 ...

  2. Windows服务器安装配置PHP7.0环境图文教程

    摘自http://www.111cn.net/phper/linux-php/109865.htm Windows服务器安装配置PHP7.0环境图文教程 www.111cn.net 更新:2016-0 ...

  3. Linux下Redis服务器安装配置

    说明:操作系统:CentOS1.安装编译工具yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel ...

  4. CentOS下Redis服务器安装配置

    说明: 操作系统:CentOS 1.安装编译工具 yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-de ...

  5. Linux下SVN服务器安装配置及客户端安装说明

    原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...

  6. SRS流媒体服务器搭建+ffmpeg推流VLC取流观看

    一.编译SRS https://github.com/winlinvip/simple-rtmp-server 目前有1.0-release.2.0.3.0等版本 2.0官方文档地址:https:// ...

  7. Linux 下 Memcached 缓存服务器安装配置

    Linux 下 Memcached 缓存服务器安装配置 [日期:2011-08-06] 来源:Linux社区  作者:Linux [字体:大 中 小]   [安装Memcache服务器端]我目前的平台 ...

  8. Apache服务器安装配置

    Apache服务器安装 1.Apache服务器安装      在Linux系统下,apache服务器的安装方式比较灵活,可以使用二进制包安装,比如:rpm包.deb包.已编译好的包.也可以简单的使用y ...

  9. 装部署VMware vSphere 5.5文档 (6-2) 为IBM x3850 X5服务器安装配置VMware ESXi

    部署VMware vSphere 5.5 实施文档 ########################################################################## ...

随机推荐

  1. 一个tomcat上部署多个项目,并通过不同端口号访问不同的项目

    原文:http://www.cnblogs.com/kismetv/p/7228274.html#title3-1 现在以部署两个项目为例: 第一步:修改tomcat下的server.xml文件 配置 ...

  2. SPLAY,LCT学习笔记(四)

    前三篇好像变成了SPLAY专题... 这一篇正式开始LCT! 其实LCT就是基于SPLAY的伸展操作维护树(森林)连通性的一个数据结构 核心操作有很多,我们以一道题为例: 例:bzoj 2049 洞穴 ...

  3. python 全栈开发,Day14(列表推导式,生成器表达式,内置函数)

    一.列表生成式 生成1-100的列表 li = [] for i in range(1,101): li.append(i) print(li) 执行输出: [1,2,3...] 生成python1期 ...

  4. 分布式任务调度系统xxl-job搭建(基于docker)

    一.简介 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源代码并接入多家公司线上产品线,开箱即用. 更多介绍,请访问官网: http://w ...

  5. 步步为营-56-JQuery基础

    jQuery本质还是封装好的js,只不过代码更简洁,而做的更好 使用JQuery选择器会返回一个jQuery对象,其本质是dom数组,jQuery对象可以调用JQuery方法. 1 选择器 1.1 基 ...

  6. Pycharm 有些库(函数)没有代码提示

    问题描述  如图,输入变量im. 后没有关于第三方库相应的函数或其他提示,当然,此文档的前提是有相关的函数说明以及已有相关设置等 解决方案 python是动态强类型语言,IDE无法判断Image.op ...

  7. HDU 4763 求最大长度的串A,使得S满足APAQA

    给一个串,让你找一个子串,形如EAEBE,就是一个串在开头结尾中间各出现一次,问这个E最长是多少 Sample Input5xyabcaaaaaaabaaaxoaaaaa Sample Output0 ...

  8. PostgreSQL的SQL语句中的双引号引发的问题

    最近开发一个WEB的ETL工具需要用到不同的数据源.第一次用POSTGRESQL发现一个双引号引发的问题: 标准的SQL是不区分大小写的.但是PostgreSQL对于数据库中对象的名字允许使用支持大小 ...

  9. linux安装目录

    Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32./u ...

  10. 洛谷 p1044 栈 【Catalan(卡特兰数)】【经典题】

    题目链接:https://www.luogu.org/problemnew/show/P1044 转载于:https://www.luogu.org/blog/QiXingZhi/solution-p ...