M3U-плейлист для IPTV: что это и как работает
M3U-плейлист — это текстовый файл со списком адресов потоков, в котором строки с тегом #EXTINF описывают каналы, а следующая строка даёт адрес. Приложения вроде PlayUp читают такой файл и показывают каналы списком с группами и логотипами. Ниже разобрано устройство файла и как добавить его на iPhone.
Скоро на iPhone
Что такое M3U-плейлист?
M3U — простой текстовый формат списка файлов или потоков. Появился он для аудиоплееров, а позже его начали использовать для IPTV: телевидения, которое идёт по интернет-протоколу. История формата и варианты описаны в статьях Википедии про M3U и IPTV.
В IPTV один файл содержит десятки или тысячи каналов. Плеер читает его и строит список: название, группа, логотип, ссылка на поток. Сам файл видео не содержит, он только указывает, откуда брать картинку.
Как выглядит файл?
Расширенный формат начинается строкой #EXTM3U. Дальше каждый канал занимает две строки: описание #EXTINF и адрес потока.
| Элемент | Что означает |
|---|---|
| #EXTM3U | Заголовок расширенного плейлиста. В нём может быть url-tvg со ссылкой на телепрограмму |
| #EXTINF:-1 | Описание канала. Значение -1 обычно означает «длительность не определена», то есть прямой эфир |
| tvg-id | Идентификатор канала для сопоставления с телепрограммой |
| tvg-logo | Ссылка на логотип |
| group-title | Название группы, например «Новости» или «Кино» |
| Название после запятой | Имя канала, которое видит пользователь |
| Следующая строка | Адрес потока, чаще всего http или https |
Чем M3U отличается от M3U8?
M3U8 — тот же формат в кодировке UTF-8. Это удобно для кириллицы и иероглифов в названиях каналов. Но у расширения .m3u8 есть второе значение: так называют манифесты HLS, технологии потокового видео Apple. Манифест HLS перечисляет куски одного потока, а плейлист IPTV перечисляет разные каналы. Выглядят похоже, поэтому их часто путают. Про второй случай рассказывает статья про HLS и IPTV на iPhone.
Как PlayUp читает такой файл?
Приложение берёт из #EXTINF название, group-title, tvg-logo и tvg-id. Читает #EXTGRP, параметры архива catchup, ссылку на телепрограмму из заголовка и строки #EXTVLCOPT с заголовками User-Agent и Referer, которые некоторые источники требуют. Строки с адресами не из набора http, https, rtmp, rtsp, udp, rtp пропускаются.
Разбор файла идёт на самом телефоне, никакие данные плейлиста не уходят на сервер PlayUp, потому что сервера у приложения нет.
Какой минимум нужен, чтобы канал появился?
Достаточно одной строки с адресом. Если перед ней нет #EXTINF, PlayUp возьмёт название из последней части адреса, а канал попадёт в группу «Без группы». Строка, которая не похожа на адрес, сбрасывает описание канала, и такой канал пропадёт из списка. Если одна и та же пара «название и адрес» встречается дважды, оба канала останутся: приложение выдаёт каждому свой идентификатор.
Логотип, группа и tvg-id необязательны. Но без групп найти нужный канал среди сотен записей сложнее, поэтому в своём файле группы лучше указывать. Группа «Без группы» подойдёт для пробы, но в списке из полусотни записей без категорий легко запутаться.
Как добавить плейлист в PlayUp?
- Получите ссылку на M3U у своего IPTV-поставщика или соберите список сами.
- Откройте вкладку «Каналы» в PlayUp и нажмите «Плейлист».
- Введите название и ссылку вида https://…/list.m3u.
- Нажмите «Добавить» и дождитесь загрузки списка.
- Выберите канал: он играет на телефоне, а кнопка «В машину» отправит его на экран CarPlay, когда машина стоит.
Откуда брать плейлисты и что с законностью?
Берите плейлисты у поставщика, с которым у вас есть договор, или из открытых источников вроде проекта iptv-org, который собирает бесплатные эфирные каналы. Для старта в PlayUp есть кнопка «Открытые каналы России». Приложение не раздаёт каналы и не проверяет права на них: за законность источника отвечаете вы. Списки с «бесплатными платными каналами» часто пиратские, а ссылки в них быстро умирают.
Что внутри открытого списка для России?
Чтобы увидеть живой файл, откройте список проекта iptv-org в браузере. На 10 октября 2026 года в нём 533 записи #EXTINF. Заголовок состоит из одного #EXTM3U без url-tvg, то есть ссылки на телепрограмму в файле нет. Названия групп английские, и PlayUp показывает их как есть, потому что берёт group-title без перевода.
Список живой: каналы в нём добавляют и убирают, так что через месяц цифры будут другими. Кнопка «Обновить» в PlayUp скачивает файл заново и заменяет прежний набор.
| Группа в файле | Каналов |
|---|---|
| General | 91 |
| Movies | 79 |
| Undefined | 76 |
| Music | 38 |
| Sports | 30 |
| Entertainment | 27 |
| Kids | 26 |
| Series | 21 |
Что делать, если часть каналов не открывается?
Ссылка могла устареть, поток закрыт для вашей страны, нужны особые заголовки, либо формат (например, RTMP) не поддерживается системным плеером iOS. Простая проверка: откройте тот же адрес в другом плеере. Если не играет нигде, вопрос к источнику.
Что будет с избранным, когда плейлист обновляется или удаляется?
При обновлении PlayUp скачивает файл заново и заменяет список каналов, их число и группы. Избранный канал хранит собственную копию записи вместе со ссылкой, поэтому если поставщик сменил адрес, звёздочка останется со старой ссылкой. Снимите её и отметьте канал заново из свежего списка.
Удаление плейлиста действует жёстче: вместе с ним из избранного исчезают все каналы, добавленные из этого плейлиста. Страницы сервисов в избранном остаются на месте.
Почему в машине видно не все каналы большого плейлиста?
Вкладка «Каналы» на экране машины показывает первые 300 каналов выбранной группы или всего списка, если выбрана группа «Все». У плейлиста на тысячу каналов остальные в машине не появятся. Разбейте список на группы через group-title, держите отдельные плейлисты для дома и для дороги или отметьте нужные каналы звёздочкой: «Избранное» открывается в машине отдельной вкладкой. В списке на телефоне такого ограничения нет.
Для начала хватает десятка каналов: чем короче список, тем быстрее выбрать, пока вы стоите на парковке.
Как выглядит пример файла?
Ниже строки, из которых состоит простой плейлист на два канала. Каждая пара строк — один канал.
#EXTM3U url-tvg="https://example.com/epg.xml"#EXTINF:-1 tvg-id="news1" tvg-logo="https://example.com/news1.png" group-title="Новости",Первый новостнойhttps://example.com/live/news1.m3u8#EXTINF:-1 group-title="Кино",Кино-каналhttps://example.com/live/kino.m3u8
Как проверить файл вручную?
Проверка занимает минуту.
- Откройте ссылку в браузере: файл должен скачаться или показаться текстом.
- Убедитесь, что он начинается с
#EXTM3U. - Проверьте, что после каждой строки
#EXTINFидёт адрес, а не пустая строка. - Откройте один из адресов в другом плеере: так вы поймёте, виноват файл или источник.
- Загрузите плейлист в PlayUp: если приложение пишет «В плейлисте нет каналов», в файле нет подходящих адресов.
Как посчитать каналы и проверить ссылки на компьютере?
Большой список глазами не проверить. Скачайте файл и воспользуйтесь командной строкой.
- macOS и Linux:
grep -c "#EXTINF" list.m3uвыводит число каналов в файле. - В консоли компьютера (команда Select-String):
(Select-String -Path list.m3u -Pattern "#EXTINF").Countдаёт то же число. - Код ответа адреса:
curl -I -s -o /dev/null -w "%{http_code}" https://example.com/live/kino.m3u8. Ответ 200 значит, что сервер отвечает, 403 говорит о запрете по заголовкам или стране, 404 о том, что ссылка устарела. - Если источник требует заголовки, добавьте их к запросу ключом
-H "User-Agent: ...", как это записано в строках#EXTVLCOPTплейлиста.
Какие ошибки в M3U встречаются чаще всего?
Вот проблемы, которые попадаются чаще других.
- Файл не в UTF-8: названия на кириллице превращаются в кракозябры. Приложение отбрасывает служебный маркер порядка байтов в начале, но неверную кодировку не исправляет.
- Запятые в названии: PlayUp считает названием всё после первой запятой вне кавычек, поэтому запятые в названии допустимы.
- Относительные адреса вместо полных: такие строки не распознаются, нужны ссылки с http или https.
- Пустые или повторяющиеся строки между описанием и адресом.
- Устаревшие ссылки: самая частая причина «пустых» каналов.
Что видит владелец плейлиста?
Плейлист загружается с сервера, адрес которого вы указали, поэтому его владелец видит ваш IP-адрес и время запроса. То же относится к серверам потоков и к адресам логотипов из tvg-logo. PlayUp не проксирует эти запросы и не пересылает их своему серверу, потому что сервера у приложения нет. Подробнее в политике конфиденциальности.
Можно ли держать плейлист дома?
Да. Файл M3U можно разместить на домашнем сервере или в сетевом хранилище и добавить по локальному адресу. PlayUp умеет просить доступ к локальной сети именно для таких случаев. Если телефон окажется вне домашней сети, этот плейлист перестанет загружаться, а добавленные ранее каналы с домашних адресов не откроются.
Откуда взялось название M3U?
Сокращение связывают с MP3 URL: формат придумали для плейлистов mp3-файлов в плеере Winamp, затем он вышел за пределы аудио. Эту историю излагает статья Википедии про M3U. Простота формата и сделала его стандартом для IPTV: любой текстовый редактор подходит для проверки и правки.
Как собрать свой плейлист?
Для небольшого списка свободных адресов подойдёт обычный текстовый файл.
- Создайте файл в текстовом редакторе, первой строкой напишите
#EXTM3U. - Для каждого канала добавьте строку
#EXTINF:-1 group-title="Группа",Названиеи под ней адрес потока. - Сохраните файл в кодировке UTF-8 с расширением .m3u или .m3u8.
- Разместите его по ссылке https, например на своём сервере или в облачном хранилище с публичной ссылкой.
- Добавьте ссылку в PlayUp. Обновляйте файл, когда меняются адреса.
Частые вопросы
Чем отличается M3U от M3U8?
M3U8 — тот же формат в кодировке UTF-8. Расширение .m3u8 также используют манифесты HLS, не путайте их с IPTV-плейлистами.
Содержит ли M3U-файл видео?
Нет. Файл только перечисляет адреса потоков и названия каналов. Видео загружается по этим адресам.
Сколько плейлистов можно добавить в PlayUp?
В бесплатной версии один, в PlayUp Pro без ограничений. Покупки пока тестовые.
Нужно ли для M3U-плейлиста приложение с телепрограммой?
Нет, каналы играют и без неё. Ссылка на телепрограмму в заголовке нужна только тем приложениям, которые её показывают.
Как удалить плейлист из PlayUp?
Откройте вкладку «Каналы» и нажмите корзину рядом с плейлистом. Приложение попросит подтверждение. Каналы этого плейлиста исчезнут и из избранного.
Почему названия групп в открытом списке английские?
Приложение показывает название группы из поля group-title без перевода. В списке проекта iptv-org группы названы по-английски: General, Movies, Music, Sports.