# *.m3u (*.m3u8) - Документация iptv.axenov.dev
Описание сервиса iptv.axenov.dev и его компонентов
Author: Антон Аксенов

Перейти к содержанию

#
Формат файлов `*.m3u` (`*.m3u8`)

Формат применяется для составления мультимедиа плейлистов, как оффлайн, так и онлайн.

Разница между m3u и m3u8 уже давно отсутствует, но исторически так сложилось, то m3u8 должен был быть только в формате UTF-8.

Директивы начинаются с новой строки и символа `#`. У каждой директивы могут (не) быть атрибуты, которые следуют в одну строку.

После директив с новой строки указывается ссылка на канал (или путь к файлу).

В свою чередь, по этой ссылке может быть: * либо текстовое представление контента в формате m3u/m3u8/XMLTV/MPD с описанием непосредственно участки трансляции; * либо непосредственно сама потоковая трансляция mp4 или т. п.

Рассмотрим на выдуманном примере плейлиста IPTV:

    #EXTM3U url-tvg="https://iptvx.one/EPG" catchup="append" catchup-days="3" catchup-source="?offset=-${offset}&utcstart=${timestamp}"

    #EXTINF:-1 tvg-id="ntv" tvg-logo="http://epg.it999.ru/img2/2001.png",НТВ HD
    #EXTGRP:🇷🇺 Эфирные
    http://example.com/play-ntv.m3u

    #EXTINF:-1 tvg-logo="http://tvoetv.space/tvoetv.png" tvg-id="tvoetv",Твоё ТВ HD v8 с VPN
    http://example.com/play-tvoetv.m3u

    #EXTINF:0 tvg-name="BBC" audio-track="eng" tvg-logo="http://mylogos.domain/BBC.png", BBC World
    http://example.com/play-bbc.m3u

    #EXTINF:-1 tvg-id="5TV.am" tvg-country="AM" tvg-language="Armenian" tvg-logo="https://i.imgur.com/yigw9dr.png" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148" group-title="General",5-րդ ալիք (480p)
    #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
    #EXTVLCOPT:http-caching=1200
    http://example.com/play-am.m3u8

### Директива `#EXTM3U`

Заголовок файла (обязателен).

#### Атрибут `url-tvg` (он же `x-tvg-url`)

Ссылка программу передач в формате `*.xml` или `*.xml.gz`.

#### Атрибуты `catchup*`

Читай здесь: Архив телепрограмм (SS IPTV)

### Директива `#EXTGRP`

Название группы, к которой относится контент (звуковая дорожка или канал).

Указывается в формате `#EXTGRP:XXX`, где: `XXX` -- название группы.

### Директива `#EXTINF`

Описывает контент (звуковую дорожку или канал).

Указывается в формате `#EXTINF:XXX YYY,ZZZ`, где: * `XXX` -- длительность в секундах (обязательно, но может быть `-1` или `0`); * `YYY` -- атрибуты (см. ниже); * `ZZZ` -- название контента;

#### Атрибут `tvg-shift`

Cмещение телепрограммы в часах относительно указанного в программе.

#### Атрибуты `tvg-id` и `tvg-name`

Идентификатор телепрограммы канала. По нему телепрограмма привязывается к трансляции с учётом смещения времени.

#### Атрибут `tvg-logo`

Ссылка на логотип канала.

#### Атрибут `tvg-country`

Код Alpha-2 страны вещания согласно ISO 3166-1 или ОКСМ.

#### Атрибут `tvg-language`

Название языка телепередачи согласно ISO 639-2.

#### Атрибут `group-title`

Название группы. По функционалу идентичен директиве `#EXTGRP`.

#### Атрибут `user-agent`

Значение заголовка `User-Agent` для обращения к контенту по http.

#### Атрибут `audio-track`

Языковой код (ISO 639-2) аудио дорожки канала, например: "eng,rus".

Допускается указание нескольких аудио дорожек через запятую: "rus,ukr,eng".

Дорожкой по умолчанию устанавливается первая указанная в списке.

#### Атрибут `aspect-ratio`

Определяет пропорции экрана (может быть недоступно для некоторых моделей телевизоров).

Допустимые значения: 16:9, 3:2, 4:3, 1,85:1, 2,39:1 (наиболее распространенное значение для фильмов)

### Директива `#EXTVLCOPT`

Специфична для VLC Player. Директив может быть множество для одной дорожки (канала).

Указывается в формате `#EXTVLCOPT:XXX` или `#EXTVLCOPT--XXX=YYY`, где: * `XXX` -- параметр командной строки VLC Player (полный список); * `YYY` -- значения параметра.

## Дополнительные материалы

- Инструкция по формату M3U (SS IPTV)
- Архив телепрограмм (SS IPTV)
- VLC command-line help
- ISO 639-2 Codes for the Representation of Names of Languages
- ISO 3166-1 Wikipedia
- ОКСМ:
  - normativ.kontur.ru
  - classifikators.ru