Меня сильно смущают 2 момента:
1. Родное приложение регулярно шлёт http запросы с интервалом не более 5 секунд, а чаще 2 секунды. Может если долго нет http запросов, ресивер заканчивает сеанс, иначе зачем так часто запрашивать всякую фигню?
2.Может ресивер после запроса rtsp ссылки не реагирует на http запросы, до тех пор, пока не закончен rtsp обмен?
Хорошо бы для проверки запустить тест - переключать каналы с нарастающим интервалом , начиная с 1 сек , ссылку на канал не запрашивать, а смотреть на экране ТВ будут ли и до какого интервала переключаться каналы.
Re: Просмотр с ресивера Триколор
#197В их приложении:
PUT /v1.3/channels/current HTTP/1.1
Content-Type: application/json
Content-Length: 42
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; Lenovo TB2-X30L Build/LenovoTB2-X30L)
Host: 192.168.0.100:50000
Connection: Keep-Alive
Accept-Encoding: gzip
{"channelListId":"TV","channelNumber":1}
У Вас:
PUT /v1.3/channels/current HTTP/1.1
Accept-Encoding: gzip, deflate -> Должно быть Content-Type: application/json
Content-Type: application/json-> Content-Length: 42
Accept-Language: ru Нет такого!!!
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4) -> User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; Lenovo TB2-X30L Build/LenovoTB2-X30L)
Content-Length: 40 -> Host: 192.168.0.100:50000
Expect: 100-continue Нет такого!
Connection: keep-alive
Host: 192.168.0.100:50000 -> Accept-Encoding: gzip
PUT /v1.3/channels/current HTTP/1.1
Content-Type: application/json
Content-Length: 42
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; Lenovo TB2-X30L Build/LenovoTB2-X30L)
Host: 192.168.0.100:50000
Connection: Keep-Alive
Accept-Encoding: gzip
{"channelListId":"TV","channelNumber":1}
У Вас:
PUT /v1.3/channels/current HTTP/1.1
Accept-Encoding: gzip, deflate -> Должно быть Content-Type: application/json
Content-Type: application/json-> Content-Length: 42
Accept-Language: ru Нет такого!!!
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4) -> User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; Lenovo TB2-X30L Build/LenovoTB2-X30L)
Content-Length: 40 -> Host: 192.168.0.100:50000
Expect: 100-continue Нет такого!
Connection: keep-alive
Host: 192.168.0.100:50000 -> Accept-Encoding: gzip
Re: Просмотр с ресивера Триколор
#198Косяк точно в put при переключении каналов, без него ресивер нормально отзывается.
Re: Просмотр с ресивера Триколор
#199подумалось. А у самого устройства нет режима отладки и логов? Может там ошибки какие в логе
Re: Просмотр с ресивера Триколор
#200А вот знать бы. GS ответили, что не заинтересованы в создании других приложений.
Моё мнение - сначала нужно точно повторить запросы из приложения, буква в букву, поэкспериментировать всегда успеем
Моё мнение - сначала нужно точно повторить запросы из приложения, буква в букву, поэкспериментировать всегда успеем

Re: Просмотр с ресивера Триколор
#201Как только появятся конкретные проблемы, по-любому найду спецов. Но не хотелось бы, чтобы в результате в другом плеере заработало раньше, чем у нас.
Re: Просмотр с ресивера Триколор
#202Вот конкретная проблема. На setup в rtsp отвера нету. put проходит только один.
Непонятно чего ему не нравится.
Непонятно чего ему не нравится.
Re: Просмотр с ресивера Триколор
#203С этим как раз все понятно - запросы отличаются от работающего приложения. Приводил выше на этой странице что у нас и что должно быть. Вся проблема - сделать запросы точно по образцу. Сейчас они существенно отличаются!
Re: Просмотр с ресивера Триколор
#204a. Не отличаются, дальше user-agent-а
b. Я эксперементов делаю раз в 20 больше чему публикую. Всё разумное уже перебрал.
Подозреваю есть иделогическое отличие. Например родной софт открывает http сессию и держит её до конца. А ProgTV открывает новую под каждую команду.
b. Я эксперементов делаю раз в 20 больше чему публикую. Всё разумное уже перебрал.
Подозреваю есть иделогическое отличие. Например родной софт открывает http сессию и держит её до конца. А ProgTV открывает новую под каждую команду.
Re: Просмотр с ресивера Триколор
#205Например родной софт открывает http сессию и держит её до конца. А ProgTV открывает новую под каждую команду.
- Не например, а точно так и есть! Там везде Connection: Keep-Alive, я же писал, что это важно !!!
И длина сообщения put у них на 2 больше! User-Agent очень важен!
Что мешает сделать запросы точно по их образцу ?
- Не например, а точно так и есть! Там везде Connection: Keep-Alive, я же писал, что это важно !!!
И длина сообщения put у них на 2 больше! User-Agent очень важен!
Что мешает сделать запросы точно по их образцу ?
Re: Просмотр с ресивера Триколор
#207Вы сейчас пытаетесь работать с ресивером по алгоритму для iptv?
Для ресивера нужно:
1. Поддерживать http соединения до окончания работы.
2.Формирвать http и rtsp запросы точно по образцу.
3. Использовать для запросов 4 вида User-Agent.
4. Регулярно слать http запросы с интервалом 2-5 секунд.
Вывод: работать с ресивером нужно по специальному алгоритму и реализовывать его в отдельной ветке. Правильно?
Для ресивера нужно:
1. Поддерживать http соединения до окончания работы.
2.Формирвать http и rtsp запросы точно по образцу.
3. Использовать для запросов 4 вида User-Agent.
4. Регулярно слать http запросы с интервалом 2-5 секунд.
Вывод: работать с ресивером нужно по специальному алгоритму и реализовывать его в отдельной ветке. Правильно?
Re: Просмотр с ресивера Триколор
#209Уже расспросил. Ответ : - " не можешь тупо скопировать десяток запросов - играй в тетрис"
Re: Просмотр с ресивера Триколор
#210PUT /v1.3/channels/current HTTP/1.1
Content-Type: application/json
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; Lenovo TB2-X30L Build/LenovoTB2-X30L)
Content-Length: 40 почему у них 42?
Host: 192.168.0.100:50000
Connection: Keep-Alive
{"channelListId":"TV","channelNumber":2}
HTTP/1.1 204 No Content
Date: Thu, 17 Sep 2020 14:31:12 GMT
GET /v1.3/streaming/sessions/live HTTP/1.1
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
Host: 192.168.0.100:50000
HTTP/1.1 409 Conflict
Content-Length: 8
Date: Thu, 17 Sep 2020 14:31:12 GMT
Conflict
PUT /v1.3/channels/current HTTP/1.1
Content-Type: application/json
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; Lenovo TB2-X30L Build/LenovoTB2-X30L)
Content-Length: 40
Host: 192.168.0.100:50000
Connection: Keep-Alive
{"channelListId":"TV","channelNumber":3}
HTTP/1.1 204 No Content
Date: Thu, 17 Sep 2020 14:31:22 GMT
GET /v1.3/streaming/sessions/live HTTP/1.1
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
Host: 192.168.0.100:50000
HTTP/1.1 200 OK
Content-Type: application/hal+json
Date: Thu, 17 Sep 2020 14:31:22 GMT
Transfer-Encoding: chunked
c1
{"channelListId":"TV","channelNumber":3,"_links":{"self":{"href":"/v1.3/streaming/sessions/live"},"stream":{"href":"rtsp://192.168.0.100:50554/streams/6d72eb21-c5f9-eb4e-dbb9-60ae91769fa0"}}}
PUT /v1.3/channels/current HTTP/1.1
Content-Type: application/json
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; Lenovo TB2-X30L Build/LenovoTB2-X30L)
Content-Length: 40
Host: 192.168.0.100:50000
Connection: Keep-Alive
{"channelListId":"TV","channelNumber":5}GET /v1.3/streaming/sessions/live HTTP/1.1
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
Host: 192.168.0.100:50000
Content-Type: application/json
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; Lenovo TB2-X30L Build/LenovoTB2-X30L)
Content-Length: 40 почему у них 42?
Host: 192.168.0.100:50000
Connection: Keep-Alive
{"channelListId":"TV","channelNumber":2}
HTTP/1.1 204 No Content
Date: Thu, 17 Sep 2020 14:31:12 GMT
GET /v1.3/streaming/sessions/live HTTP/1.1
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
Host: 192.168.0.100:50000
HTTP/1.1 409 Conflict
Content-Length: 8
Date: Thu, 17 Sep 2020 14:31:12 GMT
Conflict
PUT /v1.3/channels/current HTTP/1.1
Content-Type: application/json
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; Lenovo TB2-X30L Build/LenovoTB2-X30L)
Content-Length: 40
Host: 192.168.0.100:50000
Connection: Keep-Alive
{"channelListId":"TV","channelNumber":3}
HTTP/1.1 204 No Content
Date: Thu, 17 Sep 2020 14:31:22 GMT
GET /v1.3/streaming/sessions/live HTTP/1.1
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
Host: 192.168.0.100:50000
HTTP/1.1 200 OK
Content-Type: application/hal+json
Date: Thu, 17 Sep 2020 14:31:22 GMT
Transfer-Encoding: chunked
c1
{"channelListId":"TV","channelNumber":3,"_links":{"self":{"href":"/v1.3/streaming/sessions/live"},"stream":{"href":"rtsp://192.168.0.100:50554/streams/6d72eb21-c5f9-eb4e-dbb9-60ae91769fa0"}}}
PUT /v1.3/channels/current HTTP/1.1
Content-Type: application/json
User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; Lenovo TB2-X30L Build/LenovoTB2-X30L)
Content-Length: 40
Host: 192.168.0.100:50000
Connection: Keep-Alive
{"channelListId":"TV","channelNumber":5}GET /v1.3/streaming/sessions/live HTTP/1.1
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
Host: 192.168.0.100:50000