Hadevs Posted September 2, 2016 Report Share Posted September 2, 2016 При запросе: http://iptv.kartina.tv/api/json/get_url?cid=371&gmt=1470183300 Выдает ошибку: { code = 8; message = "Error generate URL. Bad parameters"; } В чем может быть проблема? Link to comment Share on other sites More sharing options...
jedinike Posted September 2, 2016 Report Share Posted September 2, 2016 Передал. Link to comment Share on other sites More sharing options...
Guest empty Posted September 2, 2016 Report Share Posted September 2, 2016 При запросе: http://iptv.kartina.tv/api/json/get_url?cid=371&gmt=1470183300 Выдает ошибку: { code = 8; message = "Error generate URL. Bad parameters"; } В чем может быть проблема? application.WARNING: cannot find catchup: hls_h264, GMT: 1470183300 [] [] Необходимо проверить, есть ли архив в данном стандарте вещания Link to comment Share on other sites More sharing options...
Hadevs Posted September 2, 2016 Author Report Share Posted September 2, 2016 При запросе: http://iptv.kartina.tv/api/json/get_url?cid=371&gmt=1470183300 Выдает ошибку: { code = 8; message = "Error generate URL. Bad parameters"; } В чем может быть проблема? application.WARNING: cannot find catchup: hls_h264, GMT: 1470183300 [] [] Необходимо проверить, есть ли архив в данном стандарте вещания Из channel_list вообще не выводит этот параметр. Может с датой что-то сделать? Link to comment Share on other sites More sharing options...
Guest empty Posted September 2, 2016 Report Share Posted September 2, 2016 Я вижу мой ответ совсем не понятен. В нашем сервисе мы используем разные стандарты вещания, которые можно получить вызвав метод https://iptv.kartina.tv/api/json/settings?var=stream_standard Вот пример ответа: "settings": { "value": "http_h264", "list": [ { "value": "dash_hevc", "title": "DASH / H.265 (HEVC)", "description": "Адаптивный протокол вещания, лучшее качество изображения от Картина ТВ. Выбор битрейта вещания и время буферизации устанавливается автоматически. Каналы переключаются быстро. Предлагается с 2015 года.", "catchup": { "delay": 6, "length": 1209480 } }, { "value": "http_h264", "title": "HTTP / H.264", "description": "Качество изображения зависит от выбранного битрейта вещания. Установленное время буферизации влияет на скорость переключения каналов и на стабильность вещания. Предлагается с 2008 года.", "default": true, "catchup": { "delay": 1800, "length": 1209480 } }, { "value": "udt_h264", "title": "UDT / H.264", "description": "Использование протокола UDT улучшает качество вещания при нестабильном Интернете, позволит Вам выбрать для просмотра более удалённый сервер вещания, но увеличивает время переключения каналов и время буферизации. Предлагается с 2015 года.", "catchup": { "delay": 1800, "length": 1209480 } }, { "value": "hls_h264", "title": "HLS / H.264", "description": "Адаптивный протокол вещания. Ограниченное количество каналов. Нет архива! Предлагается с 2009 года.", "catchup": false } ], "scope": "personal", "name": "stream_standard" }, Нужно обратить внимание на секцию catchup у каждого стандарта в списке. В момент запроса get_url из примера выше используется формат hls, а у него, как видно выше нет никакого архива(catchup = false). Значит нельзя запрашивать архив. Это момент нужно предусмотреть в интерфейсе приставки. Еще я хочу объяснить что значат эти поля: "catchup": { "delay": 1800, "length": 1209480 } delay - означает, что минимальное время с которого пишется архив и которое можно запрашивать length - означает максимальное время в прошлом, где архив доступен, т.е. параметр gmt в get_url должен быть (CURRENT_TIMESTAMP - length) < gmt < (CURRENT_TIMESTAMP - delay) Приставка не должна посылать запрос на сервер с gmt выходящим за границы данного диапазона. Link to comment Share on other sites More sharing options...
Hadevs Posted September 2, 2016 Author Report Share Posted September 2, 2016 Во-первых огромное спасибо за подробный ответ.Вот вроде поменял на "http://iptv.kartina.tv/api/json/settings_set?var=stream_standard&val=http_h264". Та же ошибка. посылаю запрос вроде правильный с параметром 1470183300. Очень жду вашей помощи, спасибо) Если можно, киньте работающий URL на котором можно проверить запрос. Link to comment Share on other sites More sharing options...
Guest empty Posted September 3, 2016 Report Share Posted September 3, 2016 все дело в той формуле, которую я написал выше. Вот что я вижу в логе: [2016-09-03 01:12:05] application.WARNING: Asking Catchup earlier than possible' => http_h264, 'start'=> 1471644845, 'gmt' => 1470183300, 'now' => 1472854325, 'end'=> 1472852525 [] [] Это означает что по мнению сервера время запроса было 1472854325 , начало архива 1471644845 (по формуле выше: 1472854325 - 1209480), а параметр gmt указанный в запросе 1470183300. 1471644845 - 1470183300 = 1461545 , т.е. происходит попытка запросить архив гораздо раньше чем он есть. Прошу еще раз обратить внимание на формулу из моего предыдущего поста, по ней должны фильтроваться все запросы перед отправкой на сервер. Link to comment Share on other sites More sharing options...
Hadevs Posted September 3, 2016 Author Report Share Posted September 3, 2016 все дело в той формуле, которую я написал выше. Вот что я вижу в логе: [2016-09-03 01:12:05] application.WARNING: Asking Catchup earlier than possible' => http_h264, 'start'=> 1471644845, 'gmt' => 1470183300, 'now' => 1472854325, 'end'=> 1472852525 [] [] Это означает что по мнению сервера время запроса было 1472854325 , начало архива 1471644845 (по формуле выше: 1472854325 - 1209480), а параметр gmt указанный в запросе 1470183300. 1471644845 - 1470183300 = 1461545 , т.е. происходит попытка запросить архив гораздо раньше чем он есть. Прошу еще раз обратить внимание на формулу из моего предыдущего поста, по ней должны фильтроваться все запросы перед отправкой на сервер. А можете показать параметр, который нужно передавать в данном случае? И что такое get в вашей формуле? Link to comment Share on other sites More sharing options...
Hadevs Posted September 3, 2016 Author Report Share Posted September 3, 2016 И я Ее не совсем понимаю, это скорее неравенство, чем формула. Например, что мне нужно сделать, чтобы gmt был больше? Link to comment Share on other sites More sharing options...
Hadevs Posted September 3, 2016 Author Report Share Posted September 3, 2016 все дело в той формуле, которую я написал выше. Вот что я вижу в логе: [2016-09-03 01:12:05] application.WARNING: Asking Catchup earlier than possible' => http_h264, 'start'=> 1471644845, 'gmt' => 1470183300, 'now' => 1472854325, 'end'=> 1472852525 [] [] Это означает что по мнению сервера время запроса было 1472854325 , начало архива 1471644845 (по формуле выше: 1472854325 - 1209480), а параметр gmt указанный в запросе 1470183300. 1471644845 - 1470183300 = 1461545 , т.е. происходит попытка запросить архив гораздо раньше чем он есть. Прошу еще раз обратить внимание на формулу из моего предыдущего поста, по ней должны фильтроваться все запросы перед отправкой на сервер. А можете показать параметр, который нужно передавать в данном случае? И что такое get в вашей формуле? А можете показать параметр, который нужно передавать в данном случае? И что такое get в вашей формуле? Я сменил на нужное время, которое вписывалось в диапазон, все работает. А как правильное то выставить? Link to comment Share on other sites More sharing options...
Guest empty Posted September 5, 2016 Report Share Posted September 5, 2016 И я Ее не совсем понимаю, это скорее неравенство, чем формула. Например, что мне нужно сделать, чтобы gmt был больше? Да, это неравенство GMT должен быть только в этих пределах, потому что на серверах нет данных архива за другие периоды. Еще раз, зная gmt передачи в channel_list можно проверить выполняется ли неравенство указанное выше или нет, если нет - значит передачи в архиве уже нет. Или еще нет Link to comment Share on other sites More sharing options...
Recommended Posts