Термин
m3u8
Текстовый формат плейлиста, используемый HLS. Определён в RFC 8216 (август 2017) и расширен HLS-спецификациями вплоть до 2025. UTF-8, расширение `.m3u8`.
Файл m3u8 – UTF-8 текстовый манифест, перечисляющий медиасегменты и метаданные для HLS-плеера. Каждая строка – либо комментарий, либо тег, начинающийся с `#EXT-X-`, либо URL на медиасегмент. Теги несут длительность (`#EXTINF`), маркеры разрыва (`#EXT-X-DISCONTINUITY`), ключи шифрования (`#EXT-X-KEY`), определения partial-сегментов (`#EXT-X-PART`) и десятки других аннотаций.
В HLS есть два вида m3u8. Multi-variant playlist (иногда называемый master) перечисляет доступные rendition-ы – разные битрейты, разрешения, кодеки и языки – каждый со своим URL. Media playlist (один на rendition) перечисляет собственно сегменты. Плеер сначала забирает multi-variant playlist, выбирает стартовый rendition и дальше для live регулярно перезапрашивает media playlist, а для VOD читает его один раз.
m3u8 вырос из более старого M3U-формата аудиоплееров (Winamp, iTunes), поэтому расширение и базовый синтаксис выглядят будничнее, чем XML-манифест MPD у DASH. Простота – это фича: m3u8 можно посмотреть `cat`-ом, сгенерировать `printf`-ом и тривиально склеить. Почти каждый текстовый редактор подсвечивает его, каждый CDN отдаёт как `application/vnd.apple.mpegurl`, каждый HLS-capable плеер его парсит.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.