Формат телепрограммы XMLTV основан на языке структурированных данных XML и получил широкое распространение в IP – телевидении благодаря своей простоте и доступности для понимания.
Виды XMLTV
В IPTV могут использоваться файлы как несжатые, например xmltv.xml – обычно имеют расширение .xml, так и сжатые, например xmltv.xml.gz – это файл xmltv.xml упакованный с помощью gzip-архиватора. Второй вариант используется для экономии свободного места на медиаустройстве и повышения скорости загрузки, это особенно актуально если файл программы содержит в себе большое количество данных.
Образец файла программы
Типичный файл программы XMLTV представляет из себя файл с XML – содержимым, которое описывает каналы и расписание передач.
Пример XMLTV – файла :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tv SYSTEM "xmltv.dtd">
<tv generator-info-name="Some tv generator">
<channel id="1">
<display-name lang="ru">Канал 1</display-name>
<icon src="http://site.domain/1.png"/>
</channel>
<channel id="2">
<display-name lang="ru">Канал 2</display-name>
<icon src="http://site.domain/2.png"/>
</channel>
<programme start="20180920140000 +0300" stop="20180920141500 +0300" channel="1">
<title lang="ru">Наименование передачи 1</title>
<desc lang="ru">Описание телепередачи 1</title>
<date>Дата выхода телепередачи 1</date>
<category lang="ru">Категория 1</category>
<category lang="ru"> Категория 2</category>
</programme>
<programme start="20180920150000 +0300" stop="20180920141600 +0300" channel="1">
<title lang="ru">Наименование передачи 2</title>
<desc lang="ru">Описание телепередачи 2</title>
<date>Дата выхода телепередачи 2</date>
<category lang="ru">Категория 1</category>
</programme><programme start="20180920143000 +0300" stop="20180920141500 +0300" channel="2">
<title lang="ru">Наименование передачи 3</title>
<desc lang="ru">Описание телепередачи 3</title>
<date>Дата выхода телепередачи 3</date>
<category lang="ru">Категория 1</category>
<category lang="ru"> Категория 2</category>
</programme>
</tv>
Описание разметки файла телепрограммы
<?xml version="1.0" encoding="UTF-8"?> - заголовок, указывающий на то что файл содержит XML - разметку
<!DOCTYPE tv SYSTEM "xmltv.dtd"> - заголовок указывающий что будет использоваться шаблон xmltv.dtd
Описание разметки каналов
<channel id="1">
<display-name lang="ru">Канал 1</display-name>
<icon src="http://site.domain/1.png"/>
</channel>
Id=”1” – уникальный идентификатор канала. Бывает как числовым так и текстовым. По этому идентификатору плеер сопоставляет канал и его программу.
display-name – наименование канала, атрибут lang – указывает на то, на каком языке наименование канала. Lang является необязательным параметром.
icon – указывает ссылку на логотип канала, сама ссылка на логотип должна быть указана в атрибуте src
Описание разметки программ передач
После того, как все каналы которые присутствуют в файле программы указаны, необходимо описать саму программу для каналов :
<programme start="20180920143000 +0300" stop="20180920141500 +0300" channel="2">
<title lang="ru">Наименование передачи 3</title>
<desc lang="ru">Описание телепередачи 3</title>
<date>Дата выхода телепередачи 3</date>
<category lang="ru">Категория 1</category>
<category lang="ru"> Категория 2</category>
</programme>
programme – между этими тегами содержатся сведения о телепередаче. Имеет ряд обязательных атрибутов :
start – указывает на время начала передачи в формате YYYYMMDDHHMMSS (TZ)
- YYYY – год
- MM – месяц
- DD – день
- HH – час
- MM – минута
- SS – секунда
- TZ – часовой пояс, например +0300 (Мск), может не указываться
stop – указывает на время окончания передачи в формате YYYYMMDDHHMMSS (TZ), может не указываться
channel – уникальный идентификатор канала, заданный выше. Указывает на то, какому каналу принадлежит данная передача.
title – наименование передачи. Атрибут lang указывает на язык, является необязательным параметром.
desc – описание передачи – необязательны параметр. Атрибут lang указывает на язык, является необязательным параметром.
date – дата выхода передачи, может отличаться от даты трансляции – необязательный параметр.
category – наименование категории к которой относится передача – необязательный параметр. Для одной передачи может быть указано несколько категорий – жанров. Атрибут lang указывает на язык, является необязательным параметром.
Friendly IPTV Player поддерживает отображение программы в формате XMLTV и XMLTV GZ, более подробно о том как указать плееру программу чтобы она отображалась при просмотре IPTV вы можете в инструкции пользователя к плееру.