Hi we are using quic on http3 for providing our iptv linear channels.
We have an in house built app running on our own inhouse build aosp android box. Along with this we also have the app running on Google TV too.
when connected on wireless sometime we see that the channels shows signal unavailable, this happens for 1 or 2 secs and then starts streaming again.
this issue is not being seen from another app but running on tcp. even this app is pulling the streaming from the same transcoder but only a different packager.
Help greatly appreciated as to how to solve this issue
following parameters have been set
listen 443 ssl;
listen [::]:443 quic reuseport;
listen 443 quic reuseport;
http2 on;
http3 on;
quic_retry on;
quic_gso on;
ssl_certificate /usr/local/nginx/fullchain.pem;
ssl_certificate_key /usr/local/nginx/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_early_data off;
# 3. Global Stability & Cache Fix (Applies to ALL channels)
#limit_rate $ts_limit;
limit_rate 1600k;
limit_rate_after 500k;
proxy_hide_header Access-Control-Allow-Headers;
proxy_hide_header Access-Control-Allow-Methods;
proxy_hide_header Access-Control-Expose-Headers;
Prevent playlist caching globally
add_header Cache-Control “no-cache, no-store, must-revalidate” always;
add_header Pragma “no-cache” always;
expires -1;
add_header ‘Alt-Svc’ ‘h3=“:443”; ma=86400’ always;
add_header ‘Access-Control-Allow-Origin’ ‘*’ always;
proxy_hide_header Access-Control-Allow-Origin;
proxy_hide_header Access-Control-Allow-Headers;
proxy_hide_header Access-Control-Allow-Methods;
proxy_hide_header Access-Control-Expose-Headers;
Prevent playlist caching globally
add_header Cache-Control “no-cache, no-store, must-revalidate” always;
add_header Pragma “no-cache” always;
expires -1;
add_header ‘Alt-Svc’ ‘h3=“:443”; ma=86400’ always;
add_header ‘Access-Control-Allow-Origin’ ‘*’ always;
######################ADDED for Package Header
add_header Delegate-CH “sec-ch-ua-platform-version, sec-ch-ua-model”;
add_header Accept-CH “sec-ch-ua-platform-version, sec-ch-ua-model, sec-ch-ua-platform” always;
add_header Critical-CH “sec-ch-ua-platform-version, sec-ch-ua-model” always;
add_header Permissions-Policy “ch-ua-platform-version=(self), ch-ua-model=(self)” always;
add_header Vary “Sec-CH-UA-Platform-Version, Sec-CH-UA-Model” always;
add_header Access-Control-Allow-Methods “GET, OPTIONS” always;
add_header Access-Control-Allow-Headers “X-App-Package, Content-Type” always; #Added by Raghavendra for app restriction
add_header Access-Control-Max-Age 86400 always;
# Global Proxy Defaults for Keepalive
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_buffering on;
proxy_buffer_size 128k;
proxy_buffers 16 256k;
proxy_busy_buffers_size 512k;
proxy_request_buffering off;
proxy_read_timeout 300s;
proxy_connect_timeout 20s;