Как этот редактор разбирает и записывает M3U/M3U8: точное поведение парсера и генератора.
#EXTM3U — заголовок; атрибуты этой строки (например url-tvg) сохраняются.#EXTINF: — длительность, затем атрибуты; имя канала берётся после последней запятой в строке.tvg-name.#EXTGRP: задаёт группу следующего канала, но только если group-title отсутствует.key="value" и key=value; при совпадении ключа побеждает форма в кавычках.#, игнорируются.-1.timeshift, catchup-days, catchup-type, tvg-id, tvg-name, group-title, tvg-logo, далее остальные по алфавиту.\".#EXTGRP: по умолчанию не выводится.| Атрибут | Назначение | Редактируется в интерфейсе |
|---|---|---|
tvg-id | Идентификатор канала в EPG | Да |
tvg-name | Имя канала для EPG; также запасное отображаемое имя | Да |
tvg-logo | URL логотипа канала | Да |
group-title | Группа, в которой отображается канал | Да |
timeshift | Сдвиг catch-up в часах | Нет, сохраняется без изменений |
catchup-days | Число дней доступного архива | Нет, сохраняется без изменений |
catchup-type | Тип механизма catch-up, объявленный провайдером | Нет, сохраняется без изменений |
url-tvg | URL источника EPG — атрибут заголовка #EXTM3U, не канала | Нет, сохраняется без изменений |
Слева — исходная строка, справа — то, что запишет экспорт.
#EXTINF:-1 group-title="News" tvg-id="bbc.uk" tvg-logo="https://example.com/bbc.png",BBC News
https://example.com/bbc/index.m3u8#EXTINF:-1 tvg-id="bbc.uk" group-title="News" tvg-logo="https://example.com/bbc.png",BBC News
https://example.com/bbc/index.m3u8| Статус | Значение |
|---|---|
ok | Поток ответил успешно. |
redirect | Ответ с перенаправлением; конечный URL записывается в поле final_url. |
timeout | Ответ не получен за отведённое время. |
error | Ошибка передачи или код ошибки HTTP. |
forbidden | Доступ запрещён сервером. |