Объявление

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

PCH-KartinaTV: Вопросы, ответы, обсуждения (до 21.06.2010)

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

  • Re: PCH-KartinaTV: Вопросы, ответы, обсуждения

    Ёбаный насос! Меня реально посетила идея. Начинается она примерно так: "ПИДОРАСЫ!!!"

    Под это дело писнул письмишко:

    Сообщение от "consros"
    Hello YC Yeoh,

    what was actually the fix for KartinaTV plugin? You remember, the one when PCH tried to read KTV stream with multiple threads? How it was implemented?

    I'm asking because I've analyzed the situation and finally got an idea.

    I have following problems (let's call them "symptoms&quot:

    - C-200 buffers stream for 40-50 seconds. A-100 and A-110 need only 5-7 seconds for same operation on same stream.

    - There are two servers broadcasting KTV stream. First one is accepted by A-100, A-110 and second one - not. By C-200 both are accepted (and for both caching lasts 40-50 seconds).

    - If I use a proxy/stream wrapper which only delegates stream from KTV the second server works also on A-100, A-110, but the caching lasts 40-50 seconds, exactly as on C-200.

    That all led me to following conclusion:

    KTV fix is nothing else than a switched off multithreading for one hard-coded IP of the first broadcasting server! And it is included only in A-100 and A-110 firmware!


    That would explain everything:
    - caching lasts too long since several tries to read the stream fail and only the last one succeeds.
    - caching lasts longer depending on IP.
    - second server is not supported since A-100 and A-110 do not have it's IP in the fix and it works like there is no fix at all.

    So I would say we definitely have something to improve here!

    - IP of broadcasting server is up to KartinaTV and can be changed any time. It's really a bad idea to hard-code it.
    - Multithreaded reading should be possible to switch off on demand.

    The perfect solution would be to provide an Gaya-option which could be passed to <a href=""> same way as the "prebuf" does. Something like "single" or "single-thread" or "single-reader". The option should be accepted by all PCH family devices or at least these: A-100, A-110 and C-200.

    In this case it will not be necessary anymore to hard-code any IP and all newly provided broadcasting servers will be supported automatically! On A-100, A-110 and C-200.

    What would you say about that?


    Regards,
    consros
    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: PCH-KartinaTV: Вопросы, ответы, обсуждения

      Кстати, hparfen, если бы ты не задолбал меня однотипным вопросом, я бы, пожалуй, так и не допёр, до какой низости попкорнщики могли опуститься.
      Что ли спасибо, да?
      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: PCH-KartinaTV: Вопросы, ответы, обсуждения

        [quote author=consros link=topic=4386.msg53978#msg53978 date=1262941408]
        Кстати, hparfen, если бы ты не задолбал меня однотипным вопросом, я бы, пожалуй, так и не допёр, до какой низости попкорнщики могли опуститься.
        Что ли спасибо, да?
        [/quote]
        Всегда рад Спасибо consros что разобрался с этим вопросом. Как я понял, придется ждать до следующего релиза firmware, в лучшем случае. А есть ли идеи как можно временно хакнуть существующий код или php? У меня нет проблем захардкодить второй сервер в коде, первый все равно не фурычит.

        Комментарий


        • Re: PCH-KartinaTV: Вопросы, ответы, обсуждения

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

          Написано должно быть на Си и скомпилировано с помощью тулчейна под pch.
          Вот тулчейн:
          http://www.networkedmediatank.com/wiki/index.php/Hack

          Вот временное решение на пхп (заменить openChannel.php):
          Код:
          <?php
          #############################################################################
          # Script to obtain a channel stream URL from kartina.tv           #
          # and to generate specially formed HTML with suitable for PCH video link.  #
          #                                      #
          # Author: consros 2008                           #
          #############################################################################
          
          
          header('HTTP/1.0 200 OK');
          header('Connection:', true, 200);
          header('Content-type: application/octet-stream');
          header('Cache-Control: no-cache');
          header('Connection: keep-alive');
          
          require_once "settings.inc";
          require_once "tools.inc";
          require_once "ktvFunctions.inc";
          
          $ktvFunctions = new KtvFunctions();
          $id   = $_GET['id'];
          $content = $ktvFunctions->getStreamUrl($id);
          $url = preg_replace('/.*url="http(\/ts|)([^ "]*).*/', 'http$2', $content);
          
          $parsedUrl = parse_url($url);
          $host = $parsedUrl['host'];
          
          $opts = array(
            'http' => array(
              'method'=> 'GET',
              'header'=> "User-Agent: Mozilla/5.0\r\n" .
                    "Connection: close\r\n" .
                    "Host: $host\r\n" .
                    $headerExt)
          );
          
          $context = stream_context_create($opts);
          $f = fopen($url, "r", false, $context);
          
          if (! $f) {
            die ("Cannot open $host");
          }
          
          while($data = fread($f, 10240)) {
            print $data;
            flush();
          }
          fclose($f);
          ?>
          Ну или так (тут побиты "\r\n" !): http://paste.bradleygill.com/index.php?paste_id=27414


          Минусы:
          - задержка ~50 секунд из-за того, что попкорн пытается лезть несколькими потоками
          - с200 отвергает нативные пхп хедеры (которые не из кода наверху, а генерируются самим веб-сервером)
          - ещё чего-то, забыл что
          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: PCH-KartinaTV: Вопросы, ответы, обсуждения

            [quote author=hparfen link=topic=4386.msg54236#msg54236 date=1263050840]
            У меня нет проблем захардкодить второй сервер в коде, первый все равно не фурычит.
            [/quote]

            Код плеера тебе, понятно, не дадут.
            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: PCH-KartinaTV: Вопросы, ответы, обсуждения

              [quote author=consros link=topic=4386.msg54301#msg54301 date=1263077984]
              Вот временное решение на пхп (заменить openChannel.php):
              [/quote]

              Только нужно ещё channelsList.inc менять, иначе зависнет все.
              Но чтобы не усложнять цепляю готовый вариант.

              Ограничения:
              - работает ТОЛЬКО на а100 и а110, с200 прекратит показывать каналы.
              - буфферинг длится в точности как на с200 - около 50 секунд.

              Поддерживаются, тем не менее, оба сервера.

              Из-за несовместимости с с200 отдельную версию пока не строю.
              Ну и с200, конечно, сволочь. Просто говорит cannot play, а почему и отчего узнать никак нельзя.
              Вложения
              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: PCH-KartinaTV: Вопросы, ответы, обсуждения

                В общем так.
                Чтобы не зависеть от firmware можно написать некую media proxy. Помимо прочего это позволит смотреть картину (один и тот же канал) на нескольких компьютерах/устройствах. Программа должна быть написана на Си или C++. У меня пока на это времени совсем нет, в том числе потому, что сам я эти языки успешно забыл и вспоминается довольно туго. Вот требования к программе. Может кто-нибудь возьмётся?

                1. Socket listener: программа слушает какой-то порт.
                2. Accept HTTP GET: при соединении программа читает урл из этого порта, который придёт в виде "GET url HTTP/1.0".
                3. Proxy mode: из урла начинает считываться поток и бросаться в порт (включая HTTP заголовки).
                4. Multithreading buffer share: если в данный момент уже существует клиент, читающий некий урл, то для последующих клиентов с тем же урлом данные будут возвращаться из буффера первого клиента.
                5. Buffer reference counter: когда отваливается последний, запросивший урл клиент, соответствующий ему буффер закрывается.

                Необязательно компилировать сразу под с200, можно и просто под линукс/виндовз (только не через WinSocket !). Рабочую версию будет несложно перенести.

                Кто смелый - шаг вперёд!
                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: PCH-KartinaTV: Вопросы, ответы, обсуждения

                  немного не в тему, но ты пробовал паралельно смотреть картину с одим акком?
                  раньше шло, а вот сейчас нет
                  Обсуждение всех нюансов развода в Германии. www.razvod.net

                  Комментарий


                  • Re: PCH-KartinaTV: Вопросы, ответы, обсуждения

                    [quote author=nitrogen14 link=topic=4386.msg54536#msg54536 date=1263216953]
                    немного не в тему, но ты пробовал паралельно смотреть картину с одим акком?
                    раньше шло, а вот сейчас нет
                    [/quote]

                    Нет, не идёт, конечно. Давно уже. Год или даже больше.
                    Но тут физически клиент будет один, только раздавать он будет многим.

                    Кстати принцип сработает на всех платформах.
                    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: PCH-KartinaTV: Вопросы, ответы, обсуждения

                      а теперь понял, данке
                      Обсуждение всех нюансов развода в Германии. www.razvod.net

                      Комментарий


                      • Re: PCH-KartinaTV: Вопросы, ответы, обсуждения

                        Moжет нестоит это обсуждать в открытом режиме.., а то это дело прикроют недав и родится.. ???

                        «…нет правды на земле, но нет её и выше…»
                        Spoiler
                        Azbox HD Premium - OpenPLi 3, VU+ Solo2 - VTi, MK Gigital XP1000 - OpenPLi
                        Dune HD Smart H1, Dune Micro HD 101, Dune HD 301, Dune HD BAse 3D, mag250 micro
                        Samsung UE46-C-7700 Internet@TV, Pioneer VSX 921-K 7.1 -> 5.1
                        AppleTV 2, iPhone 2G, iPhone 3GS, iPhone 4G, iPad 2, iPad 3,
                        PS3, PSP 1-2, PS-Vita, Wii

                        Комментарий


                        • Re: PCH-KartinaTV: Вопросы, ответы, обсуждения

                          это мультикас один поток дублируется, ты также в влц плеере можешь смотреть картину и стримить канал который смотришь в свою локалку
                          Обсуждение всех нюансов развода в Германии. www.razvod.net

                          Комментарий


                          • Re: PCH-KartinaTV: Вопросы, ответы, обсуждения

                            Кстати кроме Си и С++ можно ещё и на Перле.
                            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: PCH-KartinaTV: Вопросы, ответы, обсуждения

                              картина вроде архивы для браузера открыла - как это посмотреть на попкорнах?
                              Intel DC3217IYE (Core i3-3217U)
                              Intel DCCP847DYE (Celeron 847 )
                              Gigabyte GB-BXBT-2807 (Celeron N2807)
                              LIVA X 2GB/32GB Mini PC (Intel Bay Trail-M/Bay Trail-I SOC 2.25GHz)

                              Комментарий


                              • Re: PCH-KartinaTV: Вопросы, ответы, обсуждения

                                Пока не будут вычищены проблемы с основной функциональностью, новые фичи я добавлять не стану.
                                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

                                Комментарий

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