 | ОБЩЕЕ ОПИСАНИЕ СТРУКТУРЫ КАНАЛА
Канал telesa.tv (папка ttv на схеме) имеет древовидную структуру, разбитую по годам, месяцам и дням.
В основной папке ttv хранятся два файла:
config.ini - содержит название канала и ссылку на текущий день.
prgdates.xml - содержит даты выпусков передач.
В папках дней хранятся файлы index.prg, которые содержат ссылки на клипы из хранилища файлов с данными.
Хранилище данных (папка files) содержит разбитую по каталогам структуру с подгружаемыми swf, их данными и файлами index.air, описывающими конкретный клип.
АЛГОРИТМ ОБРАЩЕНИЯ ТЕЛЕПРИЕМНИКА К ДАННЫМ
Изначально приемнику отдается URL. Приемник проверяет этот URL и если он ошибочный, то строится иерархия ссылок вверх по дереву, с добавлением index.prg. В любом случае строится такая же структура с добавлением config.ini. Далее проверяются все index.prg, после чего config.ini (поиск канала). Если канал был обнаружен (был найден config.ini), то в файле index.prg можно пользоваться ссылками относительно общего корня. Общий корень строится путем перехода на уровень выше папки канала. У нас это telesa.tv. Пример ссылки: files/gismeteo/current/index.air . В любом случае, был канал обнаружен или нет, можно пользоваться относительными ссылками вида: ../../folder/index.air . И, конечно, можно пользоваться абсолютными, но это привязывает ваши данные к определенному адресу.
Далее идет расшифровка данных программы index.prg приемником. После расшифровки считывается первая ссылка из index.prg, которая обычно обращается к файлу index.air (в общем случае любое имя файла). На основе данных из index.air происходит загрузка swf клипа.
Файл config.ini проверяется с периодом, который выберет пользователь в настройках приемника. По умолчанию этот период равен 3 минутам. Также, после проверки config.ini, происходит проверка текущей программы на предмет изменений.
ОПИСАНИЕ ДАННЫХ
Данные передаются в формате xml и кодировке Unicode.
Файл config.ini
<configuration>
<prgURL>ttv/2006/02/17/index.prg</prgURL>
<channel>Первый канал Telesa TV</channel>
</configuration>
Тэги.
prgURL – ссылка на текущий день.
channel – название канала.
Файл prgdates.xml
Состоит из помесячных строк, которые содержат год, месяц и даты выхода передач. Форматирование внутри тэгов month имеет следующий вид: год/месяц/день.день.день.день...
<available>
<month>2006/01/1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.29.30.31</month>
<month>2006/02/1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17</month>
</available>
Файл index.prg
<programm>
<date>17.02.2006</date>
<air id="08:00-gismeteo-20060217" title="Прогноз погоды" playnext="true" visible="true">files/gismeteo/20060217/index.air</air>
<air id="10:00-exler-title" title="Интернет с Экслером" playnext="true" visible="true">files/exler/title/index.air</air>
<air id="10:00-exler-29723" title="Экслер 27.12.2005" playnext="true" visible="false">files/exler/29723/index.air</air>
<air id="10:00-common-masterhost" title=".mastername - регистратор доменов" playnext="true" visible="false">files/common/adv/mastername/index.air</air>
<air id="10:00-exler-end" title="Экслер [конец]" playnext="true" visible="false">files/exler/end/index.air</air>
<air id="12:00-walden-s7" title="Ёж Уолден. Автор: Маша Якушина" playnext="true" visible="true">files/walden/s7/index.air</air>
<air id="13:00-music5minutes-monro " title="Музыкальная пятиминутка" playnext="false" visible="true">files/music5minutes/monro/index.air</air>
</programm>
Теги.
date – текущая дата.
air – ссылка на index.air.
Атрибуты тэга air
id – идентификатор для нахождения клипа в программе.
title – название для отображения в программе телеприемника.
playnext – автопроигрывание следующей передачи. Может принимать значение true или false.
visible – отображение клипа в программе телеприемника. Значения: true или false.
Файл index.air
<air>
<title showtitle="0">Прогноз погоды</title>
<announcer>Ангел</announcer>
<control>true</control>
<swf x="0" y="0">files/gismeteo/current/weather.swf</swf>
<fulltext><![CDATA[Текстовый вариант отсутствует]]></fulltext>
</air>
Тэги.
title – название клипа. Атрибут showtitle измеряется в секундах. Это время, на которое остается название клипа после его загрузки.
announcer – кто преподносит информацию. Появляется в скобках после названия клипа.
control – активация кнопок воспроизведение и стоп. Может принимать значение true, false, no-pause (клип можно только воспроизвести и остановить с переводом в начало).
swf – ссылка на загружаемый swf файл.
fulltext – текст для отображения в текстовой версии клипа. Может содержать форматирующие html тэги поддерживаемые Macromedia Flash.
Атрибуты тэга swf.
x – смещение в пикселах (pixel) относительно левого верхнего края по горизонтали.
y – смещение относительно того же угла по вертикали.
width – ширина клипа.
height – высота клипа.
a) Если x, y, width и height отсутствуют, то клип автоматически сжимается до размеров экрана.
б) Если присутствуют только x и у, то клип не деформируется, а остается таким какой есть.
в) Если присутствуют все параметры, то клип сжимается до размеров которые указаны.
fps – скорость проигрывания клипа. Кадры в секунду. По умолчанию 25. Может принимать значения между 10 и 30.
| |