SRS之安装与使用
1. 安装
1.1 github 获取源码
git clone https://github.com/ossrs/srs.git
1.2 编译
1.2.1 关闭防火墙和 selinux
先关闭防火墙,防止有时候启动没有问题,但是就是看不了。
Centos6.x 下关闭防火墙和 selinux 的命令:
# disable the firewall
sudo /etc/init.d/iptables stop
sudo /sbin/chkconfig iptables off
selinux也需要disable,运行命令getenforce,若不是Disabled,执行下面的步骤:
- 编辑配置文件:sudo vi /etc/sysconfig/selinux
- 把SELINUX的值改为disabled:SELINUX=disabled
- 重启系统:sudo init 6
Ubuntu 下关闭防火墙的命令为:
ufw disable
Ubuntu 下默认没有安装 selinux,需要手动安装。
1.2.2 编译
./configure && make
指定配置文件,即可启动SRS:
./objs/srs -c conf/srs.conf
2. 部署
2.1 RTMP 部署实例
假设服务器的IP是:192.168.1.170
2.1.1 编写SRS配置文件
SRS 只需要配置 vhost 和帧听端口,以及支持的最大连接数,就可以支持 RTMP:
# conf/rtmp.conf
listen 1935
max_connextions 1000
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
}
2.1.2 启动 SRS
./objs/srs -c conf/rtmp.conf
2.1.3 推送RTMP流
- 使用FFMPEG命令推流:
for((;;)); do \
./objs/ffmpeg/bin/ffmpeg -re -i ./doc/source.200kbps.768x320.flv \
-vcodec copy -acodec copy \
-f flv -y rtmp://192.168.1.170/live/livestream; \
sleep 1; \
done
- 使用FMLE推流,在FMS URL中输入vhost/app,在Stream中输入流名称。譬如:
# 譬如RTMP流:rtmp://192.168.1.170/live/livestream
FMS URL: rtmp://192.168.1.170/live
Stream: livestream
RTMP的URL规则,Vhost规则,参考: RTMP URL&Vhost
2.1.4 观看 RTMP 流
可以使用支持RTMP流的播放器播放,譬如vlc/flash player,播放地址:rtmp://192.168.1.170/live/livestream
或者使用在线SRS播放器播放: srs-player
2.1.5 RTMP 流的低延时配置
RTMP 流的延时在 1~3 秒,比 HLS 的延时更靠谱,低延时的配置参考: 低延时
2.2 HLS 部署实例
假设服务器的IP是:192.168.1.170
2.2.1 编译 SRS
./configure --with-nginx && make
2.2.2 启动分发 hls(m3u8/ts) 的 nginx
sudo ./objs/nginx/sbin/nginx
2.2.3 编写 SRS 配置文件
将以下内容保存为文件,如 conf/hls.conf,服务器启动时指定该配置文件(srs 的 conf 文件夹有该文件)。
# conf/hls.conf
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
hls {
enabled on;
hls_fragment 10;
hls_window 60;
hls_path ./objs/nginx/html;
hls_m3u8_file [app]/[stream].m3u8;
hls_ts_file [app]/[stream]-[seq].ts;
}
}
备注:hls_path 必须存在,srs 只会自动创建 ${hls_path} 下的 app 的目录。参考: Delivery HLS
2.2.4 启动 SRS
./objs/srs -c conf/hls_conf
2.2.5 启动推流编码器
使用 FFMPEG 命令推流:
.
for((;;)); do \
./objs/ffmpeg/bin/ffmpeg -re -i ./doc/source.200kbps.768x320.flv \
-vcodec copy -acodec copy \
-f flv -y rtmp://192.168.1.170/live/livestream; \
sleep 1; \
done
或使用支持 h.264 + aac 的 FMLE 推流(若不支持 h.264 + aac,则可以使用 srs 转码,参考转码后分发HLS部署实例)
FMS URL: rtmp://192.168.1.170/live
Stream: livestream
生成的流地址为:
- RTMP 流地址为: rtmp://192.168.1.170:1935/live/livestream
- HLS 流地址为: http://192.168.1.170:80/live/livestream.m3u8
2.2.6 观看 RTMP 流。
RTMP 流地址为: rtmp://192.168.1.170/live/livestream
可以使用 VLC 观看。或者使用在线 SRS 播放器播放: srs-player
备注:请将所有实例的IP地址192.168.1.170都换成部署的服务器IP地址。
2.2.7 观看 HLS 流
HLS 流地址为: http://192.168.1.170/live/livestream.m3u8
可以使用 VLC 观看,或者使用在线 SRS 播放器播放: jwplayer
备注:请将所有实例的IP地址192.168.1.170都换成部署的服务器IP地址。
注意:VLC无法观看纯音频流,jwplayer可以观看。
分发纯音频流参考: HLS audio only
2.3 RTMP 集群部署实例
2.3.1 编写 SRS 源站配置文件
# conf/origin.conf
listen 19350;
max_connections 1000;
daemon off;
pid objs/origin.pid;
srs_log_tank console;
vhost __defaultVhost__ {
}
2.3.2 编写 SRS 边缘配置文件
# conf/edge.conf
listen 1935;
max_connections 1000;
pid objs/edge.pid;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
mode remote;
origin 127.0.0.1:19350;
}
2.3.3 启动 SRS
./objs/srs -c conf/origin.conf &
./objs/srs -c conf/edge.conf &
2.3.4 启动推流编码器
使用FFMPEG命令推流:
.
for((;;)); do \
./objs/ffmpeg/bin/ffmpeg -re -i ./doc/source.200kbps.768x320.flv \
-vcodec copy -acodec copy \
-f flv -y rtmp://192.168.1.170/live/livestream; \
sleep 1; \
done
或使用FMLE推流:
FMS URL: rtmp://192.168.1.170/live
Stream: livestream
2.3.5 观看 RTMP 流
源站RTMP流地址为:rtmp://192.168.1.170:19350/live/livestream,可以使用 VLC 观看,或者使用在线 SRS 播放器播放: srs-player-19350
边缘RTMP流地址为:rtmp://192.168.1.170/live/livestream,可以使用 VLC 观看,或者使用在线 SRS 播放器播放: srs-player-19350
SRS之安装与使用的更多相关文章
- SRS流媒体服务器安装配置
SRS全称Simple RTMP Server,定位是运营级的互联网直播服务器集群,是一个非常简单就可以推送rtmp视频流的服务器. github主页:https://github.com/ossrs ...
- Simple-RTMP-Server 服务器搭建
Simple-RTMP-Server 服务器搭建 1. 服务器镜像获取 github源码地址 git clone https://github.com/winlinvip/simple-rtmp-se ...
- 使用ffmpeg进行网络直播
一.采集:使用python调用摄像头采集,原设想是使用树莓派摄像头采集,但是经费紧张买不起,先用摄像头凑合下,反正很简单. 原理就是先录一小段视频,然后循环播放,用 ...
- 开源流媒体服务器SRS学习笔记(1) - 安装、推流、拉流
SRS(Simple RTMP Server) 是国人写的一款非常优秀的开源流媒体服务器软件,可用于直播/录播/视频客服等多种场景,其定位是运营级的互联网直播服务器集群. 一.安装 官网提供了3种安 ...
- 虚拟机安装ubuntu18.04及其srs服务器的搭建
第一次写博客,有些地方可能不太完善. 1.安装VMware,我用的是VMware12. 2.下载Ubuntu镜像(自Ubuntu 17.10开始桌面版本不再提供32位安装镜像,Ubuntu Serve ...
- 轻量级直播服务器SRS安装及编译
最近由于公司开发的需要--互动会议,开始研究直播中的技术.由于自身没有接触过虚拟机导致在研究的过程中遇到了很大的问题,首先官方GitHub给出的文档并没有清晰的指出编译是需要通过何种方式进行编译?以下 ...
- 在海思hisiv100nptl平台上交叉编译并安装SRS
./configure --with-arm-ubuntu12 && make 须要安装: apt-get installgcc-arm-linux-gnueabi ,但hi3 ...
- linux部署安装SRS流媒体服务器教程
这段时间一直在搞RTMP流媒体直播项目,期间踩过很多坑,刚开始是用的nginx-rtmp作为流媒体转发服务器,但是效果并不尽人意,推拉流不稳定,特别是拉流,速度特别慢,平均要十多秒才能拉到流,并且交互 ...
- srs安装与ffmpeg推流
环境说明:ubuntu 16.04 当前目录为~/. 一. 下载 git clone https://github.com/ossrs/srs.git 二.部署SRS 关闭防火墙,执行如下命令. uf ...
随机推荐
- JavaWeb 之 三层架构:软件设计架构
界面层(表示层):用户看的得界面.用户可以通过界面上的组件和服务器进行交互. 业务逻辑层:处理业务逻辑的. 数据访问层:操作数据存储文件.
- Java 之 Session 包含验证码登录案例
需求: 1. 访问带有验证码的登录页面login.jsp 2. 用户输入用户名,密码以及验证码. 如果用户名和密码输入有误,跳转登录页面,提示:用户名或密码错误 如果验证码输入有误,跳转登录页面, ...
- Iris Network Traffic Analyzer嗅探器
网卡配置 ftp测试
- Order by 默认排序方式
--ORDER BY 默认排序方式为升序ASC:SELECT * FROM [TABLE_NAME] ORDER BY [COLUMN_NAME] ESC;--升序DESC:SELECT * FROM ...
- glfw之hello world
mac上用cocoa做imshow,资料似乎不好找,即便找到也需要和OC混编,而不是纯C.这不够纯粹.考虑用opengl做通用的.跨平台的imshow.先入门一下opengl,从glfw官方例子入手. ...
- Typora 基础的使用方法
大标题:通过ctrl + 数字 1 2 3 ....方式,还可以通过加# 的方式 一级标题 二级标题 三级标题 最多可以有6个#号 序号标题: 有序缩进是1. + tab 回车之后自动生成下一个序号 ...
- kali 攻击wordpress + trunkey linux wordpress 安装方法
Kali-linux攻击WordPress和其他应用程序 今天越来越多的企业利用SAAS(Software as a Service)工具应用在他们的业务中.例如,他们经常使用WordPress作 ...
- js 变量以及函数传参
一.变量: 基本类型是变量对象重新创建一个新值给变量对象空间,虽然是同一个值但是互不影响. 引用类型是也是将一个值重新赋值给新的变量空间,但是这个值是堆中对象的一个指针,新的变量和旧的变量指向是同一个 ...
- Python +urllib+urllib2 带数据的post请求实例
#coding:utf-8 ''' Created on 2017年11月2日 @author: li.liu ''' import urllib import urllib2 import re f ...
- 解决Android8.0系统应用打开webView报错
由于webView存在安全漏洞,谷歌从5.1开始全面禁止系统应用使用webview,使用会导致应用崩溃错误提示:Caused by: java.lang.UnsupportedOperationExc ...