---
icon: material/code-json
tags: ["iptvc", "теги", "каналы"]
---

# :material-code-json: Формат файла `channels.json`

Категории каналов указываются в файле `channels.json` в следующем формате:

```json
[
  {
    "tvg-id": "регулярное выражение для значения атрибута tvg-id",
    "tvg-name": "регулярное выражение для значения атрибута tvg-name",
    "title": "регулярное выражение для названия канала",
    "tags": [
      "список",
      "тегов",
      "(см. ниже)"
    ]
  }
]
```

Приоритет параметров:

* `tvg-id`
* `tvg-name`
* `title`

Если указаны все или несколько, то применится только тот один, который по приоритету выше.

Параметр `tags` обязателен, список может быть (не)пустым.
Категории в списке указываются в двойных кавычках.
После каждой категории, кроме последней, ставится запятая.

Регулярные выражения должны быть PCRE-совместимыми.

Каналы сопоставляются в нижнем регистре.

<a id="warnings"></a>
## Рекомендации и предостережения

1. Если хочешь написать новое правило, будь осторожен с регулярками.
   Старайся не охватывать несколько каналов сразу.
   Если канал попадёт в несколько регулярок, то его **теги могут оказаться неожиданными** и найти проблему может быть сложно.
2. Указывай внутри `{}` только `tags` и один из параметров `tvg-id`, `tvg-name` или `title`.
   Множество параметров на точность не влияет, зато будет проще уместить всё правило в одну строку и grep-ать файл.
3. Не забывай, что название на кириллице не всегда означает, что это российский канал или вещание на русском языке.
4. Разные каналы могут быть названы одинаково или похоже.  
   Например, `Первый канал`, `Первый Тульский`, `Первый городской`.
5. Один канал может быть назван по-разному.  
   Например, `Ю` или `Ю!`, `Россия 1 +5` или `Россия-1`.
6. Важно учитывать холдинги.  
   Например, российские Матч, ТНТ и НТВ имеют множество разных каналов, и тупо искать `^нтв$` — тупо.
7. У всех каналов есть `title`.
   Не все каналы имеют `tvg-id`.
   Некоторые каналы имеют `tvg-name`.
   Все три параметра могут оказаться на кириллице.

<a id="доступные-теги">
## Доступные теги

| Ключевое слово | Описание                                                    |
| -------------- | ----------------------------------------------------------- |
| `untagged`     | Неизвестно (ставится по умолчанию, если нет иных)           |
| `unstable`     | Нестабильные каналы                                         |
| `hd`           | Каналы в высоком качестве                                   |
| `4k`           | Каналы в супервысоком качестве                              |
| `8k`           | Каналы в гигавысоком качестве (а вдруг?)                    |
| `adult`        | Контент для взрослых 18+                                    |
| `army`         | Каналы военные, об оружии, технике, армии, боевых действиях |
| `central`      | Центральное ТВ (гос. каналы, федеральные)                   |
| `child`        | Детские и подростковые каналы                               |
| `culture`      | Каналы о культуре, театре                                   |
| `crime`        | Каналы с детективами и о преступлениях (true-crime)         |
| `cyber`        | Киберспортивные                                             |
| `docs`         | Каналы с документальными фильмами                           |
| `fashion`      | Мода и стиль                                                |
| `film`         | Каналы с фильмами                                           |
| `finance`      | Бизнес, финансы, капитал                                    |
| `food`         | Кулинарные каналы                                           |
| `fun`          | Развлекательные каналы и шоу                                |
| `garden`       | Сад, огород, фермерство, домашнее хозяйство                 |
| `health`       | Каналы о здоровье                                           |
| `history`      | Исторические каналы                                         |
| `house`        | О строительстве, ремонте, интерьере и жилье                 |
| `humor`        | Юмористические каналы, комедии                              |
| `hunt-fish`    | Охота и рыбалка                                             |
| `local`        | Местные региональные каналы                                 |
| `music`        | Музыкальные                                                 |
| `mystic`       | Каналы о мистике, потустороннем, НЛО и прочей пиздаболии    |
| `nature`       | Каналы о природе, животных                                  |
| `news`         | Новостные каналы                                            |
| `politic`      | Каналы политические, партийные, правительстенные            |
| `radio`        | Радиоканалы (радиостанции, подкасты, аудиоспектакли...)     |
| `religion`     | Религиозные каналы                                          |
| `retro`        | Ностальгия и ретро, музыка, старые передачи                 |
| `sci`          | Научные и познавательные                                    |
| `series`       | Каналы с сериалами                                          |
| `shopping`     | Телемагазины                                                |
| `sport`        | Спортивные                                                  |
| `tech`         | Каналы о технологиях                                        |
| `transport`    | Каналы о транспорте (авто, мото, ЖД...)                     |
| `travel`       | Каналы о путешествиях                                       |
| `webcam`       | Уличные веб-камеры                                          |

Также в категориях можно указывать страну вещания.
Это должен быть буквенный код АЛЬФА-2 из общероссийского классификатора стран мира (ОКСМ):

* [normativ.kontur.ru](https://normativ.kontur.ru/document?moduleId=1&documentId=22668#h1296)
* [classifikators.ru](https://classifikators.ru/oksm)
