Архитектура подсистемы HLS и Low-Latency HLS
Подсистема HLS (internal/hls/) генерирует стандартные HLS Master-манифесты, плейлисты видеосегментов и дорожки субтитров WebVTT напрямую из Ring Buffer.
1. Трансмуксинг в оперативной памяти без записи на диск
Традиционные медиасерверы сохраняют сегменты HLS на диск, совершая тысячи операций создания и удаления файлов каждую минуту.
RUSEON Core выполняет упаковку исключительно в оперативной памяти:
- Виртуальные сегменты: Сегменты (
.tsили.vtt) формируются в RAM и хранятся в кольцевом кеше (server.hls.live_segments_in_memory: 3). - Субмиллисекундный отклик: Отдача Master-манифеста происходит из памяти с задержкой
p50 < 0.5 мс. - Нулевой износ дисков: SSD-накопители не подвергаются постоянной перезаписи при живом просмотре.
2. Master-манифест со встроенными субтитрами WebVTT
RUSEON Core передает синхронные метаданные детекций ИИ через субтитры WebVTT:
index.m3u8: Главный плейлист, декларирующий видеопоток (stream.m3u8) и дорожку субтитров (subs.m3u8).subs.m3u8: Доставляет JSON-координаты рамок детекций, выровненные по времени видеокадров.
3. Жизненный цикл Lazy HLS (lazy_hls)
- При включенном
lazy_hls: trueтрансмуксер находится в спящем режиме до первого запроса. - При первом запросе
st.WakeUpHLSMuxer()подписывается на RingBuffer и формирует сегменты. - При отсутствии зрителей трансмуксер засыпает, экономя ресурсы CPU.