Puncte:1

Nginx cu modulul rtmp și fluxul adaptiv ffmpeg nu creează manifestul Master Dash

drapel in

Am o configurație de lucru a nginx cu modulul rtmp care funcționează ca un farmec creând fluxuri live atât cu dash, cât și cu hsl. Nicio problemă până acum.

Când încerc să activez transcodarea ffmpeg pentru streaming adaptiv, se creează foarte bine versiunea hls, bucățile video, un m3pu8 pentru fiecare versiune video și un master m3u8 care este cel pe care îl apelez din playerul web.

Dar în versiunea liniuță primesc bucățile, manifestul mpd pentru fiecare versiune, dar niciun manifest master.

Am pierdut ceva? Orice ajutor ar fi foarte apreciat.

nginx.conf:

evenimente {
    conexiuni_muncitor 1024;
}
rtmp { 
    Server { 
        asculta 1935; 

        aplicație live { 
            trăiește mai departe; 
            exec ffmpeg -i rtmp://stream.server.net/live/$name -threads 1
            -c:v libx264 -profile:v linie de bază -b:v 768K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 96k 
            rtmp://stream.server.net/liveout/$name_360 
            -c:v libx264 -profile:v linie de bază -b:v 1024K -s 852x480 -f flv -c:a aac -ac 1 -strict -2 -b:a 128k rtmp://stream.server.net/liveout/ $nume_480;
        } 

        aplicație liveout {
                trăiește mai departe;
                hls pe;
                calea_hls /home/stream/hls/;
                hls_fragment 4s;
                hls_playlist_length 60s;

                liniuță pe;
                cale_liniuță /home/stream/dash;
                liniuță_fragment 10s;
                dash_playlist_length 30s;
                dash_neted off;

                hls_variant _360 BANDWIDTH=448000;
                hls_variant _480 BANDWIDTH=1152000;
        }



    } 
} 
 
http { 
    Server {
        nume_server stream.server.net;
        root /home/stream/;


        locație /hls {
            # Serviți fragmente HLS
            tipuri {
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }
            root /home/stream/;
            add_header Cache-Control fără cache;

            # Configurare CORS
            add_header „Acces-Control-Allow-Origin” „*” întotdeauna;
            add_header 'Acces-Control-Expose-Headers' 'Content-Length';

            # Permiteți solicitările de zbor prealabil CORS
            dacă ($request_method = 'OPȚIUNI') {
                add_header „Acces-Control-Allow-Origin” „*”;
                add_header „Acces-Control-Max-Age” 1728000;
                add_header 'Content-Type' 'text/plain charset=UTF-8';
                add_header „Lungimea conținutului” 0;
                întoarcere 204;
            }
        }


        locație / liniuță { 
            root /home/stream/; 
            # Serviți fragmente DASH
            tipuri {
                aplicație/liniuță+xml mpd;
                video/mp4 mp4;
            }

            add_header Cache-Control fără cache;

            # Configurare CORS
            add_header „Acces-Control-Allow-Origin” „*” întotdeauna;
            add_header 'Acces-Control-Expose-Headers' 'Content-Length';

            # Permiteți solicitările de zbor prealabil CORS
            dacă ($request_method = 'OPȚIUNI') {
                add_header „Acces-Control-Allow-Origin” „*”;
                add_header „Acces-Control-Max-Age” 1728000;
                add_header 'Content-Type' 'text/plain charset=UTF-8';
                add_header „Lungimea conținutului” 0;
                întoarcere 204;
            }        
        }


        locație /stat {
            rtmp_stat all;
            # Utilizați această foaie de stil pentru a vizualiza XML ca pagină web
            # în browser
            rtmp_stat_stylesheet stat.xsl;
        }

        locație /stat.xsl {
            # Foaie de stil XML pentru a vizualiza statisticile RTMP.
            # Copiați stat.xsl oriunde doriți
            # și puneți calea completă a directorului aici
            root /home/stream/;
        }



 
    
    asculta 443 ssl; # gestionat de Certbot
    ssl_certificate /etc/letsencrypt/live/stream.server.net/fullchain.pem; # gestionat de Certbot
    ssl_certificate_key /etc/letsencrypt/live/stream.server.net/privkey.pem; # gestionat de Certbot
    includ /etc/letsencrypt/options-ssl-nginx.conf; # gestionat de Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gestionat de Certbot

}
 
    tipuri {
        text/html html;
        aplicație/liniuță+xml mpd;
    } 
 
    Server {
    dacă ($gazdă = stream.server.net) {
        returnează 301 https://$host$request_uri;
    } # gestionat de Certbot

 
        asculta 80;
        nume_server stream.server.net;
    întoarce 404; # gestionat de Certbot


}}
Puncte:0
drapel sr

Aceasta pare să fie caracteristica lipsă a dash_variant în nginx-rtmp-modul. Se pare ca ut0mt8 a adăugat această caracteristică, dar este posibil să nu fie stabilă.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.