Resuelva el problema de que el video http-flv solo puede reproducir un máximo de 6 canales en la página web

1 pregunta:

Ahora que Google Chrome está configurado en la misma fuente, este parámetro está codificado en el código fuente; el módulo nginx-rtmp-flv no usa http2.0, por lo que cuando la mayoría de los navegadores interactúan con nginx, estarán limitados por el número de concurrencia, por lo que solo se pueden reproducir 6 canales de video como máximo.

2. Solución:

1. Utilice la versión comercial con http2.0.
2. Use websocket en lugar de http, pero es posible que las soluciones existentes no admitan cambios.
3. Modifique la configuración del navegador, pero no todos los navegadores se pueden modificar.
4. Implementación de proxy inverso (recomendación: la más simple)
: cree algunos puertos nuevos, proyecte los puertos originales y realice un reenvío. Esta solución es fácil de configurar.

 # 以下为反向代理,解决网页视频最大只能播放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;
		}
	}
  • Lo anterior es para pasar los puertos 8087, 8086 y 8085 al puerto 8088, lo que significa que también se puede acceder al video de 8088 a través de los puertos 8087, 8086 y 8085.
  • http://192.168.2.247:8087/live/e.flv —> proxy a: http://192.168.2.247:8088/live/e.flv

5. Escuche múltiples puertos http (recomendado)

    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