Guides·7 min

Автор Rawnok Jahan

Как редактировать плейлист M3U и не сломать его

Вы открываете полученный файл плейлиста и видите восемь тысяч строк. В половине названий — кричащие префиксы и коды стран. Группы составлены бессмысленно. Четыреста записей вы никогда не будете смотреть.

Вы хотите всё исправить, но боитесь что-нибудь сломать.

Хорошая новость: M3U — это обычный текст с очень простой структурой, и по-настоящему сломать его можно всего четырьмя правками. Всё остальное безопасно. Вот как правильно привести плейлист в порядок.

Прежде всего: скопируйте файл

Создайте копию с названием playlist-original.m3u8 и не трогайте её. Ошибки неизбежны, а откат займёт две секунды, если у вас есть нетронутый оригинал, и целый день — если его нет.

Если плейлист получен по URL, а не в виде файла, сначала скачайте его: откройте URL в браузере и сохраните текст. Учтите: если провайдер создаёт плейлист автоматически, локальные правки не сохранятся после обновления из исходного источника. Это стоит знать, прежде чем тратить на редактирование целый час. (Подробнее об этом — в конце.)

Структура, которую нужно сохранить

Весь формат держится на трёх правилах. Нарушите одно из них — плейлист начнёт работать неправильно. Соблюдайте их — и сможете делать всё что угодно. (Полное объяснение формата.)

  1. #EXTM3U должна оставаться в первой строке. Перед ней ничего не должно быть: ни пустой строки, ни комментария, ни случайного символа.
  2. Каждая запись состоит ровно из двух строк: сначала строка #EXTINF:, затем непосредственно под ней адрес.
  3. Между этими двумя строками ничего не должно быть. Ни пустой строки, ни комментария.

И это действительно всё.

Четыре правки, которые ломают плейлист

В том порядке, в котором с ними обычно сталкиваются:

  1. Удаление только одной строки из пары. Удалите #EXTINF, оставив URL, — и URL превратится в безымянную запись-сироту. Удалите URL, оставив #EXTINF, — и следующая запись получит чужое название, что вызовет цепную ошибку до конца файла. Всегда удаляйте обе строки вместе.
  2. Сохранение в формате с расширенным текстом. Если открыть файл в текстовом процессоре и сохранить его, внутрь добавятся байты форматирования. На экране файл будет выглядеть так же, но обработать его как плейлист уже не получится.
  3. Типографские кавычки. Редакторы, которые «услужливо» превращают " в ", уничтожают все затронутые ими атрибуты. Это самая неприятная ошибка, потому что файл выглядит идеально. Отключите автозамену или используйте редактор без неё.
  4. Изменение кодировки. Сохраните плейлист UTF-8 в другой кодировке — и все имена с диакритикой или нелатинскими символами превратятся в кракозябры. Всегда сохраняйте файл в кодировке UTF-8.

Что использовать

Обычный текстовый редактор — лучший вариант. Notepad++ в Windows, BBEdit или VS Code в Mac, любой редактор кода в Linux. Вам нужны поиск и замена по всему файлу, отсутствие автозамены и явный контроль кодировки. В любом инструменте для программистов есть все три возможности.

Электронные таблицы — плохая идея. Некоторые пытаются импортировать M3U в таблицу, чтобы отсортировать записи, но после обратного экспорта связь между строками не сохраняется. Не делайте этого.

Онлайн-редакторы M3U существуют и бывают удобны. Но прежде чем вставлять в них что-либо, прочитайте примечание о безопасности ниже.

Правки, которые действительно стоит внести

Уберите лишнее

Это самая полезная правка. В большинстве огромных плейлистов 90% содержимого вы никогда не откроете, а небольшой плейлист быстрее загружается и удобнее просматривается на телевизоре.

Найдите ненужную группу или префикс и удалите соответствующие пары строк. В хорошем редакторе можно выделить всё от строки #EXTINF до конца следующей строки и удалить обе строки одним движением.

Исправьте названия

Провайдеры любят добавлять к названиям префиксы: [HD] UK: , US| , 4K -. Они нужны провайдеру для сортировки, а не вам — для чтения.

Замените префикс на пустую строку во всём файле — и за один раз очистите сотни записей. Только убедитесь, что заменяемая строка встречается только в отображаемых названиях, а не в URL: префикс вроде US| безопасен, а отдельная строка 4K может встречаться и в других местах.

Перегруппируйте записи

group-title="…" формирует меню категорий в плеере. Группировка от провайдера часто неудобна: вместо пяти нужных категорий можно получить тридцать.

Замените group-title="Sports UK" на group-title="Sport", повторите это для остальных групп — и превратите громоздкое меню в удобное для навигации. Именно эта правка сильнее всего меняет повседневное впечатление от использования плейлиста. (Подробнее о распределении по категориям.)

Измените порядок

Обычно плееры отображают записи внутри группы в порядке, заданном в файле. Переместите пару строк — и переместится запись. Вырежьте обе строки, вставьте обе строки — готово.

Большинству это не нужно: избранное в плеере лучше отвечает на вопрос «что из десяти вещей я действительно смотрю», чем порядок в файле, и не исчезает после обновления плейлиста.

Исправьте идентификаторы телепрограммы

Если телепрограмма заполнена лишь частично, обычно причина в значениях tvg-id, которые не совпадают с идентификаторами в ленте телепрограммы. Исправить их — утомительно, но именно это решает проблему; многократная перезагрузка телепрограммы не поможет. (Почему не срабатывает сопоставление телепрограммы.)

Делайте это в последнюю очередь. Это самая трудоёмкая и наименее обратимая правка.

Примечание о безопасности онлайн-редакторов

Веб-редакторы M3U действительно удобны. Но прежде чем вставлять файл, подумайте, что в нём содержится.

Если плейлист получен из источника в стиле Xtream, каждый URL в нём содержит ваше имя пользователя и пароль. Вставив файл на сайт, вы передадите постороннему действующие данные для входа в аккаунт — а при ограниченном числе подключений это означает, что кто-то другой сможет отключить вас. (Как устроены такие URL.)

Если вам важна удобная работа, выбирайте редактор, который работает целиком в браузере и не загружает данные на сервер, а затем проверьте это, отключив интернет во время редактирования: если редактор продолжит работать, значит, данные никуда не отправляются. В противном случае обычный локальный текстовый редактор не уступает ему ни в чём.

Сначала решите главное: сохранятся ли ваши правки?

От этого зависит, стоит ли вообще заниматься редактированием.

Если плейлист хранится в принадлежащем вам локальном файле, правки будут постоянными. Редактируйте на здоровье.

Если плейлист — это URL, который генерирует провайдер, редактирование скачанной копии создаёт отдельную версию. Теперь у вас есть аккуратный файл, который больше не получает добавления, удаления и исправления от провайдера. Если провайдер добавит что-то новое, вы этого не увидите. Если адрес потока изменится, ваш перестанет работать.

Это не обязательно плохо: некоторым как раз нужна стабильная, отобранная вручную версия. Но такое решение должно быть осознанным, а не становиться неожиданностью.

Компромиссный вариант, который обычно оказывается лучшим: оставьте исходный плейлист без изменений, а отбор выполняйте внутри плеера. Избранное, пользовательские категории и скрытые группы дадут вам чистое персональное представление без создания отдельной копии файла и сохранятся после каждого обновления от провайдера. В Tuneline это означает избранное и пользовательские категории, которые синхронизируются между устройствами, а не хранятся в одном файле на одном компьютере.

Я бы сначала попробовал этот вариант. Вручную редактировать файл на восемь тысяч строк — большая работа, которую придётся повторить, когда провайдер в следующий раз сгенерирует его заново.

Проверьте результат

После редактирования, прежде чем доверять файлу:

  1. Убедитесь, что в первой строке по-прежнему стоит #EXTM3U.
  2. Посчитайте записи. Большинство редакторов показывают количество совпадений при поиске: поиск #EXTINF и поиск http должны возвращать одинаковые или почти одинаковые числа. Разница означает, что остались строки-сироты.
  3. Загрузите плейлист в плеер. Если названия отображаются правильно, значит, структура сохранилась.
  4. Проверьте несколько записей из разных групп.

Если плейлист загружается, но ничего не показывает, структура нарушена. Если он загружается с названиями, но ничего не воспроизводится, структура в порядке, а проблема в адресах — это уже другая проблема и другой список проверок.

Итог

  • M3U — это обычный текст. Редактировать его безопасно, если #EXTM3U остаётся первым и записи состоят из двух расположенных рядом строк.
  • Четыре главные причины поломки: удаление половины пары, формат с расширенным текстом, типографские кавычки и неправильная кодировка.
  • Используйте обычный текстовый редактор с поиском и заменой. Никогда не используйте текстовый процессор или электронную таблицу.
  • Онлайн-редакторы могут считывать данные для входа, встроенные в ваши URL.
  • Редактирование плейлиста, созданного провайдером, приводит к его разветвлению. Избранное и пользовательские категории прямо в плеере обычно позволяют добиться того же результата без таких последствий.

Хотите настроить плейлист, не редактируя сам файл? Скачать Tuneline — избранное, пользовательские категории и поиск поверх любого плейлиста бесплатно.

Поделиться статьёй

The fast fix

Get Tuneline free

A clean, no-account media player for macOS, Windows, Linux, Android, TV, and iOS. Bring your own playlist.

Download free

The cross-platform media player behind these answers — new platforms, sync updates, the honest build story. No spam, unsubscribe anytime.

Читать эту статью на другом языке

Tuneline — приложение для воспроизведения медиа. Оно не предоставляет, не размещает и не распространяет никакой контент. Свой плейлист вы приносите сами, точно так же, как в VLC.