Приложение для измерения скорости до сети оператора

Медиацентры поддерживают функцию тестирования скорости абонентом до сети оператора (с прошивок 4.2.20/4.3.4).
Функция включается через provisioning («speedtest_url» в блоке «tv_stream»). После включения у абонента в настройках ТВ появляется функция тестирования входящей скорости.

Конфигурация

URL, указанный в provisioning задает адрес json-файла с конфигурацией теста. Конфигурация загружается через запрос HTTP GET.
Пример:

{
  "service": {
        "name": "Test Server",
        "publish_result" : false
  },
  "items": [
        "http://server/speedtest/1.dat",
        "http://server/speedtest/2.dat?ls=${ls}&lt=${lt}",
        "http://server/speedtest/3.dat?ls=${ls}&lt=${lt}",
        "http://server/speedtest/4.dat?ls=${ls}&lt=${lt}"
  ]
}

Раздел service задает опции сервера: name - имя для отображения пользователю, publish_result - нужно ли отправлять результат на сервер оператора.
Раздел items задает URL для случайного набора данных для теста. Рекомендуется не менее 4 сегментов. Каждый следующий сегмент может получить в качестве параметра размер (заменяет паттерн ${ls}) и время в мс (заменяет паттерн ${lt}) загрузки предыдущего сегмента. Это позволяет варьировать размер следующих сегментов в зависимость от уже измеренных для увеличения точности.

Результат

Результат замера входящей скорости отображается пользователю как сумма размеров всех файлов деленная на общее время их загрузки.
Также результат может быть отправлен на сервер (если задано в конфигурации).
Результат отправляется на тот же URL, с которого загружается конфигурация с использованием HTTP POST.

{
  "items":[
	{
		"size":20971520,
		"timeMs":1845,
		"url":"http://server/speedtest/1.dat"
	},
	{
		"size":20971520,
		"timeMs":1786,
		"url":"http://server/speedtest/2.dat"
	},
	{
		"size":20971520,
		"timeMs":1783,
		"url":"http://server/speedtest/3.dat"
	},
	{
		"size":20971520,
		"timeMs":1790,
		"url":"http://server/speedtest/4.dat"
	}
	]
}

Перевод этой страницы: