Перейти к публикации

Описание Rest Api


mariman

Рекомендованные сообщения

  • 2 weeks спустя...

Как узнать VOD  в избранном или нет?

на команду добавить в ибранное, ругается (Error 37), что уже в избранном.

Мне что вызывать полный список с избранным, чтоб выяснить какие фильмы в нем?

Ссылка на комментарий
Поделиться на других сайтах

Сам спросил - сам нашел.

Очередное противоречие в вашей консерватории.

 

С 1 стороны, вы советуете кэшировать все, что запрашивается через vod_info, и если dt_modify совпадает со значением из списка vod_list, то запрос можно не повторять и использовать данные из внутреннего кэша. Но тогда как можно запаковывать в ответ параметр favorite - ведь его можно изменить на другом клиенте!

По скольку возмущаться можно бесконечно, то лучше задам следующий вопрос:

 

Как быстро вы сможете реализовать запрос get_all_vodfavorities_ids? Без него мне придется отключать кеширование для vod_info в плагине (зная об этом недоразумении с вашей стороны, я бы и не программировал его под использование кэша). Будьте добры - сделайте "SELECT fav_id FROM vod_favorities WHERE login = 000000" - вам на это нужно пару минут, а мне ломать нормальный функционал, на который потрачено время.

Изменено пользователем gasoj
Ссылка на комментарий
Поделиться на других сайтах

С 1 стороны, вы советуете кэшировать все, что запрашивается через vod_info, и если dt_modify совпадает со значением из списка vod_list, то запрос можно не повторять и использовать данные из внутреннего кэша. Но тогда как можно запаковывать в ответ параметр favorite - ведь его можно изменить на другом клиенте!

По скольку возмущаться можно бесконечно, то лучше задам следующий вопрос:

 

Как быстро вы сможете реализовать запрос get_all_vodfavorities_ids? Без него мне придется отключать кеширование для vod_info в плагине (зная об этом недоразумении с вашей стороны, я бы и не программировал его под использование кэша). Будьте добры - сделайте "SELECT fav_id FROM vod_favorities WHERE login = 000000" - вам на это нужно пару минут, а мне ломать нормальный функционал, на который потрачено время.

 

Согласен, что с введением мультирума вопрос об кэшировании встал ребром, как говорится. Как не жаль, но в этом случае действительно не стоит полагаться на кэш. Думаю, Вам нужно будет каждый раз обращаться к /vod_favlist (параметры идентичны /vod_list кроме type, только список любимых фильмов)

Ссылка на комментарий
Поделиться на других сайтах

mariman, мне (да и вам в конечном счете) выгоднее подождать с месяц, но дождаться простого введения данной функции. Ведь выборка ведется по одной таблице, можно сказать, по индексу. Если бы я сейчас делал, я бы все равно выудил все vod_id из fav_list?....nums=10000 (конечно если вы не встроили фильтр на MAX_NUMS)

 

да и до мультирума была возможность смотреть на разных устройствах (просто не одновременно) - и кэш на одном устаревал с изменением избранного на другом.

Изменено пользователем gasoj
Ссылка на комментарий
Поделиться на других сайтах

Ну, во первых, там далеко не одна таблица. И даже не одна БД. Во вторых, с индексами там все еще сложнее. В третьих, важно понимать, что если какой-либо бокс или приложение вызывает критичную нагрузку, мы делаем всё для того, чтобы изолировать это приложение и чтобы остальные могли пользоваться сервисом нормально. Ни Вы ни мы в этом не заинтересованы.
Итак, как я вижу ситуацию:

Вы хотите получить у себя на приставке или программе (одним словом - клиенте) получить данные по любимым фильмам. Кешировать локально и не дергать лишний раз сервер. Отлично! Мы только "за"!. Хочу сказать всего лишь, что у Вас все для этого уже есть.

Как я предлагаю Вам это реализовать:

1. получаете первый раз (когда пустой кэш) список любимых фильмов. Одним запросом. На страницы три-четыре вперед. Т.е. не все. Вы, вместе с данными фильмов, получаете данные об общем количестве. Кэшируете всё.

2. каждый раз при входе в раздел видеотеки, Вы еще раз делаете запрос любимых фильмов, но только первую страницу. В этот момент вы еще раз получаете и информацию об общем количестве фильмов и, если есть новые, вы получаете сразу данные новых фильмов на первой же странице. Всего один запрос и у вас все нужные данные есть.

3. если абонент добрался до края кэша, подгружается следующая порция страниц.

Интересна реализация асинхронной подгрузки с предупреждением (автоматически на предпоследней странице) - абонент тогда не замечает подгрузки вобще.

Чем Вам не нравится такой подход? Все методы для этого уже реализованы.

Ссылка на комментарий
Поделиться на других сайтах

1. Списки кэшируются только на время сессии - долговременно кешировать их нет смысла (да и технической возможности), т.к. они очень динамичные. Единственное что кешировалось с записью в /local - это информация, получачемая через vod_info. Но по спискам: если чанк от какого либо списка уже в памяти, то он подгружается из нее.

2. Неэстетическая проблема возникает, когда пользователь в списке "бест" пытается добавить фильм в избранное - я вынужен (спрограммировать перехват ошибки 37) и выдать пользователю "ой, а фильм уже в избранном". либо при каждом вызове меню с опциями, переягивать vod_info, что б выяснить, в избранном ли уже фильм. Кроме того нет возможности в списке помечать Звездочкой фильм, который уже в избранном. Естественно, список fav_list лишен такого недостатка - по понятным причинам.

3. так оно и слелано.

Все же, раз вы знаете количество фильмов в избранном у юзера, то очень маловероятно, что операция по извлечению списка vod_id (без всякой информации - можно разделенным через запятую "100,1342,9574,...") не тривиальна.

Решением было бы так же снабжать флагом favorite соответствующие позиции в списках, но это уже не дешевая операция - по идее, у вас эти списки должны кешироваться для всех юзеров

Ссылка на комментарий
Поделиться на других сайтах

  • 2 weeks спустя...

@gasoj,

 

> на команду добавить в ибранное, ругается (Error 37), что уже в избранном.

 

Ну чудно, нет ошибки - добавлен, ошибка 37 - уже добавлен. 

 

PS. Сколько у народа фильмов то в избранном? Десяток, два. Кэшировать локально, с возможностью руками обновить кэш - видишь, что на другом телеке добавленных избранных нет - ручками кликнул "Обновить избранные".

Ссылка на комментарий
Поделиться на других сайтах

  • 7 months спустя...

А тут слухи пошли, что Kartina API уже обновилось :) Где можно посмотреть, пощупать? MPEG-DASH можно будет на chromecast запускать?

Изменено пользователем alexsolo
Ссылка на комментарий
Поделиться на других сайтах

Насколько проблематично добавить header Access-Control-Allow-Origin: * ?

ну или при вызове json с параметром callback обворачивать ответ в эту функцию?

Ссылка на комментарий
Поделиться на других сайтах

Коллеги,

 

А можно чисто теоретически добавить:

 

1. К информации по каналу: aspect ratio и SAR/DAR, если он не 1:1?

2. Какую-то инкрементальную информацию по обновлению видеотеки - типа дата последнего, текущие id активных фильмов, что-то в этом направлении, чтобы не тянуть все текущие 2600 фильмов 

 

Спасибо!

Изменено пользователем alexsolo
Ссылка на комментарий
Поделиться на других сайтах

  • 1 month спустя...

В ответах REST API появились новые данные:

,"stream_standard":{"value":"http_h264"
,"list":[
{"value":"dash_hevc","title":"DASH \/ H.265 (HEVC)","description":"Adaptive stream protocol, best quality. The bitrate select automaticaly. Low time of channels switch."}
,{"value":"http_h264","title":"HTTP \/ H.264","description":"Standart streaming. User can select bitrate manualy.","default":true}
,{"value":"udt_h264","title":"UDT \/ H.264","description":"The best protocol for unstable and wide Internet connection."}
,{"value":"hls_h264","title":"HLS \/ H.264","description":"Adaptive stream protocol. The bitrate select automaticaly. Without catch-up function."}]
,"scope":"global"}}

 Когда  соответствующее полное описание будет включено в описание REST API?

 Как эти установки будут влиять на поток, выдаваемый отдельным приборам с разными возможностями? Например, Comigo Quatro и Duo в одном "мультируме"

Что означает scope? Какие значения кроме global он может принимать и что эти значения будут означать?

 

P.S. (не для ответа и не для дискуссии)Если исходить из того, что параметр description содержит текст на английском языке, у Вас минимум четыре грубые грамматические ошибки. Не многовато-ли? Это, по-моему, наносит ущерб Вашей репутации -  если столько ошибок в описании, то сколько их в самой программе?

Изменено пользователем apodolsk
Ссылка на комментарий
Поделиться на других сайтах

Изменение настроек "stream_standard" ни на что не влияет. И даже не сохраняется. Жаль

У меня сохраняются:например после  GET /settings_set?var=stream_standard&val=hls_h264 запрос /settings?var=stream_standard возвращает

{"settings":{"name":"stream_standard","value":"hls_h264", итд

По-поводу влияния на поток - ничего сказать не могу.

 

Хотелось бы услышать ответ от авторов...

Ссылка на комментарий
Поделиться на других сайтах

Изменение настроек "stream_standard" ни на что не влияет. И даже не сохраняется. Жаль

 

Пока официально не анонсировано и много чего еще не протестировано как следует. не стоит торопиться. Всё будет.

 

З.Ы. Могу точно сказать, что без softid работать фича не будет.

Есть ли у вас иконки каналов с несколько большим разрешением чем 35x35?

 

Попробуйте /channel_list?icon=1 или icon=2

Ссылка на комментарий
Поделиться на других сайтах

  • 5 weeks спустя...

Просто для инофрмации mpd канала IQ DASH не проходит валидацию тут.

 

Start MPD validation
====================


Line:Col[10:83]:cvc-datatype-valid.1.2.1: ‘video’ is not a valid value for ‘integer’.
Line:Col[10:83]:cvc-attribute.3: The value ‘video’ of attribute ‘id’ on element ‘AdaptationSet’ is not valid with respect to its type, ‘unsignedInt’.
Unexpected error: For input string: "video"
MPD validation not successful – DASH is not valid! 
Ссылка на комментарий
Поделиться на других сайтах

  • 2 months спустя...

1. И все же, уже появились телевизоры с поддержкой dash и h265. Не могли бы сообщить, какими параметрами вызывать сообтветствующий стрим? (Любопытства ради)

2. Поиск по EPG до сих пор нигде не описан, или я ошибаюсь?

Ссылка на комментарий
Поделиться на других сайтах

  • 3 weeks спустя...

Чтобы получить udt dash h265 нужно сделать login c соответствующим softid. Тогда в json ответе появится список stream settings. Устанавливаете set_settings желаемый и get_url выдаст вам соответствующую ссылку.

Они повесили на softid теперь много всего и, по моим ощушениям, серьезно запутались.

Например, на softid, встроенный в их Android app, REST AРI на запрос channellist не выдает каналы от Кинозал 2 до Кинозал 3D.

Они конечно нафиг никому не нужны, но все же..

Будем надеяться, что mariman форум читает и ошибку, наконец, поправит.

У него, конечно, есть более серьезные проблемы - например, поведение всего этого хозяйства в мультируме со старыми и новыми приставками.

Изменено пользователем apodolsk
Ссылка на комментарий
Поделиться на других сайтах

По логике должен быть и параметр для geturl, который переопределяет поток. Это же логично, дать пользователю возможность через настройки переключится на старый формат в случае каких-либо проблем с новым?

apodolsk, вы случаем не в курсе, с каками параметрами делается запрос на поиск по имени прораммы (epg)?

Ссылка на комментарий
Поделиться на других сайтах

  • 10 months спустя...

Почему в видеотеке через API доступно меньшее кол-во фильмов, чем через приставку Dune 101? В частности это касается американских фильмов.

Изменено пользователем AndreyDE
Ссылка на комментарий
Поделиться на других сайтах

  • 3 weeks спустя...

Почему в видеотеке через API доступно меньшее кол-во фильмов, чем через приставку Dune 101? В частности это касается американских фильмов.

 

Это связано с фильтрацией контента, Dune как наш официальный партнер имеет больше доступа к контенту, чем штатный разработчик плагина.  

Ссылка на комментарий
Поделиться на других сайтах

Гость
Эта тема закрыта для публикации сообщений.
  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...