Dune HD STB - SERVICE PLUGINS


NOTE: This document contains the information in Russian language.

mediainfo: Extracting information from media files

Plugin:
   http://files.dune-hd.com/sdk/misc/dune_plugin_mediainfo_service.2013_04_18.zip

Получение длительности медиа-файла:
   http://localhost/cgi-bin/plugins/mediainfo_service/do?cmd=get_duration&file=/D/some%20folder/file.avi

Генерация скриншота:
   http://localhost/cgi-bin/plugins/mediainfo_service/do?cmd=make_screenshot&file=/D/some%20folder/file.avi&
   screenshot_file=/tmp/www/video_screenshot.jpg&screenshot_pos=5&screenshot_size=320x200
      - file = UNIX-путь к видеофайлу
      - screenfile_file = UNIX-путь к файлу, в который нужно сохранить
        скриншот
      - screenshot_pos = позиция в секундах от начала видеофайла, с которой
        брать скриншот (имеет смысл использовать значение порядка 5 или 10,
        чтобы пропустить первые титры)
      - screenshot_size = разрешение сгенерированного скриншота

3g_service: Work with USB 3G modem

Plugin:
   http://files.dune-hd.com/sdk/misc/dune_plugin_3g_service.2013_05_20.zip

Отправка SMS:
   http://localhost/cgi-bin/plugins/3g_service/do?cmd=send_sms&number=89161234567&text=hello

Получение информации о модеме:
   cmd=status&get_sim_status=1&get_imsi=1&get_imei=1&get_signal=1
   =>
   sim_status = 1
   imsi = 250018525152091
   imei = 867158010176681
   signal_strength = 20
   signal_ber = 99
   result = ok
   или
   sim_status = 0
   result = ok

   cmd=status&get_imsi=1
   =>
   imsi = 250018525152091
   result = ok

   cmd=status&get_signal=1
   =>
   signal_strength = 17
   signal_ber = 99
   result = ok

Чтение SMS из памяти:
   сmd=list_sms&sms_storage=sim
   =>
   result = ok

   cmd=list_sms&sms_storage=memory
   =>
   number.0 = "+79166143910"
   time.0 = "13/04/19,17:24:07+16"
   text.0.0 = Test
   number.1 = "+79104466945"
   time.1 = "13/04/19,19:10:39+16"
   text.1.0 = Sim message
   number.2 = "+79104466945"
   time.2 = "13/04/19,17:48:38+16"
   text.2.0 = Test999
   number.4 = "+79104466945"
   time.4 = "13/04/22,13:23:13+16"
   text.4.0 = Simm
   result = ok

Удаление SMS из памяти:
   cmd=delete_sms&sms_storage=memory&index=4
   =>
   result = ok

   cmd=delete_sms&sms_storage=sim&index=all
   =>
   result = ok

Установка типа памяти для хранения SMS:
   cmd=set_sms_storage&sms_storage=sim
   =>
   result = ok

   cmd=set_sms_storage&sms_storage=memory
   =>
   result = ok

Фоновое 3G-подключение к сети:
   - Принцип работы:
      - Фоновое 3G-подключение может быть включено и выключено по команде
        MW.
      - Фоновое 3G-подключение по-умолчанию (при каждой загрузке STB)
        выключено.
      - Фоновое 3G-подключение, когда включено, то устанавливается и
        постоянно поддерживается / восстанавливается, но используется для
        выхода в Интернет только, когда основное подключение (Ethernet /
        Wi-FI) выход в Интернет не обеспечивает.
      - Если Internet доступен через основное подключение, то для выхода в
        Internet используется оно.
      - Проверка доступности Интернет выполняется через ping google DNS
        (8.8.8.8).
      - Переключение между основным и 3G-подключением (в обоих
        направлениях) происходит полностью автоматически.
   - Команды:
      - cmd=start_3g
         - Dключает фоновое 3G-подключение.
      - cmd=stop_3g
         - Выключает фоновое 3G-подключение.
      - cmd=status
         - Поддерживает выдачу информации о доступности Internet через
           основное подключение и 3G-подключение посредством следующим
           параметров:
              - have_main_connection
              - have_3g_connection
   - Рекомендации:
      - MW должно вызывать команду "start_3g", когда/если требуется фоновое
        3G-подключение.
      - Для индикации текущего статуса в GUI (нет доступа в Internet /
        доступ через 3G / доступ через основное подключение), в MW
        рекомендуется реализовать постоянное периодическое выполнение
        команды "status" через AJAX (с задержкой в 1 сек между получением
        ответа и следующим запросом).
   - Ограничения:
      - При включенном фоновом 3G-подключении не поддерживается
        прием/передача SMS-сообщений.
      - При включенном фоновом 3G-подключении информация о качестве сигнала
        определяется только в момент включения фонового 3G-подключения, и
        далее (пока фоновое 3G-подключение включено) повторно не
        опрашивается.
      - Горячее подключение USB-модема после включения STB --
        поддерживается.
      - Горячее отключение USB-модема после включения STB – поддерживается
        только, если в момент отключения фоновое 3G-подключение было
        выключено. Иначе, горячее отключение USB-модема _НЕ_ поддерживается
        и может привести к различным проблемам (требуется полная
        перезагрузка STB по питанию).

dvb_service: Getting time from DVB stream on STB boot

Plugin:
   http://files.dune-hd.com/sdk/misc/dune_plugin_dvb_service.2013_04_28.zip

При загрузке MW делать HTTP-вызов:
   http://127.0.0.1/cgi-bin/plugins/dvb_service/do?cmd=set_system_time&
   media_url=dvb://TVSale:12265000:CIRCULAR:0:QPSK:27500000:FEC_3_4:TONE_MODE_ON:65535:9:31015:.ts
      - В HTTP-запросе указать правильный DVB media_url.
      - ВАЖНО: ни в коем случае не делать этот запрос одновременно с
        воспроизведением DVB-канала.

Альтернативный вариант -- настроить автовыполнение следующего скрипта при загрузке STB:
   mkdir -p /config/boot
   cd /config/boot
   wget http://files.dune-hd.com/tmp/dvb_time
   chmod +x dvb_time
   # отредактировать скрипт dvb_time, указав правильный DVB media_URL

file_service: Work with file system

Plugin:
   http://files.dune-hd.com/sdk/misc/dune_plugin_file_service.2013_08_12.zip

Удаление файла:
   http://127.0.0.1/cgi-bin/plugins/file_service/do?cmd=delete_file&path=/path/to/file
 On success:
   result = ok
 On some failure:
   result = error
   error_message = command 'delete_file' failed
  При попытке удалить директорию выдаст ошибку.

Получение информации о файле или папке:
   http://127.0.0.1/cgi-bin/plugins/file_service/do?cmd=get_info&path=/path/to/file/or/folder
 On success:
   type=regular file
   size=489
   mtime=1364546711
   result = ok
 Значение type может быть: regular_file, regular empty file, directory.
   (А также специальные значения fifo, block special file, etc..)
 Значение mtime - file/directory modification time, as unix timestamp.
 Ссылки разыменовываются.
 On some failure:
   result = error
   error_message = command 'get_info' failed

Чтение текстового файла:
   http://127.0.0.1/cgi-bin/plugins/file_service/do?cmd=read_text_file&path=/path/to/text/file&max_length=bytes
 On success:
   result = ok
   @data
   ...contents of file...
 Специальная строка "@data" служит разделителем; начиная со следующей после
 "@data" строки следует содержимое запрашиваемого файла.
 Если max_length <= 0, то файл возвращается целиком, иначе возаращаются
 первые max(file_size, max_length) байт запрашиваемого файла.
 On some failure:
   result = error
   error_message = command 'read_text_file' failed