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;
}
}