Плейлист Плейлист IPTV

M3U

Текстовий файл без відео, і те, що насправді є підпискою IPTV.

Коротко

M3U — це звичайний текстовий список медіа-адрес із прикріпленими іменами. Він узагалі не містить ні звуку, ні відео. Коли провайдер IPTV продає тобі підписку, ти отримуєш посилання саме на такий список — назви каналів, логотипи, групи й адреси потоків, які плеєр перетворює на телепрограму.

30 липня 2026 р.

Відкривається без сторонньої допомоги в

iPhone · iPad Не відкриває
Mac Не відкриває
FoxDL Відкриває

Ніщо в 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 мілісекунд на пошук по всьому списку. Ці цифри цікаві лише тому, що наївний підхід у принципі не здатен їх показати.

Як цим користуватися

  1. Додавати як URL, а не як файл

    Провайдери оновлюють свої списки — канали переїжджають, адреси змінюються. Плеєр, що зберігає URL, може оновити дані; плеєр, що зберігає одного разу завантажену копію, застаріває вже після першої ж зміни.

  2. Заздалегідь змиритися з хаосом у групах і користуватися пошуком

    Назви категорій надходять від провайдера й не підпорядковуються жодній угоді. У великому списку знайти канал пошуком швидше, ніж дістатися до нього навігацією, — за умови, що застосунок шукає по базі даних, а не по завантаженому в пам’ять масиву.

  3. Пам’ятати, що список — це не контент

    M3U — це просто адреси. Чи законно дивитися те, на що вони вказують, — питання до провайдера, а не до файлу чи плеєра. Жоден застосунок не постачає канали сам і не може поручитися за список, який надав ти.

Розгорнута версія M3U, Xtream Codes, EPG: що означають ці слова і що є саме в тебе M3U чи Xtream, що потрібно, щоб запрацював EPG, що спричиняє буферизацію і хто може це виправити.

Питання про цей формат

Як додати плейлист M3U у FoxDL? Відкрий «Джерела», обери додати плейлист і встав URL M3U чи M3U8, який дав провайдер, — або обери файл .m3u із «Файлів» чи Finder. FoxDL розбере його один раз, збереже канали локально, і список буде готовий до перегляду й пошуку. Чи впорається FoxDL з плейлистом на мільйони каналів? Так. Імпорт перевірено на плейлисті з 2 000 000 каналів вагою близько 485 МБ: він завершується приблизно за дві хвилини й піднімає пікове споживання пам’яті застосунку приблизно на 9 МБ, бо плейлист потоково записується на диск, а не читається в пам’ять, і фіксується в одній транзакції бази даних. Чи надає FoxDL канали IPTV, фільми чи потоки? Ні. FoxDL нічого не надає, не хостить і не постачає — жоден канал, фільм чи потік не постачається разом із застосунком, і він не продає жодних підписок. Це плеєр для контенту, який ти додаєш сам із сервісу, на який легально підписаний, і відповідальність за цей контент лежить на тобі.

Звідки ці факти

Суміжні формати

Твоя бібліотека нарешті в одному місці.

Безкоштовно для завантаження. Жодного акаунту, жодної реєстрації, нічого передавати.

Завантажити з App Store