...
Code Block |
---|
|
curl -s http://localhost:8082/test/test.m3u8
sleep 1
curl -s http://localhost:8082/test-240p/test-240p.m3u8
sleep 1
curl -s http://localhost:8082/test-480p/test-480p.m3u8
sleep 1
curl -s http://localhost:8082/test-720p/test-720p.m3u8
sleep 1 |
Хранение сегментов HLS
...
Использование диска
По умолчанию, HLS сегменты записываются на диск сервера, в каталог /usr/local/FlashphonerWebCallServer/hls. На диске хранится количество сегментов, соответствующее заданному размеру плейлиста, по умолчанию 10
Code Block |
---|
|
hls_list_size=10 |
Чем меньше количество сегментов в плейлисте, тем меньше задержка при воспроизведении. Однако при коротком плейлисте подписчики с недостаточной пропускной способностью каналов могут запрашивать сегменты, которых уже нет в плейлисте и на диске. В связи с этим, в сборке 5.2.581 добавлена возможность хранить некоторое число сегментов на диске после их ухода из плейлиста. Эта возможность включается настройкой
Code Block |
---|
|
hls_hold_segments_before_delete=true |
По умолчанию, будет храниться 5 последних сегментов
Code Block |
---|
|
hls_hold_segments_size=5 |
Например, если плейлист содержит 3 сегмента
Code Block |
---|
|
#EXTM3U
#EXT-X-VERSION:8
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:15
#EXT-X-DISCONTINUITY-SEQUENCE:1
#EXTINF:3.415,
test_017.ts
#EXTINF:10.417,
test_018.ts
#EXTINF:9.084,
test_019.ts |
на диске будут храниться 3 текущих сегмента из плейлиста и 5 предшествующих
Code Block |
---|
|
test_012.ts
test_013.ts
test_014.ts
test_015.ts
test_016.ts
test_017.ts
test_018.ts
test_019.ts |
Использование оперативной памяти
При больших нагрузках на сервер, например, если он выделен для раздачи потоков по HLS, чтение сегментов с диска для отправки подписчикам может давать задержки. В этом случае необходимо включить хранение HLS сегментов в памяти
...