Tôi đang cố gắng tạo một máy chủ HLS / DASH mô phỏng trực tiếp bằng cách sử dụng chuỗi tương đương sau:
tsplay -loop multi_resolution.ts | shaka_packager | nginx
Vấn đề là tạo tệp "multi_resolution.ts": Nó cần chứa một chương trình duy nhất với 1 âm thanh và 3 video PID, mỗi tệp cho 720p, 480p và 360p. Tại sao? Bởi vì đó là cách shaka_packager cần.
Tôi nghĩ rằng tôi đang bối rối bởi cách ánh xạ các luồng được chuyển mã vào tệp đầu ra. Ở đây, lệnh không hoạt động mà tôi đã đấu tranh với:
ffmpeg -i "big_buck_bunny_1080p.mov" -threads 16 \
-c:a aac -ac 2 -b:a:0 128k \
-c:v libx264 -pix_fmt yuv420p -profile:v high -level 4.0 -preset veryslow -tune film \
-vsync cfr -x264-params "nal-hrd=cbr" \
-b:v:1 5000k -minrate 2000k -maxrate 2000k -bufsize 4000k -g 30 -s 1280x720 \
-c:v libx264 -pix_fmt yuv420p -profile:v high -level 4.0 -preset veryslow -tune film \
-vsync cfr -x264-params "nal-hrd=cbr" \
-b:v:2 1500k -minrate 1000k -maxrate 1000k -bufsize 2000k -g 30 -s 854x480 \
-c:v libx264 -pix_fmt yuv420p -profile:v high -level 4.0 -preset veryslow -tune film \
-vsync cfr -x264-params "nal-hrd=cbr" \
-b:v:3 500k -minrate 500k -maxrate 500k -bufsize 1000k -g 30 -s 640x360 \
-program program_num=1:title=multi_p30:st=0:st=1:st=2:st=3 \
-f mpegts "big_buck_bunny_720_480_360.ts"
Tôi đã thử nghiệm từng mã hóa trong sự cô lập, và chúng có vẻ tốt. Tôi nghi ngờ vấn đề là với quản lý / ánh xạ luồng của tôi.
Cứu giúp?