Информация о программном обеспечении:
* ubuntu 16.04
* Nginx 1.15.1
Так что недавно я читал о низкой задержке для потока HLS на nginx и нашел решение здесь: Уменьшите задержку HLS с +30 секунд
это уменьшит задержку до ~ 7 секунд, но затем я также хочу перекодировать поток, и задержка для этого не имеет большого значения (все, что я хочу, это чтобы источник имел низкую задержку, но если транскодированная версия может, то это быть дополнительным), но когда я делаю это, источник не имеет проблем, но версия транскодирования вызывает проблемы, которые, по сути, скрипт браузера будет пытаться воспроизвести раннюю версию фрагмента, который уже был удален, так что это вызывает 404 ошибки. Так, как мне решить это так, чтобы я мог достигнуть задержки ~ 7 секунд для источника и иметь версию транскодирования, работающую в то же время?
Моя текущая конфигурация:
FFMPEG Transcode
-c:v copy -preset:v ultrafast -b:v 6000K -c:a copy -tune zerolatency -f flv rtmp://localhost/stream/$name_source
-c:v libx264 -preset ultrafast -s 852x480 -tune fastdecode -b:v 1000K -c:a copy -tune zerolatency -f flv rtmp://localhost/stream/$name_medium
-c:v libx264 -preset ultrafast -s 1280x720 -tune fastdecode -b:v 3500K -c:a copy -tune zerolatency -f flv rtmp://localhost/stream/$name_high
-c:v libx264 -preset ultrafast -s 426x240 -b:v 400K -c:a copy -tune fastdecode -tune zerolatency -f flv rtmp://localhost/stream/$name_low
HLS:
hls_fragment 1s;
hls_playlist_length 4s;
hls_variant _source BANDWIDTH=600000;
hls_variant _high BANDWIDTH=350000;
hls_variant _medium BANDWIDTH=100000;
hls_variant _low BANDWIDTH=40000;