搭建流媒体服务器(Windows)
1 前言
本文将采用搭建nginx流媒体服务器的方法,使其支持rtmp协议的直播以及通过配置支持直播状态监听 。
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
----百度百科
2 资源需求
-
云服务器一台
-
nginx 1.7.11.3 Gryphon.zip 下载地址:http://nginx-win.ecsds.eu/download/
-
nginx-rtmp-module-master.zip 下载地址:https://github.com/arut/nginx-rtmp-module/
-
OBS(Open Broadcaster Software) 下载地址:https://obsproject.com
-
VLC 播放器 下载地址:https://www.videolan.org/
以上资源除云服务器以外均为开源(注:局域网测试无需云服务器)。
3 搭建流媒体服务器
3.1 远程连接云服务器

3.2 解压 nginx
解压nginx 1.7.11.3 Gryphon.zip到nginx-1.7.11.3-Gryphon文件夹中,在该文件夹中Shift + 鼠标右键打开cmd控制台,输入命令:nginx.exe -v可以查看版本信息:

相关命令:
start nginx # 开启nginx
nginx -s stop # 关闭nginx
nginx -s reload # 重新启动nginx
nginx -v # 查看版本号
nginx -t # 验证配置文件是否正确
3.3 配置 nginx
然后我们进入nginx-1.7.11.3-Gryphon文件夹的conf目录下,新建一个文件nginx.conf,文件内容如下:
worker_processes 1; #Nginx进程数,建议设置为等于CPU总核数
events {
worker_connections 1024; #工作模式与连接数上限
}
rtmp_auto_push on;
#RTMP服务
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
}
application live2 {
live on;
record off;
}
application vod {
play /var/flvs;
}
application vod_http {
play http://114.215.82.212/vod;
}
application hls {
live on;
hls on;
hls_path /tmp/hls;
}
}
}
#HTTP服务
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location /live_hls{
types{
#m3u8 type设置
application/vnd.apple.mpegurl m3u8;
#ts分片文件设置
video/mp2t ts;
}
#指向访问m3u8文件目录
alias ./m3u8File;
add_header Cache-Control no-cache; #禁止缓存
}
location /control{
rtmp_control all;
}
location /stat{
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl{
root ./nginx-rtmp-module-master;
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
然后,把nginx-rtmp-module-master.zip 解压到nginx-1.7.11.3-Gryphon文件夹下,进行直播状态监控。
3.4 开启 nginx
在nginx-1.7.11.3-Gryphon文件夹下,Shift + 鼠标右键打开cmd控制台,输入命令:start nginx,如下:

在浏览器输入IP地址:(本文云服务器地址为:114.215.82.212;注:局域网测试输入本地IP地址或者127.0.0.1或者 localhost),结果如下为启动成功:

在浏览器输入IP地址/stat(114.215.82.212),可以查看直播监控状态,如下:

4 推流
4.1 开启云服务端口
点击添加安全组规则,开启rtmp绑定的端口号1935,点击确定,如下:

添加成功如下:

4.2 OBS推流
安装OBS,打开应用添加一个场景,并在场景中添加来源(具体使用方式,自行查阅):

点击设置, 把推流地址rtmp://IP地址:端口号/live填入下方,如下:

然后点击开始推流,查看是否推流成功,发现有1条流数据,推流成功。

5 拉流
这里我们使用VLC media player,也可以使用其他开源拉流工具,自行百度。
安装VLC media player,打开如下,点击媒体,然后点击打开网络串流:

如下,输入推流地址,点击播放:

结果如下, 拉流成功:

查看直播监控状态如下,有2条流数据:

6 框架图

7 总结
本文在Windows系统下,在云服务器搭建了nginx流媒体服务器,实现了广域网下的直播推流(OBS)和拉流(FLV)。
本文详细介绍了在Windows系统上搭建nginx流媒体服务器的步骤,包括远程连接云服务器,安装并配置nginx,开启rtmp服务,使用OBS进行推流,以及使用VLC播放器拉流。通过这个过程,读者可以学会如何在广域网上实现直播功能。

4760

被折叠的 条评论
为什么被折叠?



