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

mariman

Главные администраторы
  • Публикации

    118
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем mariman

  1. А где именно писалось как это сделать? Поиск по форуму ничего не дал. PDF с официальной документацией тоже ничего про это не говорит. Поделитесь ссылочкой, пожалуйста.

     

    - есть ограничение по девайсам. В настоящий момент все разработчики должны получить softid для работы с API. (как получить - писалось ранее). Это делается, в первую очередь, для защиты разработчиков. Поэтому - настоятельно рекомендуем; 

     

     

    Ну и было бы хорошо, если бы документацию тоже обновили владельцы API :)

     

    1. контактные данные разработчика;
    2. платформу разработки. (Windows, Linux, Apple, Android, Samsung SmartTV, etc.) с ее версией;
    3. наименование, версия программы.

    Необходимо понимать, что softid не присваивается каждой копии продукта... и даже не каждой версии.

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

  2. Упс. пофиксили.

     

     

    https://iptv.kartina.tv/ строка 72

     

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

    Отдельное спасибо apodolsk за найденный баг.

  3. <form name="auth" id="auth" method="post" action="http://iptv.kartina.tv/">

     

    Пардон, где вы такой код нашли?

     

    фрагмент HTML формы авторизации для Apple:

     

       <form name="auth" id="auth" method="post" action="/api/json/login" onsubmit="return sbm(this);">
    

    Как Вы можете видеть, POST происходит по ОТНОСИТЕЛЬНОЙ ссылке и, соответственно, если Вы зашли по зашифрованному SSL соединению https, на главную страницу сайта, то и POST данных будет в том же домене и по SSL.

  4. С введением мультирума сложилась ситуация, когда не совсем правильно написаные приложения дают о себе знать. Алгоритм такой: 3 человека (разных девайса или программы) заходят под одним або. Четвертый зашедший "выкидывает" первого и у него появляется "другой абонент зашел под вашим и учетными данными". Некоторые программы написаны не совсем правильно. Достаточно ленивый программист, вместо того чтобы контролировать соединение просто создает новое. Допустим, процедура получения списка каналов перед выполнением делает еще раз подключение. Это как бы гарантирует для программы, что подключение уже существует и не надо проверять связь, держать где-то настройки сессии и все такое. Этот метод работал когда не было мультирума. Немного доставлял неудобств нам в виде излишней нагрузки на сервер, но работал. Сейчас, с вводом мультирума, этот метод начал "кушать" возможные подключения и выкидывать остальных из системы. Советую вам "вычислисть" тот самый девайс следующим образом:

    1. разделить устройства на пары.

    2. на каждой паре одно из устройств будет тестируемое а второе тестером. Запустить тестер. Смотреть. на нем будем наблюдать картинку когда "выкинуло".

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

    4. После такой процедуры, если тестируемый работает неправильно, он "выкидывает" остальных абонентов. Т.е. на тестере должна появиться надпись о том что другой абонент вошел.

    5. Желательно проверить каждый такой девайс. Исключить просмотр на таком устройстве и попробовать работать без него. Предъявить программисту недоработку.

     

    В настоящий момент, практически все нами контролируемые устройства работают правильно. Существуют соответствующие апдейты и обновления для App и прошивок. Думаю, ситуацию можно исправить.

  5. Не совсем понятно, "работает, одно другому не мешает" или " часто выскакивает сообщение".
    Немного подробнее, пожалуйста. Как часто это происходит? Можно ли воспроизвести ситуацию? Какими устройствами и программы каких версий используются. 

    Если можно, опишите по шагам, чтобы мы смогли воспроизвести у себя ситуацию. Ну и, желательно, номер або в личку.

  6. В 26.03.2014 в 17:56, Задавака сказал:

    Для брутфорсеров хорошая новость.

    Не очень-то. Правило 3-х неверных паролей и бан на 10 минут никто не отменял. Еще + Лимит 5 запросов в секунду. А стоит ли овчинка выделки?

  7. В моем случае таки оказалось дело в sid_name 

    Три года было как в примере и вот те вдруг .. 

    Оптимизаторы сократили нагрузку на 4 символа? :)

     

    Пример на то он и пример что может быть ""примерно"" как в жизни... В документации четко написано откуда брать имя сессии. Насчет 4 символов - сократили потому что надо было ИЗМЕНИТЬ имя сессии, чтобы ВСЕ абоненты переключились на новый движок сессий. Так сказать перегенерировать SID. 

     

     

    т.е. по сути введена функция /check_user_password ?

    Т.к. не понятно, зачем логиниться более 1го раза? Разве что при чрезвычайно редкой смене логина юзером.

     

    По сути - да. Все верно. Только немного с расширенным ответом.

    Некоторые приставки имеют разделение между настройками абонента и его работой. Для каждого раздела они совершают разные входы. Так работают Comigo и DuneHD. Почему так - не к нам вопрос. Но, вцелом, неплохо иметь возможность проверить абонента не выбивая остальных.

  8. Ситуация исправлена.

     

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

     

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

    В виду этого было принято решение добавить параметр auth для метода /login

     

    &auth=no - указывает на то, что сессия создаваться не должна.
    

     

    Ответ у метода идентичен методу /login за исключением отсутствия данных сессии.

     

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

     

    /get_url?cid=2&bitrate=[320|900|1500|2500] - значение полученное из /settings?var=bitrate
    

     

    Список возможных значений битрейта и таймшифта для конкретных каналов смотреть в ответе /channel_list

  9. Описание проблемы - на одном из серверов Middlware обслуживающего API сессия не передается через URL. Зависит от того на какой сервер вас отправит балансировщик. В ближайшее время исправим ситуацию.

  10. Как то противоречиво: API не изменилось <-> Существенно изменен движок сессий.

     

    Никаких противоречий. API - совокупность набора функций и их ответов. Движок сессий не менял набора функций и не вилял на их ответ. 

    Даже список возможных ошибок не изменился. Ошибка "другой клиент вошел под вашей утечкой" была и до этого. Изменились условия при которых она возникает. Список функций, формат их ответа не изменился.

     

    session.use_only_cookies = 0 . Стандартный механизм работы с сессиями должен принимать параметры сессии через URL. Обратите внимание на имя сессии. Оно изменилось. Возможно в этом причина проблем.

     

    З.Ы. Плееры DuneHD успешно используют метод передачи идентификатора сессии через URL до сих пор. 

  11. API не изменилось. Добавился новый функционал - Multiroom - работа нескольких клиентов в пределах одного абонента. Существенно изменен движок сессий. Изменилось имя сессии (необходимое условия для смены сессий всех абонентов). Вцелом, устройства использующие механизм API не заметели перехода.

    Можно немного подробнее о том что "поломалось"?

  12. Вопрос все же в силе. Как запустить что-нибудь из видеотеки не сначала, а с середины, например? Ответьте, пожалуйста

     

    Обычный Seek() на нужную позицию по открытому дескриптору.

    Все зависит от языка реализации.

    В JavaScript это свойство должно быть у объекта открывающего поток.

    Например vlc.input.time+=60000 мотает на 1 минуту вперед. В документации все написано. Пример - живой - на сайте вебплеера http://iptv.kartina.tv/

  13.  

     

    И еще вопросец.

     

    Пытаюсь достать стрим из архива след. вызовом: http://iptv.kartina.tv/api/json/get_url?cid=2&gmt=1363168800   (вчерашний день, 13.03.13 11:00)

    Получаю в ответ:

        error =     {
            code = 8;
            message = "Error generate URL. Bad parameters";
        };
        servertime = 1363217329;
    }
    Я где-то что-то упустил?

     

    Вероятно упустил то, как правильно залогиниться. Рекомендую или сниффер типа Wireshark, или прокси типа Fiddler, чтобы послушать траффик и посмотреть, как уже имеющиеся работающие приложения это делают. Три минуты работы :)

    Какие из архивируемых каналов на данный момент доступны по HTTP Live Streaming?

     

     

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

     

    Архив есть если

    - прошло более 30 минут с момента LIVE вещания;

    - прошло не менее 14 дней;

    - в свойствах канала полученых по /channel_list признак архива отличен от нуля (have_archive: 1);

    - в массиве stream_params в свойствах канала на выбранном глобально битрейте присутствует признак архива в виде ts:100. Например, если у настройках або установлен битрейт 1500, то в stream_params должно быть значение {rate: 1500, td:100}.

  14. Связался с info@kartina.tv.

    Мне выслали REST API

    Посмотрел внимательно, вроде бы делаю все правильно. НО

    Провел небольшой эксперимент. Кроме VLC плеера ни один проигрыватель (ни KMPlayer, ни Windows Classic) не проигрывает поток по ссылке прямого эфира.

    Ну, и соответственно, html5 тэг воспроизвести поток не может.

    Соответственно, я так понимаю, в логах коннекта

    07:53:00 ATVLogger: Player state: Loading at this time: 0

    07:53:11 ATVLogger: Player state: Stopped at this time: 0

     

    связано именно с этим.

     

    Где собаку порыть надо?

     

     

    Из документации.

     

    Транспорт: HTTP/TS, HTTP

    Видео: 

    Кодек:  H264 - MPEG-4 AVC (part 10) (h264)

    Разрешение: 576x472, 720х576, 1280х720, 1920х1080

    Частота кадров: 25

    Аудио:

    Кодек: MPEG AAC Audio (mp4a)

    Каналы: 1.0; 2.0; 2.1; 5.1 

    Частота дискретизации: 24000 Гц, 44100 Гц, 48000 Гц

     

     

    Ваш плеер должен поддерживать этот формат потока.

    В настоящий момент для платформы Windows плеер VLC зарекомендовал себя как самый устойчивый и менее ресурсоемкий.

    Генерируемый формат URL предназначен именно для воспроизведения через VLC.

     

    Почему VLC?

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

  15. Не знаю, дождусь ли ответа...

     

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

    И еще вопрос, как достать список ВСЕХ фильмов видеотеки?

     

     

    Да. Такое возможно. По причинам:

     

    - есть ограничение по девайсам. В настоящий момент все разработчики должны получить softid для работы с API. (как получить - писалось ранее). Это делается, в первую очередь, для защиты разработчиков. Поэтому - настоятельно рекомендуем; 

    - ограничение по географии. В связи с правами вещания тех или иных каналов на определенной территории вводится прозрачное ограничение по географии; Каналы и фильмы из пакета приобретенного в одной стране могут быть весьма ограничены в другой; 

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

  16.  

    помница вы вводили ув.картина, ограничение на "запросы с сервера"( ограничение в 4 запроса в секунду на протяжении 5 секунд.)да бы уменьшить нагрузку на сервера. В последнее время, в частности при просмотре на стороннем плагине nKTV от пользователя Nitrogen14 наблюдается заметное поддармаживание в меню и списке каналов! Вопрос, не уменьшили ли вы ещё запросы на сервер,? например когда были дос атаки на ваши сервера или может что-то поменяли при работе по увеличению битрейта, просьба дать внятный ответ! Спасибо!

     

    Присоединюсь к вопросу.

    Так как проблема все еще имеет место быть.

    Может быть всё таки кто нибудь ответит на вопрос?

     

    Gesendet von meinem GT-I9300 mit Tapatalk

     

     

    Всем привет!

     

    Постараюсь дать максимально внятный ответ, на сколько это возможно.

     

    Ограничение.

    Поскольку доступ к API открыт, во избежание ситуаций, когда стороннее приложение может "положить" сервис, введено ограничение на 20 запросов к MW (MiddleWare server) в течении 5 секунд.

    Ограничение воспроизводится следующим образом:

    - на очередной запрос выдается ошибка 31 (Query limit exceeded)

    - создается правило сроком на 10 минут с IP "нарушителя" на внешнем (над кластером MW) файрволе. На все последующие с этого IP запросы будет отдаваться HTTP 403 Forbidden

    - правило автоматически продливается еще на 10 минут с каждым обращением с этого IP.

     

    Как Вы можете видеть, "нарушитель" не может получать ответы с MW в течении как минимум 10 минут. Поэтому ситуация, когда "наблюдается заметное поддармаживание в меню и списке каналов" явно не относится к механизму блокировки.

     

    Цифры могут меняться только в случае с длительностью блокировки.

     

    Насчет битрейтов.

    Следует понимать, что работа сервиса (API) и серверов вещания это себе немножечко чуть-чуть разные вещи. На столько разные, что расстояние между серверами вещания и кластером MW может быть в десятки тысяч километров... Возможные проблемы на одном из них маловероятно а, скорее всего, никак не связаны с проблемами на другом. Если ДДосят MW, то вещание будет продолжаться... Могу заверить, что MW уже отлично закален ДДОСами и с вполне серьезными атаками справляется неплохо.

    Дальше - больше. Вещание всего одного канала в одном битрейте в пределах одного таймшифта - это отдельный процесс. При ~10 таймшифтах и 4 битрейтах на один канал приходится аж ~40 кодировщиков. При ~150 каналов это ~6000 кодировщиков. Это все передается на сервера вещания. Умножте на количество площадок... Так вот - проблемы с одним из них также не означают проблем со всем сервисом. В большинстве случаев, при проблемах вещания достаточно перегенерировать URL вещания, чтобы получить ссылку на другой сервер. За работой сервисов следит балансировщик. В случае проблемы на одном из них он выбирает менее проблематичный сервер. 

     

    По- существу.

    К сожалению, я но смог воспроизвести у себя на своем телевизоре Samsung "поддтормаживаний в меню и списке каналов", поэтому не совсем понимаю о чем речь.

    Подозреваю проблему недостатка памяти. Попробуйте очистить RAM от мусора...

     

     

    З.Ы. Просьба задавать  отдельные короткие вопросы... а не пачкой. На короткие точные вопросы проще дать короткий точный ответ, чем потратить половину рабочего дня на сочинение в развернутом виде. Все-таки есть прямые обязаности (как правило очень срочные), исполнение которых требует руководство... что просто не оставляет времени.

     

    З.З.Ы. Советую разработчикам просматривать свои запросы в браузере. Некоторые советовали снифить трафик... IMHO это как из пушки... Советую браузер Google Chrome со встроенным Developer Tools. На вкладке Network можно включить XHR и наблюдать все запросы (с ответами) от вебверсии плеера (iptv.kartina.tv). 

  17. Присоединяюсь к вопросу. Пока Apple версия ни битрейтов (и разрешений) не имеет, ни каналов всех, ни переключения серверов. Планируется ли всё это подтянуть?

    В отдаваемом URL вещания для Apple присутствует адаптивные битрейты. Устройство воспроизводящее Apple stream само выбирает нужный битрейт исходя из имеющейся на данный момент пропускной способности девайса и указанных в m3u8.

    Насчет всех каналов - да, подтянуть планируем.

  18. Хотел брать WD Green, а вчера наткнулся на (вроде довольно новая модель) WD Red. Он специализируется на работе в серверах, что подразумевает работу в 24/7 режиме, стоит всего на 10 евро дороже. Этот ЖД потише будет, так что подумываю взять его и не париться о выключении. А уже в перспективе взять какой-нибудь NAS-Server и установить этот же + ещё один туда и использовать дюну чисто как медиаплеер.

     

    Советую обратить внимание на температурные режимы HDD и напомнить, что Duna HD Smart H1 не имеет активного охлаждения.

    У меня WD Green - специально "холодная" версия... - разогревается до +60С. (рабочая температура). Дюне от этого становится не лучше... Через несколько часов активной работы приходится ее "охлаждать".

    З.Ы. WD Red рабочая температура до +70С http://www.wdc.com/ru/products/catalog/

     

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

    Так сложилось, что IP адрес сервера в настройках играет роль идентификатора площадки... не более...

  20. Какая модел подоидет для... Нужна приставка с жестким диском, чтоб через компютер кинул ссилки на торрент фаили, приставка сама их закачала на свои жесткии диск, а потом смотрет филм на тв с жесткого диска. чтоб компютер не участвовал в етом процессе.

    Dune HD Smart H1

    Dune HD TV-301

    В принципе, подойдет любая Dune HD с подключенным через USB *внешним* носителем.

    Но для torrent нужно специальное приложение и очень много денег на штрафы, потому что в Германии использование torrent запрещено.

  21. function setTimeShift($timeShift) {

    $url = "http://iptv.kartina.tv/api/xml/";

    $url .= "?act=x_set_timeshift&m=clients&ts=$timeShift";

    return $this->getData($url, "(setting) time shift $timeShift");

    }

     

    x_set_timeshift функции API не существует.

    Для управления параметрами используйте /settings_set

     

     

    Добрый день, помогите по epg: хочу видеть только одно событие для каждого канала, строка запроса типа

    http://iptv.kartina.tv/api/xml/epg_current...s=5,3&epg=1

     

    при epg=0, 2,3,..... показывает как надо epg, но почему с 1 не проходит, в ответ получаю

     

    <response>

    <epg/>

    <servertime>

    1352099401

    </servertime>

    </response>

     

    без события epg. Что здесь не так?

     

     

    исправлено.

×
×
  • Создать...