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

文章讨论了由于浏览器的同源策略和HTTP1.1的并发限制,导致最多只能同时播放6路视频的问题。提出的解决方案包括使用支持http2.0的商业版本,采用WebSocket,修改浏览器配置,以及实施反向代理和监听多个HTTP端口来分发请求,从而绕过并发限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题:

现在谷歌浏览器由于是同源设置,这个参数是写死到源码中的;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;
        }
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值