Как я понимаю, вы можете использовать JS -> PHP -> JS call и время ответа, но это довольно неточно. Кроме того, вам нужно будет использовать достаточное количество данных (из-за проблем с избыточной пропускной способностью), и вы никогда не получите явного ответа из-за заголовков серверов, которые существуют / не существуют между браузерами. Есть также проблема с поставщиками услуг ( кашель comcast кашель ), где они дают вам скорости 12 Мбит в течение первых нескольких секунд, но потом душат вас до 3 Мбит, так что теперь ваш тест "сказали бы, что они на линии OC, но сам поток теперь будет иметь дефицит данных и будет постоянно буферизироваться.
Лучшее решение - встроить логику в протокол потоковой передачи, который может регулироваться в зависимости от того, сколько / мало данных поступает. Возможно, он начинается с низкого качества полосы пропускания и поднимает планку, когда замечает рост буфера быстрее, чем воспроизводятся данные (именно это делают видео Hulu, YouTube или Amazon).