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