Score:1

Nginx พร้อมโมดูล rtmp และสตรีมแบบปรับได้ ffmpeg ไม่ได้สร้างรายการ dash หลัก

ธง in

ฉันมีการติดตั้ง nginx ที่ใช้งานได้กับโมดูล rtmp ที่ทำงานได้อย่างมีเสน่ห์ในการสร้างสตรีมสดด้วย dash และ hsl ไม่มีปัญหา

เมื่อฉันพยายามเปิดใช้การแปลงรหัส ffmpeg สำหรับการสตรีมแบบปรับได้ มันสร้างเวอร์ชัน hls ได้ดี ส่วนวิดีโอเป็น m3pu8 สำหรับวิดีโอแต่ละเวอร์ชัน และ m3u8 หลักซึ่งเป็นเวอร์ชันที่ฉันเรียกใช้จากโปรแกรมเล่นเว็บ

แต่ในเวอร์ชัน dash ฉันได้รับ chunks รายการ mpd สำหรับแต่ละเวอร์ชัน แต่ไม่มีรายการหลัก

ฉันพลาดอะไรไปรึเปล่า? ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก.

nginx.conf:

เหตุการณ์ {
    worker_connections 1024;
}
rtmp { 
    เซิร์ฟเวอร์ { 
        ฟัง 2478; 

        แอปพลิเคชันสด { 
            มีชีวิตต่อ; 
            exec ffmpeg -i rtmp://stream.server.net/live/$name -threads 1
            -c:v libx264 -profile:v พื้นฐาน -b:v 768K -s 640x360 -f flv -c:a aac -ac 1 -เข้มงวด -2 -b:a 96k 
            rtmp://stream.server.net/liveout/$name_360 
            -c:v libx264 -profile:v พื้นฐาน -b:v 1024K -s 852x480 -f flv -c:a aac -ac 1 -เข้มงวด -2 -b:a 128k rtmp://stream.server.net/liveout/ $name_480;
        } 

        แอปพลิเคชั่นถ่ายทอดสด {
                มีชีวิตต่อ;
                เปิด;
                hls_path /home/stream/hls/;
                hls_fragment 4s;
                hls_playlist_length 60s;

                รีบ;
                dash_path /home/stream/dash;
                dash_fragment 10 วินาที;
                dash_playlist_length 30 วินาที;
                dash_nested ปิด;

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



    } 
} 
 
http { 
    เซิร์ฟเวอร์ {
        server_name stream.server.net;
        รูท /โฮม/สตรีม/;


        ตำแหน่ง /hls {
            # ให้บริการชิ้นส่วน HLS
            ประเภท {
                แอปพลิเคชัน/vnd.apple.mpegurl m3u8;
                วิดีโอ/mp2t ts;
            }
            รูท /โฮม/สตรีม/;
            add_header Cache-Control ไม่มีแคช;

            # การตั้งค่า CORS
            add_header 'Access-Control-Allow-Origin' '*' เสมอ;
            add_header 'Access-Control-Expose-Headers' 'ความยาวเนื้อหา';

            # อนุญาตคำขอเที่ยวบินล่วงหน้าของ CORS
            ถ้า ($request_method = 'ตัวเลือก') {
                add_header 'การควบคุมการเข้าถึง - อนุญาต - ต้นทาง' '*';
                add_header 'Access-Control-Max-Age' 1728000;
                add_header 'ประเภทเนื้อหา' 'ข้อความ/ชุดอักขระธรรมดา=UTF-8';
                add_header 'ความยาวเนื้อหา' 0;
                กลับ 204;
            }
        }


        ตำแหน่ง / เส้นประ { 
            รูท /โฮม/สตรีม/; 
            # ให้บริการชิ้นส่วน DASH
            ประเภท {
                แอปพลิเคชัน/ขีด+xml mpd;
                วิดีโอ/mp4 mp4;
            }

            add_header Cache-Control ไม่มีแคช;

            # การตั้งค่า CORS
            add_header 'Access-Control-Allow-Origin' '*' เสมอ;
            add_header 'Access-Control-Expose-Headers' 'ความยาวเนื้อหา';

            # อนุญาตคำขอเที่ยวบินล่วงหน้าของ CORS
            ถ้า ($request_method = 'ตัวเลือก') {
                add_header 'การควบคุมการเข้าถึง - อนุญาต - ต้นทาง' '*';
                add_header 'Access-Control-Max-Age' 1728000;
                add_header 'ประเภทเนื้อหา' 'ข้อความ/ชุดอักขระธรรมดา=UTF-8';
                add_header 'ความยาวเนื้อหา' 0;
                กลับ 204;
            }        
        }


        สถานที่ / สถิติ {
            rtmp_stat ทั้งหมด;
            # ใช้สไตล์ชีตนี้เพื่อดู XML เป็นหน้าเว็บ
            #ในเบราว์เซอร์
            rtmp_stat_stylesheet stat.xsl;
        }

        ตำแหน่ง /stat.xsl {
            # สไตล์ชีต XML เพื่อดูสถิติ RTMP
            # คัดลอก stat.xsl ทุกที่ที่คุณต้องการ
            # และใส่เส้นทางไดเร็กทอรีแบบเต็มที่นี่
            รูท /โฮม/สตรีม/;
        }



 
    
    ฟัง 443 ssl; # จัดการโดย Certbot
    ssl_certificate /etc/letsencrypt/live/stream.server.net/fullchain.pem; # จัดการโดย Certbot
    ssl_certificate_key /etc/letsencrypt/live/stream.server.net/privkey.pem; # จัดการโดย Certbot
    รวม /etc/letsencrypt/options-ssl-nginx.conf; # จัดการโดย Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # จัดการโดย Certbot

}
 
    ประเภท {
        ข้อความ/html html;
        แอปพลิเคชัน/ขีด+xml mpd;
    } 
 
    เซิร์ฟเวอร์ {
    ถ้า ($host = stream.server.net) {
        ส่งคืน 301 https://$host$request_uri;
    } # จัดการโดย Certbot

 
        ฟัง 80;
        server_name stream.server.net;
    กลับ 404; # จัดการโดย Certbot


}}
Score:0
ธง sr

ดูเหมือนว่าจะเป็นคุณลักษณะที่ขาดหายไปของ dash_variant ใน โมดูล nginx-rtmp. มันดูเหมือน ut0mt8 ได้เพิ่มคุณสมบัตินี้ แต่อาจไม่เสถียร

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา