Объявление

Свернуть
Пока нет объявлений.

разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

Свернуть
Это закреплённая тема.
X
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • Re: разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

    Еще уточнение по поводу времен.

    Сначала исходные данные

    ПЕРВОЕ

    У нас есть несколько режимов работы с плеером:
    1) в текущем времени
    2) с таймшифтом
    3) проигрывание из архива при отключенном таймшифте
    4) проигрывание из архива при включенном таймшифте

    ВТОРОЕ
    Есть каналы, поддерживающие таймшифт (и архив) и не поддерживающие. Поэтому при включенном таймшифте клиент смотрит "пересортицу", т.е. одни каналы в таймшифте, другие - в текущем времени.

    ТРЕТЬЕ
    В клиентской программе (CLIENT) есть два интерфейса для показа ЕПГ - общий дневной (MAIN) и текущий (CURRENT)


    Итак, вариант работы:

    Пункты 3 и 4 с точки зрения вещания - это одно и то же. Разница только с точки зрения ЕПГ (при выборе программы из архива может возникнуть путаница с пересчетом времен)

    Я предлагаю вне зависимости от режимов проигрывания (таймшифт, архив, пр.) отдавать ЕПГ с непреобразованным реальным таймстампом, но в возвращаемый ЕПГ добавляю параметр TIME_SHIFT (в секундах), который вместе с известной локальной таймзоной дает возможность получить строковое представление локального клиентского времени понятного пользователю.

    Что получается при разных указанных выше режимах работы.

    1) CLIENT в запросе MAIN ЕПГ и CURRENT ЕПГ не указывает таймшифт, а затем, при получении ответа, для каждого канала отнимает полученный его (канала) таймшифт от таймстампов его ЕПГ (в данном случае он все равно вернется нулевой), не задумываясь установлен ли клиентом таймшифт. Затем переводит полученные таймстампы в строковые локальные времена.

    2) CLIENT в запросе MAIN ЕПГ и CURRENT ЕПГ указывает таймшифт, а затем, при получении ответа, для каждого канала отнимает полученный его (канала) таймшифт от таймстампов его ЕПГ, не задумываясь установлен ли клиентом таймшифт. Затем переводит полученные таймстампы в строковые локальные времена.
    В ответе MAIN ЕПГ каждого канала "временнОе окно выбора программ" будет смещено назад на величину таймшифта этого канала. Для неархивируемых каналов - останется не смещенным - это понятно.

    3) CLIENT запросил и получил MAIN ЕПГ без таймшифта.
    Теперь он щелкает в MAIN ЕПГ на определенный канал. Идет запрос на CURRENT ЕПГ с указанием параметра "время начала" (реальный таймстамп) и возвращается CURRENT ЕПГ для этой временнОй точки с реальными таймстампами и с таймшифтом равным смещению этой временнОй точки относительно текущего времени. MAIN ЕПГ остается прежним (не перезапрашивается).

    4) CLIENT запросил и получил MAIN ЕПГ с таймшифтом.
    Далее все аналогично п.3

    Т.е. CLIENT и SERVER всегда обмениваются реальными таймстампами, а все пересчеты времен производятся ими с помощью дополнительных параметров корректировки времен (таймшифт, старттайм, пр.) которыми они по необходимости обмениваются во время сеанса.


    Вот такая-вот схема.
    Думаю, она позволяет избежать путаницы и
    Таких как я среди таких как я еще поискать!

    Комментарий


    • Re: разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

      cубъективно: при наличии архива смысл в таймшифте практически пропадает (особенно, если нет возможности использовать его для всех каналов)
      гораздо проще и быстрее запустить что хочется из архива и иметь возможность проматывать рекламу, ставить просмотр на паузу, и тп

      Комментарий


      • Re: разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

        и тем не менее
        раз уж он есть, то пущай будет поддержка его в АПИ
        может еще поддержку сообщений от провайдера клиенту добавлю в АПИ 1.0
        типа /get_notifications, /read_message
        Таких как я среди таких как я еще поискать!

        Комментарий


        • Re: разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

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

          может список непрочитанных сообщений (заголовков?) при логине подсовывать, чтобы наверняка?

          Комментарий


          • Re: разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

            рад что продолжили усовершенствование апи
            для меня была главной проблемой ошибки с часовым поясом.

            Комментарий


            • Re: разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

              я уже скоро закончу.
              Затем аккуратно поправлю старый АПИ (не меняя структуру запросов и ответов) на предмет времен, т.к. под новый АПИ добавлены корректные времена ЕПГ и идеология пересчетов временных смещений на сервере для новых времен.
              Можно будет использовать их и в старом АПИ.
              Но это только после того, как проверка нового АПИ покажет, что теперь с временами все в порядке.

              Основные отличия нового АПИ предусмотрены такие:

              1) Одна и та же команда вне зависимости от модификаторов (параметров) возвращает всегда обязательно одну и ту же базовую структуру ответа, плюс дополнительные параметры в зависимости от модификаторов команды.
              Т.е. например /login вернет только базовую структуру с параметрами сессии, а /login?with_acc=1&with_cfg=1 - ее же но плюс данные аккаунта и настройки, сохраненные аккаунтом на сервере

              2) немного быстрее серверная обработка и, как результат, меньше время отклика

              3) для списка каналов ТВ предусмотрены две отдельные команды с разной структурой ответа: полной (группы с включенными в них каналами) и "плоской" (просто дефолтно отсортированный перечень каналов с идентификаторами групп). Для "плоской" можно позже подумать о применении клиентской сортировки на сервере.

              4) список каналов (по идеологии п.1) отдается по умолчанию без ЕПГ. Для получения в каждом канале текущего ЕПГ можно либо сделать отдельный запрос либо в запрос списка каналов добавить модификатор with_epg

              5) везде, где можно,в командах будет применяться параметр типа "список" (с разделительной запятой). Например запрос ЕПГ не для всех каналов а для определенного перечня - cid=1,23,11,76.

              6) параметр sid будет передаваться серверу не только кукисами, а, в первую очередь, параметром команды. И всегда будет называться "sid" и никак иначе.

              7) в связи с п.6. параметр media_key признан лишним и исключен из АПИ

              Пока еще рассматривается возможность уменьшение длины названий возвращаемых параметров. Поскольку есть железки, которым не хватает памяти переварить XML или JSON большого объема. Ну и парсинг был бы быстрее.
              Т.е. принцип "названия параметров запроса - читабельные, а ответа - лаконичные"
              Таких как я среди таких как я еще поискать!

              Комментарий


              • Re: разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

                [quote author=Eugene Bond link=topic=7681.msg124064#msg124064 date=1311873299]
                сообщения - дело хорошее. особенно если сервис-статус будет приходить, чтобы народ не нервничал, что каналы тормозят.
                [/quote]

                типа аналога цветов "уровеня террористической угрозы" в Штатах?
                ну например если на сервере ведутся серъезные работы или существует техпроблема, то временно в системе выставляется "флажок" определенного "цвета"


                [quote author=Eugene Bond link=topic=7681.msg124064#msg124064 date=1311873299]
                может список непрочитанных сообщений (заголовков?) при логине подсовывать, чтобы наверняка?
                [/quote]

                ну пара отдельных запросов обязательно, но и в в стартовый ответ можно подсунуть. Пуркуа бы и не па. Но и может быть стоит возвращать наверное хоть один последний прочитанный вместе с непрочитанными
                Таких как я среди таких как я еще поискать!

                Комментарий


                • Re: разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

                  [quote author=olden link=topic=7681.msg124117#msg124117 date=1311933284]
                  ну например если на сервере ведутся серъезные работы или существует техпроблема, то временно в системе выставляется "флажок" определенного "цвета"
                  [/quote]
                  ну типа того. у нас, например, практикуется включение на сайте специального сообщения с предупреждениями в случае если у платежного гейтвея проблемы, или если отваливается IVR сервер (дольше идет обработка заказа), или если погодные условия хреновые (доставка медленнее), и тд

                  [quote author=olden link=topic=7681.msg124111#msg124111 date=1311932485]
                  6) параметр sid будет передаваться серверу не только кукисами, а, в первую очередь, параметром команды. И всегда будет называться "sid" и никак иначе.
                  [/quote]
                  может запихнуть его в url? раз sid все равно будет неотъемлимым атрибутом?
                  опционально и перебрасывая в нужный параметр rewrite-ом или внутренним url-mapper-ом

                  Комментарий


                  • Re: разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

                    Предварительная документация (1.0.0) нового АПИ для ознакомления - в приложениях.

                    Описанные в доке функции реализованы все, но не все протестированы.
                    Некоторые могут не работать.
                    Так что дока пока больше для общих комментариев, вопросов и замечаний.
                    Вложения
                    Таких как я среди таких как я еще поискать!

                    Комментарий


                    • Re: разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

                      login
                      "user_agent" параметр-- что это?

                      get_settings / set
                      все забываю спросить: влияет ли установка interface_lng на язык полученной через API программы передач?

                      Комментарий


                      • Re: разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

                        [quote author=Eugene Bond link=topic=7681.msg124192#msg124192 date=1312098456]
                        login
                        "user_agent" параметр-- что это?
                        [/quote]

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

                        [quote author=Eugene Bond link=topic=7681.msg124192#msg124192 date=1312098456]
                        get_settings / set
                        все забываю спросить: влияет ли установка interface_lng на язык полученной через API программы передач?
                        [/quote]

                        Нет. Чтобы переводить ЕПГ (да еще на несколько языков) у Роное.ТВ в обозримой перспективе ресурсов маловато.
                        Онлайн-плеер уже использует АПИ и этот параметр как и ранее используется для языка интерфейса плеера и личного кабинета
                        Вложения
                        Таких как я среди таких как я еще поискать!

                        Комментарий


                        • Re: разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

                          Обновил доку по АПИ, дал в ней немного пояснений по тому как теперь работать со временами.
                          На подходе онлайн-плеер, работающий с новым АПИ.
                          Кстати теперь при просмотре например с двух телевизоров с одного аккаунта и ай-пи, таймшифтами друг другу мешать не будут. Можно будет на одном смотреть текущее вещание а на втором - например вчерашнее
                          Таких как я среди таких как я еще поискать!

                          Комментарий


                          • Re: разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

                            Вот уже пару дней в качестве основного работает онлайн-плеер с API 1.х.
                            Внешне отличий практически нет. Небольшие казусы с временами пока случаются из-за ошибок в самом плеере а не в API.

                            Посему API 1.0.2 объявляется стабильным и рекомендуется к использованию.

                            В дальнейшем в нем предусмотрены изменения только в плане поддержки VoD (просто будут добавлены несколько сответствующих функций).

                            Поскольку "MAG 200/250 middleware for API 1.x" - в процессе разработки, то, как только оно будет закончено и отлажено, а для SIG тоже переведено на API 1.x, начнется обратный отсчет времени жизни АПИ 0.х.

                            По сути РТВ ориентируется в этом вопросе на готовность софта именно под онлайн-плеер, MAG, SIG и XBMC.
                            Таких как я среди таких как я еще поискать!

                            Комментарий


                            • Re: разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

                              А можно сделать, чтобы get_groups_tv не возвращала пустых групп? А только группы с каналами. На демо-аккаунте смотрится дико. Пока из-за этого информацию по группам приходится получать через избыточный get_list_tv.
                              Some people are alive only because it's illegal to kill them
                              Xtreamer MK1: 2.7.0
                              Xtreamer Pro: 2.7.0
                              Samsung LE52 A656A
                              Philips 32 PFL8404H

                              Комментарий


                              • Re: разработка API для просмотра IPTV сервиса Rodnoe.TV (обсуждение/предложения)

                                Как я понял в архиве параметр uts может быть равен только началу передачи, для перемотки внутри архива его использовать нельзя?

                                Комментарий

                                Обработка...
                                X