摘要:本文是关于在linux centos系统上如何搭建流媒体服务器的一个简单教程。主要包括安装配置Nginx服务器、、拉流配置、推流软件和设置、效果展示。
一、安装配置Nginx服务器
1.Ngnix官网下载
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
一键安装(不安装报如下错误)。
4.解压安装Nginx
4.1先使用解压命令解压。
tar -zxvf nginx-1.18.0.tar.gz
使用l命令查看是否解压成功:
4.2安装
使用命令安装:
./configure
或指定安装位置:
./configure --prefix=/usr/local/nginx
然后执行make命令:
最后执行make install命令:
5,检查Ngni是否安装成功
1.查看安装路径:
whereis nginx
2.启动Ngnix
/usr/local/nginx/sbin/nginx
3.访问Nginx,默认端口80
http://服务器ip地址
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再次安装安装一下,具体参照:
https://www.cnblogs.com/zhangmingda/p/12638985.html
https://www.cnblogs.com/zhangmingda/p/12622590.html
和安装的原理是一样的。
三、修改nginx配置文件,用于推流。
vi /usr/local/nginx/conf/nginx.conf
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;
如下图:
四、使用OBS推流
设置里面,推流,选择自定义、填写服务器Url
rtmp:服务器ip:配置的端口号/yue
yue与第三节的rtmp里的配置相对应
串流密钥自己设置,在拉流时要使用
推流后,服务器保存流的文件夹就有数据
五、拉流
使用VLC播放器,VLC下载地址
windows:VLC media player 播放按钮可以输入rtmp://的连接,
步骤为:播放-->播放-->网络媒体
效果图:
六、复习Linux相关知识
1.单独开放1935端口号,防止推流时连接失败
对防火墙进行设置:
firewall-cmd --permanent --zone=public --add-port=1935/tcp
firewall-cmd --reload
firewall-cmd --zone=public --query-port=1935/tcp
这也适用于开放8080端口号,用于tomcat使用,由于粗暴地关闭服务器防火墙是有问题的,所以可单独开放。
2、编辑文件
vi 文件路径 #编辑文件 i 进行插入操作
按esc
:q! #不保存退出
:wq! #保存退出
rz -y #上传文件 不过依赖于连接服务器的客户端软件,比如Xshell
tar -zxvf 压缩包 #解压缩
安装git