Объявление

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

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

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

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

    кстати, на тему времени хорошо сегодня на хабре написали:
    Что должен знать о времени каждый программист
    • [li]Часовые пояса относятся к уровню презентации[/li]
      [li]Большинство вашего кода не должно заниматься часовыми поясами или местным временем, оно должно передавать Unix-время как оно есть.[/li]
      [li]Когда измеряете время, измеряйте Unix-время. Это UTC. Его просто получить (системными функциями). Оно не имеет часовых поясов или летнего времени (и високосных секунд).[/li]
      [li]Когда храните время, храните Unix-время. Это одно число.[/li]
      [li]Если вы хотите сохранить время, пригодное для чтения человеком (например, в логах), постарайтесь сохранить его вместе с Unix-временем, а не вместо.[/li]
      [li]Когда отображаете время, всегда включайте в него смещение часового пояса. Формат времени без смещения бесполезен.[/li]

    Комментарий


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

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

      пишу вам из самых добрых побуждений.
      ENY M8 OTT TV BOX
      i-net: Alice Hansenet AOL 16mbit/s

      Комментарий


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

        Значит так.

        Пора заканчивать эту неразбериху

        1) Время обязательно указываем в unixtimestamp для часового пояса UTC.

        2) Приведение к клиентскому часовому поясу (и учет летнего времени) полностью возлагаем на разработчиков клиентского софта.

        3)Сам клиентский часовой пояс и признак "учитывать/неучитывать летнее время" храним мы у себя в базе. И можем отдавать его в виде целого числа (которое можно плюсовать к unixtime).

        Это избавит нас от необходимости передавать server_time

        Согласны?

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

        Комментарий


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

          отлично!

          [quote author=olden link=topic=7681.msg123271#msg123271 date=1310830684]
          3)Сам клиентский часовой пояс и признак "учитывать/неучитывать летнее время" храним мы у себя в базе. И можем отдавать его в виде целого числа (которое можно плюсовать к unixtime).
          [/quote]
          это так и остается глобальной настройкой профиля пользователя? или переходит в разряд "локальной настройки клиентского софта"?

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

          Комментарий


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

            вы можете игнорировать эти настройки, если хотите
            но дело в том, что у нас из-за ограниченных возможностей приставки СИГ для нее сделан middleware с дополнительной серверной частью, на которой происходит большинство обсчетов и которая естественно клиентское локальное время может получить только из базы
            Таких как я среди таких как я еще поискать!

            Комментарий


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

              Наверное сделаем так.
              Я делаю АПИ с последними изменениями (также убрав устаревшие команды и параметры) и с этим форматом времени. Будем считать это версией 1.0.
              Чтобы не было проблем, и путь к этой версии АПИ будет немного иным.
              http://file-teleport.com/iptv/api/v1/xml/
              При этом к старой версии путь останется прежним
              http://file-teleport.com/iptv/api/xml/
              и вообще старая версия будет рабочей и доступной в течение достаточно длительного времени, но уже не поддерживаемой (т.е. никаких доработок).

              В новом АПИ также и при вызове канала по ЕПГ (архив) естественно тоже нужно будет использовать UNIXTIMESTAMP UTC.

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

              Комментарий


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

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

                Простой тест
                Зона сервера - "+02" зимой и "+03" летом (DST)
                Дата - '2011-05-08 11:00:00.0'

                ПХП

                Код:
                 echo mktime (11, 0, 0, 5, 8, 2011);
                 echo strtotime ('2011-05-08 11:00:00.0');
                
                 echo strtotime ('2011-05-08 11:00:00.0+00');
                 echo strtotime ('2011-05-08 11:00:00.0+01');
                 echo strtotime ('2011-05-08 11:00:00.0+02');
                 echo strtotime ('2011-05-08 11:00:00.0+03');
                Результат зимой
                Код:
                1304845200
                1304845200
                
                1304852400
                1304848800
                1304845200
                1304841600
                Результат летом
                Код:
                1304841600
                1304841600
                
                1304852400
                1304848800
                1304845200
                1304841600
                Мораль.
                Нас спасет только анонсированное мною выше приведение всех времен к UTC

                Т.е., вне зависимости от таймзон EPG и клиента, событие '2011-05-08 11:00:00.0' будет отдаваться как unixtimestamp=1304852400
                Таких как я среди таких как я еще поискать!

                Комментарий


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

                  olden, имеются ли какие-нибудь доработки к архиву, точнее сказать с перемоткой решили проблему?
                  tv-widget.de

                  Комментарий


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

                    [quote author=pawlodar link=topic=7681.msg123289#msg123289 date=1310843959]
                    olden, имеются ли какие-нибудь доработки к архиву, точнее сказать с перемоткой решили проблему?
                    [/quote]

                    Я не в курсе. Занимался другими проектами последние месяцы.
                    А что, с перемоткой были проблемы?! Помнится я наблюдал успешную демонстрацию перемотки еще эдак полгода назад.
                    В понедельник поспрошаю.
                    Таких как я среди таких как я еще поискать!

                    Комментарий


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

                      [quote author=olden link=topic=7681.msg123291#msg123291 date=1310844396]
                      А что, с перемоткой были проблемы?! Помнится я наблюдал успешную демонстрацию перемотки еще эдак полгода назад.
                      [/quote]
                      очень хотелось бы, чтобы шаг перемотки был одна минута, а не 5 как сейчас.. помнится, в первый раз попросили об этом еще эдак полгода назад..

                      Комментарий


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

                        большое спасибо, olden.
                        ENY M8 OTT TV BOX
                        i-net: Alice Hansenet AOL 16mbit/s

                        Комментарий


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

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

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

                          Комментарий


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

                            вопрос к разработчикам клиентов

                            поскольку в новом АПИ работа производится с абсолютнім временем, то вот в запросе

                            /get_epg?cid=cid&day=YYMMDD

                            параметр "day" для сервера теряет смысл, поскольку на сервере клиентские пересчеты не делаются
                            предлагаю полностью заменить эту команду на некий аналог картиновского

                            /epg3?dtime="Дата и время старта EPG"&period="на сколько часов вперед"

                            только в нашем варианте

                            /get_epg?cid=cid&from_uts=unixtimestamp_begin&a mp;for_hours=hours_count
                            - если "from_uts" пропущен, то стартовать от текущего времени
                            - если "for_hours" пропущен, то отдавать ну например 3 часа (максимальное значение = 24)
                            - если "cid" пропущен, то отдавать для всех доступных каналов
                            - если "cid" задан в виде например "1,15,11,34" то отдавать только для перечисленных (channel_id IN "1,15,11,34" ) каналов

                            Соответственно получить ЕПГ за день можно, передав "from_uts" как unixtimestamp, соответствующий клиентскому началу дня (локальному YYY-MM-DD 00:00:00), и "for_hours" = 24

                            Так вот вопрос, не возникнет ли у вас сложностей с получением на клиенте "unixtimestamp_begin" для вашего локального начала дня?
                            Таких как я среди таких как я еще поискать!

                            Комментарий


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

                              Да так нормально будет..

                              Комментарий


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

                                [quote author=olden link=topic=7681.msg123844#msg123844 date=1311670617]
                                предлагаю полностью заменить эту команду на некий аналог картиновского
                                [/quote]
                                да, отлично.

                                Так вот вопрос, не возникнет ли у вас сложностей с получением на клиенте "unixtimestamp_begin" для вашего локального начала дня?
                                даже если проблема и возникнет, то она будет "хронической", что приведет к тому, что начало дня всегда будет немного смещено. думаю, что это нормально, потому что во всех программах передач "бизнес-день" начинается в 4-5 утра

                                в крайнем случае можно в запросе настроек учетной записи возвращать сохраненное на сервере значение часового пояса

                                Комментарий

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