Jump to content

Описание Rest Api


Recommended Posts

Здравствуйте. Пытаюсь получить ссылку на файл из сериала.

 - Делаю запрос на сериал с помощью vod_info.

 - Получаю список серий (массив videos)

 - беру айди из массива (например film.videos[0].id) посылаю запрос на vod_geturl (fileid == id серии)

 -  получаю совершенно другой фильм.

 

Как правильно получить ссылку на серию из сериала?

Спасибо.

Link to post
Share on other sites

О каком сериале идёт речь?

Может вы масив с Video ID не верно записываете?

Запрос по сериалу:

 

vod_info?id=ид сериала

 

Ответ:

.....

<videos>

     <item>

          <id>123</id>

          <id_content>2407</id_content>

          <num>1</num>

          <title>Серия 1</title>

          <format>tv</format>

         .......

    </item>

    <item>

         <id>124</id>

.....

Link to post
Share on other sites

Тот самый id.  

Например для сериала Лост (id = 2017), id первой серии равен 2803. Делаю запрос vod_geturl на этот айди и получаю мультик "Любимчики"

Link to post
Share on other sites
  • 3 weeks later...

 

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

 

В настоящее время vod_list действительно возврашает только русские и советские фильмы.

Однако,  vod_info,например,  c id=1 возвращает подробную информацию об одном фильме нероссийского производства.

Дальше через geturl можно получить и видеопоток этого фильма.

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

Это может обьяснить также, почему на некоторых приставках можно смотреть по-прежнему все или большинство фильмов - номера фильмов остались в кэше...

Интересно, видны ли все фильмы  на "свежей" приставке? Или после сброса приставки на заводские настройки, "очистки кэша" , "перепрошивки" и т.д.

Я предполагаю, что нет... Но кто знает B)

 

Можно ли получить ответ от mariman или кого нибудь дургово на ету тему?

 

Почему Картина не может открыть ползвателям API всю видеотеку? Мы же вам денги платим за сервис, а приставка нам вобше не нужна, и покупать её никогда не буду (у меня HTPC).

Edited by Caleb
Link to post
Share on other sites
  • 3 weeks later...

Доброго времени суток всем :)

 

маленький вопрос - я тут пытаюсь реанимировать Plex plugin, чтоб наслаждаться картиной на Apple Tv3 

 

И прям могу логиниться, смотреть программу передач, архив, но как только нажимаю "играть" получаю ошибку 302

 

вот кусочек лога:

 

2013-10-06 13:47:15,213 (2cf8) :  DEBUG (runtime:143) - Calling function 'PlayMovie'
2013-10-06 13:47:15,214 (2cf8) :  INFO (logkit:16) - ------> ID='12475'
2013-10-06 13:47:15,220 (2cf8) :  DEBUG (networking:172) - Requesting 'http://iptv.kartina.tv/api/json/vod_geturl?fileid=12475&MWARE_SSID=b4s67rdisfbhj6la8geg89u7b0'
2013-10-06 13:47:15,355 (2cf8) :  WARNING (networkkit:125) - The HTTP.SetHeader() function is deprecated. Use HTTP.Headers[] to get and set headers instead.
2013-10-06 13:47:15,357 (2cf8) :  WARNING (networkkit:125) - The HTTP.SetHeader() function is deprecated. Use HTTP.Headers[] to get and set headers instead.
2013-10-06 13:47:15,358 (2cf8) :  DEBUG (runtime:914) - Response: [302] Redirect, 0 bytes
 
 
может кто-то подскажет куда копать? 


более того: подставив стрим из лога выше в VLC - получаю видео без проблем.... что-то же это такое? :)

Link to post
Share on other sites
  • 1 month later...

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

Edited by lufthanseat
Link to post
Share on other sites
  • 3 weeks later...

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

Edited by gasoj
Link to post
Share on other sites
  • 3 weeks later...

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

 

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

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

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

 

Gesendet von meinem GT-I9300 mit Tapatalk

Link to post
Share on other sites

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

 

Дело в том, после минуты.двух проигрыша, jumpы становятся невозможными - отрабатывается событие onRenderingComplete с последующим стопом. Я не знаю, баг это самсунга или это нормальное поведение. Поэтому и важнен ответ на вопрос. Не хотите отвечать здесь - ответьте хотя бы в личку.

Link to post
Share on other sites

Эти проблемы у вас возникают с нашим приложением или сторонним? 

Со сторонним.

Но вопрос то в другом, 1.Есть ли возможность стартовать не сначала (параметр в запросе), или только старт сначала с последующим jump.ом? ну тогда и 2й вопрос, это 99%й баг телевизора-клинета, или есть вероятность, что сервер, чтото не так отдает. Я не специалист в VOD.

Link to post
Share on other sites

 

Эти проблемы у вас возникают с нашим приложением или сторонним? 

Со сторонним.

Но вопрос то в другом, 1.Есть ли возможность стартовать не сначала (параметр в запросе), или только старт сначала с последующим jump.ом? ну тогда и 2й вопрос, это 99%й баг телевизора-клинета, или есть вероятность, что сервер, чтото не так отдает. Я не специалист в VOD.

 

А какая разница в плеере для 1го вопроса? если параметр есть, то он ко всем подойдет.

Edited by gasoj
Link to post
Share on other sites

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

Вас насчёт апи уже когда спрашивали,а в ответ ни привета ни ответа... Можете ответить на вопрос?

Я конечно понимаю,что стороннее приложение,вас это не касается,но всё таки? Люди пытаются устранить проблему,но не знают точно,в чём именно заключается проблема,так неужели трудно просто ответить на вопрос?

Вы своё приложение до ума довести не можете,что нам остаётся,кроме как спрыгнуть на чужое? 

Так помогите нам хотя бы в этом...

 

Извините,наболело...

Link to post
Share on other sites

 

помница вы вводили ув.картина, ограничение на "запросы с сервера"( ограничение в 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). 

Link to post
Share on other sites

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

 

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

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

 

 

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

 

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

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

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

Link to post
Share on other sites

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

Link to post
Share on other sites

 

 

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

 

Пытаюсь достать стрим из архива след. вызовом: 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}.

Link to post
Share on other sites

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

 

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

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

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

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

Link to post
Share on other sites

 

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

 

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

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

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

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

 

Спасибо. Я уже сделал костыль - в случае ошибки, запуск сначала с последующим джампом. В том то и дело, что плеер не vlc - и если его надолго оставить проигрывать видео, то при последующем прыжке он уходит на последнюю секунду и останавливается. В любом случае, спасибо за ответ.

Link to post
Share on other sites
  • 4 months later...

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

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

 

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

Link to post
Share on other sites

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

 

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

 

 

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

 

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

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

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

Link to post
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...
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...