Skip to content

Архитектура подсистемы 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.

Связанная документация ​

Released under the MIT License.