三、搭建SRS流媒体服务器

时间:2024-02-15 18:05:53

提前准备

SRS全称Simple RTMP Server,是一个非常简单就可以推送rtmp视频流的服务器。

我们这次使用Nginx服务中的rtmp模块来搭建rtmp服务器。
参考资料:搭建nginx服务


安装rtmp模块

rtmp模块下载地址:github下载
腾讯云盘

1、安装rtmp模块

$ yum -y install git
$ cd /usr/local/nginx/ #将rtmp模块下载到该目录下
$ git clone https://github.com/arut/nginx-rtmp-module.git

#使用腾讯云下载的模块包需要解压
$ tar zxvf nginx-rtmp-module.tar.gz

$ cd nginx-1.18.0 #进入之前解压的nginx文件夹
#安装rtmp模块
$ ./configure --add-module=/usr/local/nginx/nginx-rtmp-module
$ make && make install

2、编辑配置文件

$ vim /usr/local/nginx/conf/nginx.conf
 
# 在文件底部添加下面内容:
rtmp {
    server {
        listen 1935; #监听的端口 
        chunk_size 4000;
        application live {  #这里的live可以自定义命名,拉流地址要用到它
            live on; #开启实时
            hls on; #开启hls
            hls_path /usr/local/nginx/html/live; #rtmp推流请求路径,文件存放路径
            hls_fragment 5s; #每个TS文件包含5秒的视频内容
        }
    }
}

3、重新加载配置文件

$ nginx -s reload

如果配置文件没有写错,重新加载配置文件后,1935端口还是没启起来,建议重启nginx服务

$ pkill nginx
$ ps -ef | grep nginx
$ nginx

4、关闭防火墙,selinux

$ systemctl stop firewalld
$ setenforce 0

5、查看端口是否开放

#查看服务是否运行
$ ps -ef | grep nginx

$ netstat -lnt|grep 1935
$ netstat -lnt|grep 80
$ yum -y install lsof
$ lsof -i :80

测试推流拉流

1、使用OBS软件进行推流
下载地址:官网下载
腾讯云盘

配置OBS软件






2、使用VLC软件进行拉流

拉流成功,有些许延迟属于正常


参考资料:
搭建rtmp服务器
搭建rtmp服务器
使用OBS软件推流
使用OBS软件推流
搭建HLS流媒体服务器