M3U
Текстовый файл без единого видео внутри, и есть то, чем на самом деле является подписка IPTV.
M3U — это обычный текстовый список медиа-адресов с прикреплёнными именами. Он вообще не содержит ни звука, ни видео. Когда провайдер IPTV продаёт тебе подписку, ты получаешь ссылку именно на такой список — названия каналов, логотипы, группы и адреса потоков, которые плеер превращает в телепрограмму.
30 июля 2026 г.
Открывается без посторонней помощи в
Ничто в iOS или macOS не читает M3U как плейлист. Нажатие на такой файл покажет стену текста. Это не медиаформат, и ни одна система никогда не собиралась воспринимать его как таковой — нужно приложение, которое понимает, для *чего* нужен этот список.
Факты
| Полное название | MP3 URL, или Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator |
|---|---|
| Тип | Плейлист — список адресов, без медиа |
| Расширения | .m3u (любая текстовая кодировка), .m3u8 (UTF-8) |
| Опубликован | Конец 1990-х, компанией Fraunhofer для Winamp; никогда формально не стандартизировался |
| Структура | Строка #EXTINF, называющая каждую запись, за ней — её адрес |
| Расширения для IPTV | tvg-id, tvg-name, tvg-logo, group-title — добавлены по договорённости, а не по спецификации |
| На что указывают адреса | Обычно на плейлисты HLS или потоки MPEG-TS; иногда на обычные файлы |
| Типичный размер у провайдера | От нескольких сотен КБ до заметно больше 200 МБ для списков в сотни тысяч каналов |
Список имён и адресов
Формат настолько прост, насколько формат вообще может быть. Каждая запись — это две строки: одна начинается с #EXTINF и называет объект, другая содержит его адрес. Всё остальное — логотипы, номера каналов, группы, превращающиеся в категории в плеере — появилось позже как атрибуты, которые люди договорились помещать в строку #EXTINF. Ни один орган по стандартизации ничего из этого не утверждал.
Именно из-за этой неформальности файлы M3U так сильно различаются между собой. Один провайдер пишет group-title="Sports", другой — group-title="СПОРТ", третий вообще опускает это поле и рассчитывает, что плеер сам догадается. Плеер, хорошо справляющийся с IPTV, — это в основном плеер, повидавший множество плохо написанных файлов M3U.
Стоит прояснить путаницу с M3U8: 8 здесь означает всего лишь кодировку текста UTF-8, ничего больше. Каждый плейлист HLS — это M3U8, но не каждый M3U8 — это HLS: список каналов IPTV, сохранённый в UTF-8, тоже является файлом .m3u8 и не имеет никакого отношения к сегментированному стримингу.
Почему вся проблема в размере
Списки провайдеров выросли так, как формат никогда не предполагал. Файл, который в 2010 году состоял из нескольких сотен строк, у крупного провайдера сегодня насчитывает сотни тысяч записей и сотни мегабайт текста.
Наивный способ его прочитать — загрузить файл целиком в память, разобрать, держать результат в памяти — ломается задолго до завершения. Разбор списка на 200 МБ таким образом означает всплеск потребления памяти, который iPhone не потерпит, а iOS завершит приложение вместо того, чтобы ждать. Именно поэтому так много IPTV-приложений просто вылетает на списке крупного провайдера.
Работающий подход — вообще никогда не держать список целиком в памяти: читать его с диска по частям, записывать каждый канал сразу в базу данных по мере разбора, а экран подгружать постранично из этой базы. FoxDL проверялся на списке в 485 МБ с двумя миллионами каналов — 123 секунды на импорт, 9 МБ дополнительной памяти, 4 миллисекунды на отрисовку первой страницы, 400 миллисекунд на поиск по всему списку. Эти цифры интересны только потому, что наивный подход в принципе не способен их показать.
Как этим пользоваться
- Добавляй как URL, а не как файл
Провайдеры обновляют свои списки — каналы переезжают, адреса меняются. Плеер, хранящий URL, может обновить данные; плеер, хранящий однажды скачанную копию, устаревает при первом же изменении.
- Заранее смирись с хаосом в группах и пользуйся поиском
Названия категорий приходят от провайдера и не следуют никакому соглашению. В большом списке найти канал поиском быстрее, чем добраться до него навигацией, — при условии, что приложение ищет по базе данных, а не по загруженному в память массиву.
- Помни, что список — это не контент
M3U — это просто адреса. Законно ли смотреть то, на что они указывают, — вопрос к провайдеру, а не к файлу или плееру. Ни одно приложение не поставляет каналы само и не может поручиться за список, который предоставил ты.
Вопросы об этом формате
Откуда эти факты
Похожие форматы
Твоя библиотека — наконец в одном месте.
Скачать бесплатно. Без аккаунта, без регистрации, без данных, которые нужно кому-то передавать.