解决http-flv视频在网页端最大只能播放6路的问题

一、问题:

现在谷歌浏览器由于是同源设置,这个参数是写死到源码中的;nginx-rtmp-flv模块使用的不是http2.0,故大部分浏览器和nginx交互的时候,会因为并发数量的限制,因此最大只能播放6路视频。

二、解决方案:

1、使用商业版带有http2.0。
2、使用websocket替代http的,但是既有的方案未必支持更改。
3、修改浏览器配置,但是各个浏览器不是都可以修改的。
4、反向代理(推荐:最简单)
实现:做几个新端口,代理一下原先的端口,做一个转发,这个方案是配置简单。

 # 以下为反向代理,解决网页视频最大只能播放6路的问题
 server {
    
    
		listen		8087;
		server_name 192.168.2.247;
		location /live/{
    
    
			proxy_pass http://192.168.2.247:8088;
		}
	}
 server {
    
    
		listen		8086;
		server_name 192.168.2.247;
		location /live/{
    
    
			proxy_pass http://192.168.2.247:8088;
		}
	}
  server {
    
    
		listen		8085;
		server_name 192.168.2.247;
		location /live/{
    
    
			proxy_pass http://192.168.2.247:8088;
		}
	}
  • 以上就是将8087、8086、8085端口代理到8088端口,也就是说通过8087、8086、8085端口也能访问到8088的视频。
  • http://192.168.2.247:8087/live/e.flv —>代理到: http://192.168.2.247:8088/live/e.flv

5、监听多个http端口(推荐)

    server {
    
    
        listen       8087;
        server_name  localhost;
        location / {
    
    
            root   html;
            index  index.html index.htm;
            add_header Access-Control-Allow-Origin '*';
            add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
            add_header Access-Control-Allow-Headers '*';
        }
        location /live {
    
    
            flv_live on;
            chunked_transfer_encoding  on; #open 'Transfer-Encoding: chunked' response
            add_header 'Access-Control-Allow-Origin' '*'; #add additional HTTP header
            add_header 'Access-Control-Allow-Credentials' 'true'; #add additional HTTP header
            add_header Access-Control-Allow-Headers '*';
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
    
    
            root   html;
        }
    }
    server {
    
    
        listen       8086;
        server_name  localhost;
        location / {
    
    
            root   html;
            index  index.html index.htm;
            add_header Access-Control-Allow-Origin '*';
            add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
            add_header Access-Control-Allow-Headers '*';
        }
        location /live {
    
    
            flv_live on;
            chunked_transfer_encoding  on; #open 'Transfer-Encoding: chunked' response
            add_header 'Access-Control-Allow-Origin' '*'; #add additional HTTP header
            add_header 'Access-Control-Allow-Credentials' 'true'; #add additional HTTP header
            add_header Access-Control-Allow-Headers '*';
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
    
    
            root   html;
        }
    }

猜你喜欢

转载自blog.csdn.net/weixin_54514751/article/details/131593267