SRS 安装与部署RTMP服务

1,411 阅读2分钟

这是我参与8月更文挑战的第17天,活动详情查看:8月更文挑战

SRS主要运行在Linux系统上,譬如Centos和Ubuntu,包括x86、x86-64、ARM和MIPS。其他的OS可以使用 srs-docker开发和运行,比如macOS、Windows等。

SRS可以在一台服务器上运行集群,或者在多台服务器上也可以运行集群。SRS是单进程模型,不支持多进程;您可以使用 go-oryx 支持多进程。

1、安装

测试环境

CentOS 8 x64

基于安装包安装

下载与安装

SRS发布版本提供安装包的下载,访问 ossrs.net 下载安装包,如:SRS-CentOS7-x86_64-3.0.153.zip

image-20201125151534988

上传到Linux系统并执行安装:

#SRS-CentOS7-x86_64-3.0.153.zip文件名替换为实际的文件名
unzip SRS-CentOS7-x86_64-3.0.153.zip
cd ./SRS-CentOS7-x86_64-3.0.153/
./INSTALL 

image-20201125152129573

若您需要自己编译SRS,请参考编译SRS


2、RTMP部署

#安装的目录
#/usr/local/srs
#默认的可用配置文件
#/usr/local/srs/conf/srs.conf

编写配置文件rtmp.conf

# 安装后,存在默认的配置文件/usr/local/srs/conf/rtmp.conf
listen              1935;
max_connections     1000;
vhost __defaultVhost__ {
}

启动SRS

#cd到/usr/local/srs目录
./objs/srs -c conf/rtmp.conf

推流

使用 OBS 推流,安装软件后依次点击【设置 - 推流】并填写相关信息,例如

#服务器的地址
rtmp://192.168.123.22/live
#串流密钥
livestream

image-20201125154920501

再设置【场景-来源】添加视音频或图像等采集源,点击【开始推流】,此时OBS的右下角会显示推流成功的状态如下:

播流

FLV播放器

HLS播放器

RTMP播放器

填写对应协议的播放地址,例如rtmp://192.168.123.22/live/livestream,点击【播放视频】效果如下:

image-20201125155719767

常见问题

有时候启动没有问题,但是就是看不了,原因是防火墙和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