Сегментатор HLS

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

Диаграмма HLS

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

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

Опции сегментатора HLS

В веб-интерфейсе Astra опции HLS доступны в разделе Настройки -> HLS

Опции сегментатора HLS

  • Duration - продолжительность сегмента HLS в секундах. По умолчанию: 3
  • Quantity - количество сегментов в одном медиаплейлисте HLS. По умолчанию установлено значение 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 - эта опция добавляет в HTTP-ответ заголовок Expires. Этот заголовок необходим для кэширующих прокси-серверов. Подробнее в Кэширующий прокси-сервер HLS с Nginx
  • Pass all data PIDs - По умолчанию в сегменты HLS записываются только видео и аудио пакеты. Данная опция позволяет записывать все пакеты данных.

Плейлист HLS Media

  • Use default headers for .m3u8 - с этой опцией Astra добавляет в ответ HTTP-заголовки с HLS Media Playlist for Cross-Origin Resource Sharing. Включена по умолчанию

Сегменты HLS

  • TS Extension - эта опция позволяет настроить расширение файлов для сегментов HLS. По умолчанию ts
  • TS mime type - эта опция позволяет настроить тип MIME для сегментов HLS. По умолчанию video/MP2T
  • Use default headers for .ts - с этой опцией Astra добавляет к ответу HTTP-заголовки с HLS Segment for Cross-Origin Resource Sharing. Включена по умолчанию