Перейти к содержимому

HLS Segmenter

HLS (HTTP Live Streaming) — один из самых популярных протоколов потоковой передачи мультимедиа. Он предназначен для передачи аудио- и видеоданных по HTTP с сервера на клиентов. Медиа-контент может распространяться через сети доставки контента (CDN) для повышения доступности. В сочетании с динамическим, адаптивным стримингом HLS обеспечивает наивысшее качество при различных условиях сети.

HLS Diagram

HLS Segmenter — это функция Astra, которая разбивает непрерывный медиапоток на HLS-сегменты. Для предоставления доступа к HLS-сегментам Astra генерирует HLS Media Playlist.

Astra выполняет роль HLS-сегментатора. Другие функции, такие как транскодирование и кэширование, требуют дополнительного программного обеспечения. Например, для транскодирования рекомендуется использовать FFmpeg, а для кэширования — Nginx.

В веб-интерфейсе Astra параметры HLS доступны в Настройки → HLS

HLS Segmenter Options

  • Duration: длительность HLS-сегмента в секундах. По умолчанию: 3
  • Quantity: количество сегментов в одном HLS Media Playlist. Значение по умолчанию — 4

Метод генерации имени файла для HLS-сегментов

  • PCR-hash: значение по умолчанию. Безопасный вариант, Astra использует временную метку из потока для имени файла
  • Sequence: последовательный номер в качестве имени файла

Путь к ресурсам позволяет выбрать способ указания пути к ресурсам в HLS Media Playlist:

  • Absolute: значение по умолчанию. URL с указанием домена и полного пути к ресурсу. Например: https://example.com/play/channel-id/segment-001.ts
  • Relative: относительный путь к ресурсу. Например: segment-001.ts
  • Full: полный путь к ресурсу. Например: /play/channel-id/segment-001.ts
  • Round duration value: эта функция округляет длительность сегментов медиапотока до целых значений (не рекомендуется)
  • Use Expires header: эта опция добавляет заголовок Expires в HTTP-ответ. Этот заголовок необходим для кэширующих прокси. Подробнее читайте в HLS Caching Proxy with Nginx
  • Pass all data PIDs: по умолчанию в HLS-сегменты записываются только видео- и аудиопакеты. Эта опция позволяет записывать все пакеты данных.
  • Use default headers for .m3u8: при включении этой опции Astra добавляет HTTP-заголовки к ответу с HLS Media Playlist для поддержки Cross-Origin Resource Sharing. Включено по умолчанию
  • TS Extension: эта опция позволяет изменить расширение файлов для HLS-сегментов. По умолчанию — ts
  • TS mime type: эта опция позволяет изменить MIME-тип для HLS-сегментов. По умолчанию — video/MP2T
  • Use default headers for .ts: при включении этой опции Astra добавляет HTTP-заголовки к ответу с HLS-сегментом для поддержки Cross-Origin Resource Sharing. Включено по умолчанию