1. Fragen:
Da Google Chrome nun auf dieselbe Quelle eingestellt ist, ist dieser Parameter im Quellcode fest codiert. Das Modul nginx-rtmp-flv verwendet kein http2.0. Wenn die meisten Browser also mit nginx interagieren, sind sie durch eingeschränkt Anzahl der Parallelität, sodass höchstens 6 Videokanäle abgespielt werden können.
2. Lösung:
1. Verwenden Sie die kommerzielle Version mit http2.0.
2. Verwenden Sie Websocket anstelle von http, aber vorhandene Lösungen unterstützen möglicherweise keine Änderungen.
3. Ändern Sie die Browserkonfiguration, aber nicht alle Browser können geändert werden.
4. Reverse-Proxy-Implementierung (Empfehlung: die einfachste)
: Erstellen Sie ein paar neue Ports, stellen Sie einen Proxy für die ursprünglichen Ports her und führen Sie eine Weiterleitung durch. Diese Lösung ist einfach zu konfigurieren.
# 以下为反向代理,解决网页视频最大只能播放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;
}
}
- Das Obige dient dazu, die Ports 8087, 8086 und 8085 an Port 8088 weiterzuleiten, was bedeutet, dass auf das Video von 8088 auch über die Ports 8087, 8086 und 8085 zugegriffen werden kann.
- http://192.168.2.247:8087/live/e.flv —> Proxy für: http://192.168.2.247:8088/live/e.flv
5. Hören Sie auf mehrere http-Ports (empfohlen)
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;
}
}