摘要:本文是关于在linux centos系统上如何搭建流媒体服务器的一个简单教程。主要包括安装配置Nginx服务器、、拉流配置、推流软件和设置、效果展示。

一、安装配置Nginx服务器

1.Ngnix官网下载

rtmp 流媒体服务器 java 流媒体服务器部署_rtmp 流媒体服务器 java


2.将下载好的Ngnix压缩包上传到服务器

使用xshell工具连接自己的linux服务器,使用命令:

rz  -y

回车上传文件(前提是配置好rz命令,如不知道,可参照我之前写的在liunx上安装jdk教程)。
这里注意:你想要将文件上传到哪个文件夹就要先转到该文件目录下再使用rz -y 回车命令。
3.下载安装要依赖的软件,不安装后面Nginx无法安装成功
使用命令:

yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel

一键安装(不安装报如下错误)。

rtmp 流媒体服务器 java 流媒体服务器部署_rtmp 流媒体服务器 java_02

4.解压安装Nginx
4.1先使用解压命令解压。

tar -zxvf nginx-1.18.0.tar.gz

使用l命令查看是否解压成功:

rtmp 流媒体服务器 java 流媒体服务器部署_nginx_03


4.2安装

使用命令安装:

./configure

或指定安装位置:

./configure --prefix=/usr/local/nginx

rtmp 流媒体服务器 java 流媒体服务器部署_centos_04


然后执行make命令:

rtmp 流媒体服务器 java 流媒体服务器部署_centos_05


最后执行make install命令:

rtmp 流媒体服务器 java 流媒体服务器部署_centos_06


5,检查Ngni是否安装成功

1.查看安装路径:

whereis nginx

2.启动Ngnix

/usr/local/nginx/sbin/nginx

rtmp 流媒体服务器 java 流媒体服务器部署_centos_07


3.访问Nginx,默认端口80

http://服务器ip地址

rtmp 流媒体服务器 java 流媒体服务器部署_rtmp 流媒体服务器 java_08


4。相关命令:

重新加载配置命令:./nginx/sbin/nginx -s reload

    查看命令:ps -ef | grep nginx

    关闭命令:./sbin/nginx -s reload -s stop

    关闭命令:kill -9 进程号

二、加载rtmp模块
由于会使用到rtmp协议,所以要再ngnix上配置rtmp模块。
rtmp是实时消息传输协议,Real Time Messaging Protocol,是 Adobe Systems 公司为 Flash 播放器和服务器之间音频、视频和数据传输开发的开放协议。协议基于 TCP,是一个协议族,包括 RTMP 基本协议及 RTMPT/RTMPS/RTMPE 等多种变种。RTMP 是一种设计用来进行实时数据通信的网络协议,主要用来在 Flash/AIR 平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。这种方式的实时性比较强,基本能保证延迟在1-2s内,是现在国内直播主要采用的方式之一;不过使用这种协议,就必须安装flash,而H5、IOS、Android并不能原生支持flash,因此这种协议能流行多久,就不得而知了,毕竟移动端才是现在的主流。

1.在安装nginx的时候就添加nginx-rtmp-module模块(这里我把下载的nginx-rtmp-module模块和ngnix解压后的文件夹放在同一级,所以使用…/)

./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module  --with-http_ssl_module

2.在安装nginx的时候没有添加nginx-rtmp-module模块,则需要对nginx再次安装安装一下,具体参照:

和安装的原理是一样的。

三、修改nginx配置文件,用于推流。

vi  /usr/local/nginx/conf/nginx.conf

rtmp 流媒体服务器 java 流媒体服务器部署_centos_09

rtmp {
     server {
         listen 1935; # 监听端口
         chunk_size 4000;
         application yue { # 应用名
             live on;
             hls on;
             hls_path /usr/local/nginx/html/yue; # 与之前创建的 hls_path 对应,也可直接写,让它自己创建
             hls_fragment 10s;
         }
     }
}
include /etc/nginx/conf.d/*.conf;

如下图:

rtmp 流媒体服务器 java 流媒体服务器部署_nginx_10

四、使用OBS推流

设置里面,推流,选择自定义、填写服务器Url

rtmp:服务器ip:配置的端口号/yue

yue与第三节的rtmp里的配置相对应

串流密钥自己设置,在拉流时要使用

rtmp 流媒体服务器 java 流媒体服务器部署_rtmp 流媒体服务器 java_11

推流后,服务器保存流的文件夹就有数据

rtmp 流媒体服务器 java 流媒体服务器部署_rtmp 流媒体服务器 java_12

五、拉流

使用VLC播放器,VLC下载地址

windows:VLC media player 播放按钮可以输入rtmp://的连接,
步骤为:播放-->播放-->网络媒体

rtmp 流媒体服务器 java 流媒体服务器部署_linux_13

效果图:

rtmp 流媒体服务器 java 流媒体服务器部署_服务器_14

六、复习Linux相关知识

1.单独开放1935端口号,防止推流时连接失败
对防火墙进行设置:

firewall-cmd --permanent --zone=public --add-port=1935/tcp
firewall-cmd --reload
firewall-cmd --zone=public --query-port=1935/tcp

rtmp 流媒体服务器 java 流媒体服务器部署_rtmp 流媒体服务器 java_15


这也适用于开放8080端口号,用于tomcat使用,由于粗暴地关闭服务器防火墙是有问题的,所以可单独开放。

2、编辑文件

vi  文件路径   #编辑文件  i  进行插入操作
按esc   
:q!  #不保存退出
:wq!  #保存退出
rz -y  #上传文件 不过依赖于连接服务器的客户端软件,比如Xshell
tar -zxvf   压缩包  #解压缩
安装git