Скоро на iPhone

M3U-плейлист для IPTV: что это и как работает

обновлено · 5 мин чтения

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?

  1. Получите ссылку на M3U у своего IPTV-поставщика или соберите список сами.
  2. Откройте вкладку «Каналы» в PlayUp и нажмите «Плейлист».
  3. Введите название и ссылку вида https://…/list.m3u.
  4. Нажмите «Добавить» и дождитесь загрузки списка.
  5. Выберите канал: он играет на телефоне, а кнопка «В машину» отправит его на экран CarPlay, когда машина стоит.

Откуда брать плейлисты и что с законностью?

Берите плейлисты у поставщика, с которым у вас есть договор, или из открытых источников вроде проекта iptv-org, который собирает бесплатные эфирные каналы. Для старта в PlayUp есть кнопка «Открытые каналы России». Приложение не раздаёт каналы и не проверяет права на них: за законность источника отвечаете вы. Списки с «бесплатными платными каналами» часто пиратские, а ссылки в них быстро умирают.

Что внутри открытого списка для России?

Чтобы увидеть живой файл, откройте список проекта iptv-org в браузере. На 10 октября 2026 года в нём 533 записи #EXTINF. Заголовок состоит из одного #EXTM3U без url-tvg, то есть ссылки на телепрограмму в файле нет. Названия групп английские, и PlayUp показывает их как есть, потому что берёт group-title без перевода.

Список живой: каналы в нём добавляют и убирают, так что через месяц цифры будут другими. Кнопка «Обновить» в PlayUp скачивает файл заново и заменяет прежний набор.

Группа в файлеКаналов
General91
Movies79
Undefined76
Music38
Sports30
Entertainment27
Kids26
Series21

Что делать, если часть каналов не открывается?

Ссылка могла устареть, поток закрыт для вашей страны, нужны особые заголовки, либо формат (например, 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

Как проверить файл вручную?

Проверка занимает минуту.

  1. Откройте ссылку в браузере: файл должен скачаться или показаться текстом.
  2. Убедитесь, что он начинается с #EXTM3U.
  3. Проверьте, что после каждой строки #EXTINF идёт адрес, а не пустая строка.
  4. Откройте один из адресов в другом плеере: так вы поймёте, виноват файл или источник.
  5. Загрузите плейлист в 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: любой текстовый редактор подходит для проверки и правки.

Как собрать свой плейлист?

Для небольшого списка свободных адресов подойдёт обычный текстовый файл.

  1. Создайте файл в текстовом редакторе, первой строкой напишите #EXTM3U.
  2. Для каждого канала добавьте строку #EXTINF:-1 group-title="Группа",Название и под ней адрес потока.
  3. Сохраните файл в кодировке UTF-8 с расширением .m3u или .m3u8.
  4. Разместите его по ссылке https, например на своём сервере или в облачном хранилище с публичной ссылкой.
  5. Добавьте ссылку в PlayUp. Обновляйте файл, когда меняются адреса.

Частые вопросы

Чем отличается M3U от M3U8?

M3U8 — тот же формат в кодировке UTF-8. Расширение .m3u8 также используют манифесты HLS, не путайте их с IPTV-плейлистами.

Содержит ли M3U-файл видео?

Нет. Файл только перечисляет адреса потоков и названия каналов. Видео загружается по этим адресам.

Сколько плейлистов можно добавить в PlayUp?

В бесплатной версии один, в PlayUp Pro без ограничений. Покупки пока тестовые.

Нужно ли для M3U-плейлиста приложение с телепрограммой?

Нет, каналы играют и без неё. Ссылка на телепрограмму в заголовке нужна только тем приложениям, которые её показывают.

Как удалить плейлист из PlayUp?

Откройте вкладку «Каналы» и нажмите корзину рядом с плейлистом. Приложение попросит подтверждение. Каналы этого плейлиста исчезнут и из избранного.

Почему названия групп в открытом списке английские?

Приложение показывает название группы из поля group-title без перевода. В списке проекта iptv-org группы названы по-английски: General, Movies, Music, Sports.

Читайте также

Видео на экране CarPlay, когда машина стоит

  • Свои сайты и IPTV-плейлисты в одном приложении
  • В движении картинка на экране машины скрыта, звук идёт
  • Пассажир смотрит дальше на своём телефоне

Скоро на iPhone