====================================================================== 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/partners/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/partners/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/partners/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/partners/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