nginx +rtmp+nginx-http-flv-module 环境搭建

nginx +rtmp+nginx-http-flv-module 环境搭建

注:因为RTMP,HLS 都会存在这样那样的缺点,为了更好的解决延时问题、拉流兼容性问题,所以我们准备用flv.js 进行拉流。
1、下载nginx包

下载地址:https://nginx.org/download/nginx-1.14.2.tar.gz

2、下载nginx-http-flv-module 模块包

下载地址:https://github.com/winshining/nginx-http-flv-module

3、安装虚拟机,并在opt文件夹下新建一个文件夹tools ,将下载的nginx 和nginx-rtmp-module 拷贝到opt 文件夹下

4、在/user/local下创建nginx 文件夹

mkdir /usr/local/nginx

5、安装依赖项

yum -y install unzip
yum -y install gcc-c++ 
yum -y install pcre pcre-devel  
yum -y install zlib zlib-devel 
yum -y install openssl openssl-devel

6、将tools 下面的nginx-http-flv-module-1.2.6.zip 解压到/usr/local/nginx下面

cd /opt/tools
unzip nginx-http-flv-module-1.2.6.zip //解压文件
//解压文件复制到/usr/local/nginx 目录下
cp /opt/toos/nginx-http-flv-module-1.2.6.zip  /usr/local/nginx/nginx-http-flv-module

7、将nginx-http-flv-module模板添加到nginx中,生成make文件 并安装nginx

cd /opt/tools
tar -zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1
./configure --prefix=/usr/local/nginx  --add-module=/usr/local/nginx/nginx-http-flv-module
make && make install

8、修改配置文件

cd /usr/local/nginx/conf
vim nginx.conf

worker_processes  10;
events {
    worker_connections  10240;
}
rtmp_auto_push on;
rtmp_auto_push_reconnect 1s;
rtmp_socket_dir /tmp;
rtmp{
	out_queue 4096;
	out_cork 8;
	max_streams 128;
	timeout 15s;
	drop_idle_publisher 15s;
	log_interval 5s;
	log_size 1m;
	server{
	 listen 9000;
	 server_name 192.168.42.34;
	 application myapp{
		 live on;
		 gop_cache on;
	  }
	 application hls{
	  live on;
	  hls on;
	  hls_path /usr/local/nginx/html/hls; 
	}
	 application dash{
	   live on;
	   dash on;
	   dash_path /usr/local/nginx/html/dash;
	 }
	
	}
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       8002;
	server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
	location /live{
		flv_live on;
		chunked_transfer_encoding  on;
		add_header 'Access-Control-Allow-Origin' '*';
		add_header 'Access-Control-Allow-Credentials' 'true';
	}
	location /hls{
		types {
		application/vnd.apple.mpegurl m3u8;
		video/mp2t ts;
		 }
		 root /usr/local/nginx/html/hls;
		 add_header 'Cache-Control' 'no-cache';
	}
	 location /dash {
            root /usr/local/nginx/html/dash;
            add_header 'Cache-Control' 'no-cache';
        }
	
	 location /stat {
            #configuration of push & pull status
              rtmp_stat all;
              rtmp_stat_stylesheet stat.xsl;
         }
	location /stat.xsl {
	  root /usr/local/nginx/nginx-http-flv-module;
	}

	 location /control {
            rtmp_control all; #configuration of control module of rtmp
        }	
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}

9、推流

10、拉流播放(flv.js)查看demo文件夹
nginx +rtmp+nginx-http-flv-module 环境搭建_第1张图片

flv.js demo

你可能感兴趣的:(flv.js,视频直播)