Jump to content

Описание Rest Api


mariman
 Share

Recommended Posts

  • 2 weeks later...

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

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

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

Link to comment
Share on other sites

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

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

 

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

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

 

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

Edited by gasoj
Link to comment
Share on other sites

С 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, только список любимых фильмов)

Link to comment
Share on other sites

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

 

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

Edited by gasoj
Link to comment
Share on other sites

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

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

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

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

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

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

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

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

Link to comment
Share on other sites

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

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

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

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

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

Link to comment
Share on other sites

  • 2 weeks later...

@gasoj,

 

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

 

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

 

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

Link to comment
Share on other sites

  • 7 months later...

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

Edited by alexsolo
Link to comment
Share on other sites

Коллеги,

 

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

 

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

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

 

Спасибо!

Edited by alexsolo
Link to comment
Share on other sites

  • 1 month later...

В ответах 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 содержит текст на английском языке, у Вас минимум четыре грубые грамматические ошибки. Не многовато-ли? Это, по-моему, наносит ущерб Вашей репутации -  если столько ошибок в описании, то сколько их в самой программе?

Edited by apodolsk
Link to comment
Share on other sites

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

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

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

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

 

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

Link to comment
Share on other sites

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

 

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

 

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

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

 

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

Link to comment
Share on other sites

  • 5 weeks later...

Просто для инофрмации 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! 
Link to comment
Share on other sites

  • 2 months later...

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

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

Link to comment
Share on other sites

  • 3 weeks later...

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

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

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

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

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

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

Edited by apodolsk
Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

  • 10 months later...

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

Edited by AndreyDE
Link to comment
Share on other sites

  • 3 weeks later...
Guest empty

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

 

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...