Smarty

  1. Домой
  2. Документы
  3. Smarty
  4. Конфигурация и обслуживание Smarty
  5. Импорт EPG и метаданных контента

Импорт EPG и метаданных контента

Базовые понятия

Программа передач в Smarty предоставляется с помощью сущности EPGChannel — это объект, к которому привязаны иконка канала (может быть несколько иконок разных размеров), а также программа передач с присущими программам свойствами (название передачи, ее описание, превью-изображения, время начала и время окончания передачи, жанры, категории и т.д.).
Можно сказать, что EPGChannel это своего рода «Канал», к которому абонент имеет опосредованный доступ — при правильной конфигурации абонент может увидеть иконку EPGChannel’а; название его текущей, прошедшей или будущей передачи; описание этих передач, их рекламные изображения и т.д., но о существовании такой сущности абонент не знает. Данная сущность необходима для связки между списком конкретных передач и иконок канала с каналом, который пользователь будет наблюдать у себя в портале.

Это список EPGChannel (невидим пользователю)
Это список каналов (то, что увидит пользователь в портале)

EPGSource — источник программы передач. Как правило, представляет из себя xmltv-файл со списком каналов и передач (или ссылкой на программу передач того или иного канала).

EPGChannelsSource — источник телеканалов. Может быть использован для импорта каналов или иконок к ним.

EpgProgram — непосредственно сама программа передач, связанная с конкретным EPGChannel, к которому принадлежит данная программа. Каждый EpgProgram хранит в себе информацию о названии передачи и о начале и окончании передачи (минимальный набор параметров, чтобы программа передач появилась в портале), а также ее описание, принадлежность к категории, возрастной рейтинг, превью-изображения и прочую информацию, которая может отображаться в портале.

Так программа хранится в Smarty

А так ее увидит пользователь в портале

Канал — сущность, к которой у пользователя будет последовательный доступ в портале. Представляет из себя совокупность конфигурации канала в админ-панели Smarty (стриминг-сервисы, тарифная конфигурация, LCN, родительский контроль и так далее) и связанного с этим каналом EPGChannel'а (в рамках которого предоставляется доступ к программе передач данного телеканала).

Минимальные настройки Smarty перед импортом программы передач (EPG)

Процесс конфигурации можно описать следующим алгоритмом:

  1. Создать или отредактировать уже существующий EPGSource;
  2. Создать необходимое количество EPGChannel'ов, связав их по id с программой передач из EPGSource (или импортировать все имеющиеся в источнике программы передач каналы);
  3. Произвести импорт программы передач;
  4. Связать EPGChannel'ы с имеющимся каналами;
  5. Добавить задачу по актуализации программы передач в планировщик задач.

Большинство операций по EPG осуществляется в django-админке (чтобы в нее попасть, нужен определенный уровень доступа, открывается при добавлении /admin в конце адреса Smarty).

Ниже, каждый из этих пунктов будет разобран чуть поподробнее.

Создание источника программы передач (EPGSource)

  1. Перейти в раздел Tvmiddleware;
  2. Открыть подраздел EPG Sources;
  3. Нажать кнопку Добавить EPG Source;
  4. Указать название EPGSource (необходимо для удобства администрирования);
  5. Указать тип парсера EPG (для корректной интерпретации данных, хранящихся в выбранном источнике)
  6. Указать адрес источника EPG (может быть как абсолютным — в случае конкретной ссылки на источник, так и относительным — в случае, если файл с программой передач хранится на том же сервере, что и Smarty);
  7. В целях экономии свободного пространства хранилища медиа-файлов (а также для более быстрой загрузки и уменьшения нагрузки на пользовательские устройства) можно включить опцию «Конвертировать картинки» — если этот чекбокс включен, то все импортируемые превью-изображения передач будут сжиматься до размеров, указанных в конфигурации Smarty (соответствующие опции описаны в документации «Системные параметры»); если чекбокс выключен, то превью-изображения будут загружены в исходном разрешении.

Тип парсера EPG следует выбирать исходя из используемого источника EPG. В большинстве случаев название парсера интуитивно соответствует названию источника EPG, за редкими исключениями, такими как:
Dummy_source — это автоматический источник, создающий одинаковые программы с названием, соответствующим названию EPGChannel и разбивкой раз в час. Может быть полезно для заполнения программы передач камер (в случае, если камеры пишут архив, для его просмотра требуется программа передач и заполнить ее можно через Dummy_source).
Xmltv_common — универсальный парсер xmltv.
Xmltv_from_file — парсер, основанный на xmltv_common, но способный считывать файл, который находится на сервере со Smarty.

Страница создания источника EPG

Создание источника телеканалов (EPGChannelsSource) и импорт телеканалов

Процесс создания источника телеканалов не сильно отличается от процесса создания источника телепередач за некоторыми исключениями:

  1. Перейти в раздел Tvmiddleware;
  2. Открыть подраздел EPG channels sources;
  3. Нажать кнопку Добавить EPG Channels Source;
  4. Связать источник EPGChannels с EPGSource;
  5. Указать адрес источника каналов (работает по аналогии с EPGSource);
Страница создания источника телеканалов

Импорт телеканалов и импорт иконок для телеканалов из существующего источника осуществляется с помощью служебной команды epg_channel_import.

Создание EPGChannel

Если по какой-то причине не удалось импортировать каналы из источника автоматически, их можно создать вручную с помощью Django-админки.

Пример экрана конфигурации EPGChannel с уже заполненными полями

  1. Перейти в раздел Tvmiddleware;
  2. Открыть подраздел EPG channels;
  3. Нажать кнопку Добавить EPG Channel;
  4. Указать название EPGChannel;
  5. Указать ID канала в источнике EPG (если в источнике у программы передач канала «Первый» указан id=000000004, то и при создании EPGChannel нужно указать id канала в источнике 000000004);
  6. Указать категорию передачи (именно эти категории буду использоваться в портале для фильтрации контента по категориям) и, при необходимости, выбрать дополнительные категории для канала;
  7. При наличии уже загруженной иконки канала, можно указать ее URL, в поле «URL иконки». Либо, ее можно загрузить с помощью кнопок загрузки иконки канала (при необходимости можно загрузить разные иконки под разные разрешения).
Категории в шаблоне Futuristic. Список категорий находится в левой части экрана

Разные шаблоны интерфейсов могут использовать разные размеры иконок (например, шаблон futuristic требует размера 120×90, а шаблон sibseti — 176х104). Размер иконок можно задать через системные параметры Smarty с помощью параметра SMARTY_DEFAULT_ICON_SIZES (подробнее об этом и других параметрах информация доступна в соответствующей документации).

Помимо эстетических проблем некорректные размеры иконок могут вызывать проблемы с быстродействием интерфейса — сжатие/увеличение картинок средствами абонентского устройства может приводить к заниженной скорости навигации в списке каналов.

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

Программа передач телеканала (EPGPrograms)

После создания EPGSource, EPGChannels и связки их друг с другом можно произвести импорт программы передач.
Импорт программы осуществляется служебной командой epg_import (команда имеет большое количество параметров, один из них в том числе позволяет создавать подборки передач для раздела «Архив»).

Можно автоматизировать импорт программы передач, добавив задачу в планировщик задач. В этом случае импорт передачи будет осуществляться автоматически по расписанию.

Пример команды импорта передач в планировщике задач. В качестве планировщика используется Crontab. Команда импорта выделена красным цветом.

По окончанию импорта можно ознакомиться со списком передач в разделе Tvmiddleware, подразделе EPG programs.

EPG programs, часть экрана со списком передач

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

Пример заполненного EPG Program

Внимание! Некоторые шаблоны (например, Redmax) используют несколько превью-изображений разного формата (на примере того же шаблона Redmax, где используются как 16:9, так и 2:3 изображения). Для такой ситуации у программ передач в поле "Meta" есть дополнительный список превью-изображений под названием extra_previews — объект, в котором хранятся списки дополнительных изображений, разбитые по соответствующим пропорциям.

Также, список передач можно посмотреть в админ-панели Smarty, настроив нужные фильтры на экране «Настройки контента» — «Телепрограмма» (для этого канал в Smarty должен быть связан с соответствующим EPGChannel’ом).

Программа передач в Smarty

В случае, если программа передач по заданным параметрам не нашлась, можно нажать на кнопку «Принудительно импортировать EPG» — в этом случае Smarty отправит команду на импорт программы передач для выбранного в параметрах фильтрации канала.

Примеры применения EPG в шаблонах

Futuristic

Для шаблона Futuristic рекомендуется использовать следующие размеры иконок телеканалов:

  • 120x91px (для экрана «ТВ», в режиме list и grid);
  • 40×40 px (для режима longlist);
  • 60×48 px (для экрана сортировки телеканалов);

И превью-изображений:

  • соотношения 16:9 не меньше 280×157 px;
  • соотношения 4:3 не меньше 200х150 px.
Futuristic, главный экран, лента дашборда «Телеканалы»
Futuristic, главный экран, лента дашборда «Передачи»
Futuristic, экран «Архив»
Futuristic, экран «Архив», открыта одна из подборок архива
Futuristic, экран телеканалы, включена опция "tv_channels_icon_mode": "icon"
Futuristic, экран телеканалы, включена опция "tv_channels_icon_mode": "program_preview"
Futuristic, открыт экран списка передач одного из каналов

Различные портальные опции, изменяющие поведение шаблона в связке с EPG можно посмотреть в соответствующей документации.

Sibseti

Для шаблона Sibseti рекомендуются иконки телеканалов с разрешением 176х104 px.
Превью-изображения телепрограмм рекомендуется использовать с пропорциями 16:9 и размерами не меньше 550х309 px

Sibseti, экран телевидение
Sibseti, экран «ТВ-плеер», открыт инфобар по кнопке «О программе»
Sibseti, экран «Архив»
Sibseti, экран «Архив», открыта подборка передач

Различные портальные опции, изменяющие поведение шаблона в связке с EPG, можно посмотреть в соответствующей документации.

Redmax

Для шаблона Redmax рекомендовано использование иконок телеканалов размерами 40х40 px.
Превью-изображения телепрограмм рекомендуется использовать:

  • для пропорций 16:9 не меньшее 720х405 px;
  • для пропорций 2:3 не меньше 170х255 px.
Redmax, главный экран, лента каналов
Redmax, главный экран, лента передач, пример одновременного использования превью-передач с разным соотношением сторон
Redmax, экран телеканалы
Redmax, архивная подборка

Различные портальные опции, изменяющие поведение шаблона в связке с EPG можно посмотреть в соответствующей документации.