欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Windows 设置 RTMP 服务器-1 Nginx-RTMP 服务器设置

最编程 2024-10-07 07:08:48
...

1.1 下载Nginx

Nginx下载链接
下载Nginx
该版本是带RTMP模块且编译过的Nginx版本,解压完成,可以直接使用。

1.2 下载Nginx的RTMP扩展包

Nginx的RTMP扩展包下载链接
下载RTMP扩展包

下载完成后解压,将解压后的文件夹放入Nginx的解压目录下。
放置扩展包位置

1.3 配置Nginx

在Nginx解压目录中的conf目录下,新建一个文件nginx.conf,内容如下:

worker_processes  1;
 
events {
    worker_connections  1024;
}
 
#RTMP服务
rtmp {
	server { 
		listen		1935;	#监听端口
		chunk_size	4096;	#数据传输块大小
		application live{	#创建名为"live"的应用
		  live on;
		}
		application hls {  # 创建rtmp应用hls
			live on;  # 当路径匹配时,开始播放
			#HLS协议进行m3u8实时直播.如果是http-flv不需要配置下面的
			wait_key on;#保护TS切片
			hls on;  #实时回访
			hls_nested on;#每个流都自动创建一个文件夹
			hls_path C:/tmp/hls; #媒体块ts的位置
			hls_fragment 5s; #每个ts文件为5s的样子
			hls_playlist_length 30s;  #保存m3u8列表长度时间,默认是30秒,可考虑三小时10800秒
			hls_cleanup on; #是否删除列表中已经没有的媒体块TS文件,默认是开启
			hls_continuous on; #连续模式
       	}
    }
}
 
#HTTP服务,可以通过浏览器访问 http://localhost:9091/stat 查看服务器状态(9091为你配置的端口号,可以*设置)
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile      on;
    keepalive_timeout  65;
	
    server {
        listen       9091;
        server_name  localhost;
		
		location /stat {
			rtmp_stat all;
			rtmp_stat_stylesheet stat.xsl;
		}
 
		location /stat.xsl { 
			root ./nginx-rtmp-module-1.2.2/;	#rtmp拓展包目录
		}
 
        location / {
            root   html;
            index  index.html index.htm;
			add_header Access-Control-Allow-Origin *; # 配置跨域
            add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
            add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
        }

	location /control {
            rtmp_control all;
        }

	location /rtmp-publisher {
             root nginx-rtmp-module/test;
        }
		#加入hls支持
        location /hls {
            types {
                application/vnd.apple.mpegurl m3u8; 
                #或 application/x-mpegURL
                video/mp2t ts;
            }
            alias C:/tmp/hls;  #视频流文件目录(自己创建)
            expires -1;
            add_header Cache-Control no-cache; #跨域支持
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
            add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
        }
 
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}                             

注意

  • 端口号可以自行配置,有可能你电脑9091已经被使用了,所以需要换一个。
  • alias属性也需要自行设置,创建一个暂存视频流文件目录

1.4 启动Nginx

使用管理员身份打开命令行界面,进入Nginx目录下,输入nginx.exe -c conf\nginx.conf

启动后,可以在任务管理器中看到Nginx进程

Nginx进程
Nginx常用命令:

nginx.exe -s stop    //快速终止服务器,可能不保存相关信息
nginx.exe -s quit    //完整有序停止服务器,保存相关信息
nginx.exe -s reload  //重新载入Nginx,当配置信息修改,需要重新载入这些配置时使用此命令

1.5 查看Nginx状态

在浏览器地址栏输入http://localhost:9091/stat(如果改变了端口,记得改变访问链接端口号),可以看到服务器状态信息
Nginx状态

推荐阅读