Для разработчиков > Torrent Stream API

Проблемы с Engine HTTP API

(1/2) > >>

quepassa:
От моих пользователей последнее время стали поступать жалобы на то, что при просмотре некоторых каналов наблюдаются зацикливания контента. Длина цикла может составлять 10 минут. Проведя "расследования" с одним из жалующихся на это пользователем, нам удалось обнаружить, что причиной такого поведения является взаимодействие с движком по новому протоколу "Engine HTTP API" (http://wiki.acestream.media/Engine_HTTP_API). Эта проблема "всплыла" после того, как я начал поэтапное распространение новой версии своего приложения, в которой по умолчанию стал использоваться данный протокол. В моем приложении есть возможность переключиться на использование старого "Engine API" (http://wiki.acestream.media/Engine_API). Если это сделать и перезапустить канал, то зацикливание более не наблюдается.

Все это позволяет мне считать, что причиной данного зацикливания является протокол "Engine HTTP API", а точнее, что-то из того, что с ним связано.

Пока что же, я скорее всего, буду вынужден выпустить новую версию приложения, где в качестве дефолтного, будет использоваться старый протокол "Engine API".

Немного деталей.
Движок: 3.1.17 (android)
От движка запрашивалась HTTP ссылка (не HLS).
Канал: Bridge HD
Плеер: Mx Player 1.8.17 (arm neon)
Устройство: Mini M8S (https://4pda.ru/forum/index.php?showtopic=741134)

Benny:

--- Цитата: quepassa от 04 Марта 2017, 21:56:31 ---Все это позволяет мне считать, что причиной данного зацикливания является протокол "Engine HTTP API", а точнее, что-то из того, что с ним связано.
--- Конец цитаты ---
За информацию об ошибке спасибо, конечно, но уж от кого-кого, а от разработчика хочется больше деталей: "опись-протокол, сдал-принял" - т.е лог(и), указывающие на (нашу) ошибку где?
Хоть что-то, не позволяющее нам сказать в ответ "...причиной данного зацикливания является некорректная работа стороннего приложения по протоколу "Engine HTTP API" с нашим движком"?

quepassa:
Да я бы с удовольствием, но у меня самого такой проблемы не наблюдается. Постараюсь, конечно, еще раз помучать человека и предоставить вам логи работы движка и взаимодействия моего приложения с ним. Но, с другой стороны, логи - это хорошее подспорье, но разработчик движка, обладая знаниями о специфике реализации HTTP API и буду информированным о такой вот проблеме, может провести анализ кода и проверить некоторые предположения даже без лог-файлов.

Смотрите, некоторые еще пишут, что не наблюдают зацикливания при использовании VLC, а вот при использовании MX Player - наблюдают. Это раз.
И я указал, что при использовании старого протокола, зацикливаний нет, а при использовании нового - есть (у человека как раз был mx player). Нюанс тут в том, что при использовании старого протокола, я пропускаю запросы плеера через свой "прокси"-сервер, который со стороны плеера гарантирует прием сколь угодного множества запросов, а на стороне движка гарантирует лишь один запрос от своего имени по указанной движком ссылке воспроизведения. Это два.

Давайте теперь попробуем агрегировать всю эту информацию.
Что объединяет "VLC+новый протокол" и "mx player+старый протокол"? То, что в обоих случаях движок получает один и только один запрос от того, кого он считает плеером. Да, это известный плюс VLC - он не делает двух одновременных запросов. Если и надо, то последовательно.

Итак, на данном этапе можно сказать, что когда на движок всегда прилетает лишь один запрос от плеера, то проблем нет, независимо от того, какой api движка был задействован.

А вот когда включаешь mx player и скармливаешь ему ссылку полученную от нового апи, то ИНОГДА возникают зацикливания. Почему ИНОГДА. а не всегда? Потому что, я заметил, что на разных устройствах тот же mx player по-разному атакует сервер запросами. И в тоже время нам известно, что ссылка, которую выдает новый HTTP API допускает одновременные запросы от одного плеера. Допускаю, что это стало возможным благодаря каким-то специальным усилиям, условно говоря, вы реализовали свой собственный "прокси", который принимает N запросов от плеера и отправляет лишь 1 запрос туда, где осуществляется выдача контента. И возможно, что в этом вашем алгоритме закралась ошибка. Может быть это что-то связанное с заголовком Range, в запросе от плеера?

Benny:
Ок, разработчики об ошибке уведомлены.
Пока это все сильно напоминает "пойди туда - не знаю куда и принеси то - не знаю что", но подождем - может и поднакопится статистика по этому багу.

Benny:
http://wiki.acestream.media/Download
В последней бете предпринята попытка исправить
--- Цитата: quepassa от 05 Марта 2017, 03:03:12 ---некоторые еще пишут, что не наблюдают зацикливания при использовании VLC, а вот при использовании MX Player - наблюдают.
--- Конец цитаты ---
подобное поведение - нужно проверять.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии