Термин
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, а затем для трансляции в реальном времени регулярно обновляет media playlist, а для VOD читает его один раз.
m3u8 вырос из более старого M3U-формата аудиоплееров (Winamp, iTunes), поэтому расширение и базовый синтаксис выглядят будничнее, чем XML-манифест MPD у DASH. Простота – это фича: m3u8 можно посмотреть `cat`-ом, сгенерировать `printf`-ом и тривиально склеить. Почти каждый текстовый редактор подсвечивает его, каждый CDN отдаёт как `application/vnd.apple.mpegurl`, каждый HLS-capable плеер его парсит.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.