搭建nginx流媒体服务器(Windows)

搭建流媒体服务器(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 远程连接云服务器

搭建nginx流媒体服务器(Windows)_第1张图片

3.2 解压 nginx

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

搭建nginx流媒体服务器(Windows)_第2张图片

相关命令:

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,如下:

搭建nginx流媒体服务器(Windows)_第3张图片

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

搭建nginx流媒体服务器(Windows)_第4张图片

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

搭建nginx流媒体服务器(Windows)_第5张图片

4 推流

4.1 开启云服务端口

点击添加安全组规则,开启rtmp绑定的端口号1935,点击确定,如下:

搭建nginx流媒体服务器(Windows)_第6张图片

添加成功如下:

搭建nginx流媒体服务器(Windows)_第7张图片

4.2 OBS推流

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

搭建nginx流媒体服务器(Windows)_第8张图片

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

搭建nginx流媒体服务器(Windows)_第9张图片

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

搭建nginx流媒体服务器(Windows)_第10张图片

5 拉流

这里我们使用VLC media player,也可以使用其他开源拉流工具,自行百度。

安装VLC media player,打开如下,点击媒体,然后点击打开网络串流

搭建nginx流媒体服务器(Windows)_第11张图片

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

搭建nginx流媒体服务器(Windows)_第12张图片

结果如下, 拉流成功:

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

搭建nginx流媒体服务器(Windows)_第13张图片

6 框架图

搭建nginx流媒体服务器(Windows)_第14张图片

7 总结

本文在Windows系统下,在云服务器搭建了nginx流媒体服务器,实现了广域网下的直播推流(OBS)和拉流(FLV)。

你可能感兴趣的:(开源流媒体)