Что такое M3U-плейлист? Формат, примеры и настройка плеера
Что такое M3U-плейлист, как работают теги EXTM3U и EXTINF из RFC 8216, в чём разница M3U и M3U8, и как плеер вроде IPTV Expert загружает такой файл.
M3U-плейлист — это обычный текстовый файл. На этом определение, по сути, заканчивается. Путаница вокруг него возникает из-за того, что два разных сообщества развивают один и тот же простой формат в разных направлениях.
Инженеры стриминга используют M3U8 так, как его описывает RFC 8216: как формат плейлиста для HLS-видеостриминга. IPTV-провайдеры используют обычный M3U неформально, добавляя собственные теги для названий и логотипов каналов, которые никогда не входили ни в одну официальную спецификацию. Оба варианта использования формата корректны. Этот гайд чётко разделяет их, показывает аннотированный пример каждого и объясняет, где файл оказывается на пути к загрузке в плеер.
Ключевые выводы
- M3U-плейлист — это текстовый список записей о потоках, начинающийся с тега
#EXTM3U.- M3U8 конкретно означает, что файл закодирован в UTF-8, согласно разделу 4.1 RFC 8216. Это и есть практическая разница с обычным M3U.
- Теги в стиле IPTV, такие как
tvg-idиgroup-title, — это широко распространённое соглашение, а не часть официальной спецификации HLS.
Что такое M3U-плейлист на самом деле?
M3U-плейлист — это текстовый файл, который сообщает медиаплееру, что и в каком порядке воспроизводить, по одной записи на строку. В расширенной форме файл начинается со строки #EXTM3U — это требование определено в RFC 8216, раздел 4.3.1.1.
Перед каждой записью может стоять тег #EXTINF, который тот же RFC определяет в разделе 4.3.2.1 как #EXTINF:<длительность>,[<название>]: значение длительности, за которым следует необязательное название. Это и есть весь базовый формат: строка заголовка, а затем пары «метаданные плюс URL». Всё остальное, что вы увидите в реальном плейлисте, — это надстройка поверх этой минимальной структуры.
M3U и M3U8: в чём реальная разница?
M3U8 конкретно означает, что плейлист закодирован в UTF-8 — это требование RFC 8216 прямо указывает в разделе 4.1. Обычный M3U, напротив, не имеет фиксированного соглашения о кодировке. Он появился раньше любых формальных требований и исторически трактовался как Latin-1 или как системная кодировка по умолчанию.
| M3U | M3U8 | |
|---|---|---|
| Кодировка | Не фиксирована (исторически Latin-1 или системная по умолчанию) | UTF-8, обязательно по RFC 8216 §4.1 |
| Регулируется спецификацией? | Нет единого владеющего стандарта | Да, RFC 8216 (для использования в HLS) |
| Типичное расширение файла | .m3u |
.m3u8 |
| Типичный симптом несовпадения кодировки | «Кракозябры» вместо букв с диакритикой или нелатинских символов | Отсутствует при корректной кодировке |
Разницу в кодировке заметнее всего видно, если название канала содержит буквы с диакритическими знаками или символы не из латиницы. Если плеер ожидает UTF-8, а получает файл в другой кодировке, эти символы могут отображаться в виде «кракозябр», даже если сам плейлист в остальном работает нормально. Если вы видите испорченные символы в названиях каналов, но всё при этом воспроизводится, причина обычно в кодировке, а не в структуре плейлиста.
Аннотированный пример — стандартный HLS-плейлист M3U8
RFC 8216 напрямую определяет этот формат: плейлист, состоящий из ссылок на сегменты, каждый со своей длительностью #EXTINF, используемый для доставки одного потока частями. Это именно тот формат, за которым в самой спецификации закреплено название «M3U8».
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:9.009,
segment-000.ts
#EXTINF:9.009,
segment-001.ts
#EXTINF:9.009,
segment-002.ts
#EXT-X-ENDLIST
Здесь важна каждая строка. #EXT-X-VERSION и #EXT-X-TARGETDURATION — это теги, специфичные для HLS, из того же RFC, а каждый файл .ts — короткий видеосегмент, который плеер загружает по порядку. Это формат, на котором фактически работает вся веб-видеоинфраструктура. Именно в таком виде IPTV-провайдер редко отдаёт вам плейлист напрямую, но именно его ваш плеер часто загружает в фоне, когда источник уже воспроизводится.
Реальные HLS-развёртывания обычно добавляют ещё один уровень: мастер-плейлист с тегом #EXT-X-STREAM-INF, который перечисляет несколько версий одного и того же потока с разным битрейтом или разрешением и позволяет плееру переключаться между ними в зависимости от состояния сети. Единственный URL, который вам выдали, может вести именно на такой мастер-плейлист, а не напрямую на список сегментов из примера выше; всё остальное плеер разрешает автоматически.
Большинство материалов про IPTV вообще пропускают эту многоуровневую структуру, поскольку IPTV-плейлисты редко её используют. Тем не менее это важно: именно такую структуру видеоплеер и создан понимать, даже если выданный вам файл M3U выглядит совершенно иначе.
Аннотированный пример — типичный IPTV-плейлист M3U
IPTV-провайдеры неформально расширяют базовый формат, добавляя к каждой записи атрибуты вроде tvg-id, tvg-logo и group-title. Ни один из них не определён в RFC 8216. Это сложившееся на практике соглашение, которое распространилось среди IPTV-плееров и провайдеров, потому что оно полезно, а не потому что его установил какой-то орган стандартизации.
#EXTM3U
#EXTINF:-1 tvg-id="channel.one" tvg-logo="https://example-provider.test/logo1.png" group-title="News",Channel One
https://example-provider.test/stream/CHANNEL_TOKEN_1
#EXTINF:-1 tvg-id="channel.two" tvg-logo="https://example-provider.test/logo2.png" group-title="Sports",Channel Two
https://example-provider.test/stream/CHANNEL_TOKEN_2
URL-адреса и токены выше — это условные заглушки: никогда не публикуйте и не передавайте реальную ссылку на плейлист. Тот, у кого есть настоящая ссылка, может воспользоваться вашим источником — так же, как тот, у кого есть пароль, может войти в чужой аккаунт.
Обратите внимание на длительность -1: это соглашение для прямых эфиров, означающее «без фиксированной длины», в отличие от конечных длительностей сегментов в примере HLS выше. Один и тот же тег, но с разным практическим значением в зависимости от того, какая из двух традиций породила файл.
При чём тут EPG?
Некоторые файлы M3U содержат заголовок url-tvg=, указывающий на отдельный файл программы передач, но сами данные программы находятся вне плейлиста. Плейлист сообщает плееру, какие потоки существуют, а отдельный файл XMLTV — что и когда выходит в эфир на каждом из них.
Это осознанное разделение, а не ограничение. Провайдеры могут обновлять данные программы по собственному расписанию, по несколько раз в день при изменении сетки вещания, не трогая при этом сам плейлист. Список каналов и расписание — это два независимо обслуживаемых файла, которые просто работают вместе.
Если ваш M3U содержит заголовок url-tvg=, плеер с поддержкой этой функции может подхватить данные программы автоматически, без ручного ввода второй ссылки. Если заголовка нет, программу передач приходится добавлять отдельно — это отдельный шаг настройки, отличный от добавления самого плейлиста, и он выходит за рамки этой статьи.
Как плеер вроде IPTV Expert использует файл M3U?
Плееру нужны только две вещи, чтобы использовать источник M3U: название, которое вы придумываете сами, и сам URL плейлиста. Именно это и запрашивает форма добавления источника в IPTV Expert — ничего больше, и никакого отдельного шага для ручного разбора тегов вроде tvg-logo.

После сохранения этих двух полей приложение загружает файл по указанному URL и разбирает его, прежде чем считать источник активным. Оно считывает записи #EXTINF, попутно подхватывает метаданные group-title и tvg-logo и строит список каналов на основе найденного. Если нужны точные пошаговые инструкции для вашего устройства, статья Как добавить M3U-плейлист в IPTV Expert отдельно разбирает Android, iOS, Windows, Mac, Linux, Android TV и Fire TV.
Если вы ещё не установили IPTV Expert, начните с полного списка загрузок и выберите версию для своего устройства, либо посмотрите Лучшие бесплатные IPTV-плееры в 2026 году, если всё ещё сравниваете варианты.
Заключение
Три момента объединяют всё сказанное выше: M3U-плейлист — это простой текст, построенный вокруг тегов #EXTM3U и #EXTINF; M3U8 конкретно означает кодировку UTF-8; а IPTV-теги, которые вы увидите в реальных плейлистах — tvg-id, tvg-logo, group-title — это широко принятое соглашение, надстроенное поверх формата, а не то, что определяет RFC 8216. Когда это понятно, настройка источника в плеере сводится всего к двум полям: названию и URL.
IPTV Expert
Смотрите на экране
Загрузите IPTV Expert для предпочитаемой вами платформы.
IPTV Expert не предоставляет, не размещает и не продает каналы, плейлисты или подписки.