Чуть дополню…
M3U-плейлист является обычным текстовым документом в кодировке UTF-8. Он может редактироваться текстовым редактором подобным программе Notepad, входящим в набор стандартных программ Windows.
Любой M3U файл начинается с соответствующего текстового идентификатора
#EXTM3U в первой строке.
Для указания каждого канала используется пара строк, состоящая из текстового идентификатора
#EXTINF: с возможными параметрами и ссылки на источник медиаконтента.
Обязательными параметрами являются продолжительность воспроизведения и имя канала, в случае телевизионного вещания продолжительность воспроизведения всегда указывается как
0 или
-1.
Пример M3U-плейлиста:Код: Выделить всё
#EXTM3U tvg-shift=3
#EXTINF:-1 tvg-id="id1" tvg-name="Channel_1" tvg-logo="logo1" group-title="Group 1",Channel 1
http://STREAMURL
#EXTINF:-1 tvg-id="id2" tvg-name="Channel_2" tvg-logo="logo2" group-title="Group 2",Channel 2
udp://STREAMURL
...
Значения
tag (меток), используемых в плейлисте:
- tvg-id - значение, соответствующее channel id в xml-файле EPG (пример ниже). Если данный tag отсутствует, будет использовано значение tvg-name для нахождения соответствий каналов в EPG-файле;
- tvg-name - значение, соответствующее display-name в xml-файле EPG, где все пробелы заменяются знаком нижнего подчёркивания; если это значение не найдено, будет использовано имя канала;
- tvg-logo - имя файла для отображения лого канала (без расширения, т.е. без ".png"). Если данный tag отсутствует, будет использовано имя канала для нахождения лого канала.
- tvg-shift - значение (в часах) для изменения времени, указанного в EPG. Этот tag может быть использован в строке #EXTM3U для внесения изменений для всех каналов или в #EXTINF для внесения изменений только для текущего канала.
- group-name - имя для группировки каналов. Если tag отсутствует, будет использовано соответствующее имя предыдущего канала.
- radio - флаг, показывающий, что группа каналов или канал относятся к радио. Если tag отсутствует, будет использовано значение текущей группы (если она существует).
- audio-track - определение аудиодорожки в канале, если это поддерживается потоком. Запись языковых кодов осуществляется по стандарту ISO 639-2, можно использовать несколько кодов, разделённых запятыми, т.е. "eng, rus, deu". Первое значение в списке используется как значение по умолчанию.
- aspect-ratio - указание формата изображения (может быть не доступно для некоторых моделей телевизоров). Доступные значения: 16:9, 3:2, 4:3, 1,85:1, 2,39:1.
Пример EPG в формате XMLTVКод: Выделить всё
<tv>
<channel id="id1">
<display-name lang="en">Channel 1</display-name>
</channel>
<channel id="id2">
<display-name lang="en">Channel 2</display-name>
</channel>
...
<programme start="20130215080000 +0100" stop="20130215081500 +0100" channel="id1">
<title lang="en">News</title>
</programme>
<programme start="20130215080500 +0100" stop="20130215083500 +0100" channel="id2">
<title lang="en">Movie</title>
</programme>
...
</tv>