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

Описание Rest Api


mariman

Рекомендованные сообщения

>Готовится и в ближайшее время выйдет нормальный полноценный Developer Guide по API.

 

Что в этом направлении, где? И еще вопрос по API, не могу найти download link.

Изменено пользователем wanders
Ссылка на комментарий
Поделиться на других сайтах

  • 4 weeks спустя...
  • 2 weeks спустя...

проводились ли какие-нибудь изменения в работе API последние 2-3 дня? если да, то что было изменено. Спасибо!!

Ссылка на комментарий
Поделиться на других сайтах

  • 4 weeks спустя...

Такое впечатление что timezone из settings никак не влияет на получаемое время программы (epg3).. Настройка timezone сохраняется в профиле, но обрабатывать зону нужно на стороне клиента? Потому как в epg похоже постоянно UTC выдается...

Ссылка на комментарий
Поделиться на других сайтах

  • 1 month спустя...

Я почти написал плагин для Windows Media Center (WMC), осталась только одна маленькая проблемка.

 

Как преобразовать URL полученный запросом get_url для Windows Media Player (WMP)/ WMC?

 

From:

<url>http/ts://217.19.222.34:18046/?ticket=W4z3WFdoSRnMMXHgYFq...md4ZGtVyT6mjgqGZk%3D :http-caching=1500 :no-http-reconnect</url>

 

To:

<url>http://217.19.222.34:18046/W4z3WFdoSRnMMXHgYFq...md4ZGtVyT6mjgqGZk.asx</url>

 

Мне очень понравился REST API. Всё очень просто и логично. Идеально подходит для использования с Media Center Markup Language (MCML). Одно остаётся загадкой, почему по умолчанию создаётся ссылка для столь экзотической и непопулярной программы VLC?

 

Без WMC совсем нельзя, это единственная платформа поддерживающая Американское кабельное телевидение (OCUR / CableCARD).

Изменено пользователем vvorontsov
Ссылка на комментарий
Поделиться на других сайтах

 

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

И проблема тут не в формате URL а в транспорте вещания.WMC/MMP требуют протокол RTSP в качестве транспорта и свой MMS в виде сервера. Это достаточно дорогостоящее и маловостребованое решение.

 

Насчет VLC - это открытый мультплатформенный проект. Это означает как минимум две вещи:

1. не только на Microsoft, но и на всех Linux и Mac поток воспроизводится. В сумме это гораздо больше чем пользователей с WMC.

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

 

Ссылка на комментарий
Поделиться на других сайтах

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

 

Это и не требуется, на сколько я понимаю, проблема в транспорте (TS), а не в элементарных потоках (H264 AAC).

Сейсас REST API поддержиает 2 типа устройств: device=all (VLC), device=apple. А нельзя ли добавить ещё и device=windows (WMP), если streamer немного "подкрутить". Всё таки пока-что Windows компьютеров со встроенным WMP/WMC поболее будет чем Linux и Apple (даже если очень оптимистично 10:1, но я не об этом).

 

Ожидая ответ НЕТ, нельзя, не возможно, жутко дорого, не подскажете как попроще приобразоать TS (VLC) транспорт в RTSP (WMP), без перекодирования элементарных потоков.

 

При родной поддержке Windows (без VLC), KartinaTV мгновенно "убьёт" всех конкурентов (BestRussian, Rumote, Woldstream, etc.). Kartina выигрывает во всем: по качеству, надёжности, на самом деле даже по цене. Но вот уже много лет, я и многие другие не могут смотреть KartinaTV.

 

Заранее спасибо за ответ.

Ссылка на комментарий
Поделиться на других сайтах

Подскажите пожайлуста, проблемка такого рода:

делаю запрос на авторизацию

.....xml/login?login=*****&pass=****

получаю нормальный ответ sid_name, sid, account и т.д. всё норма

далее делаю запрос ну например

channel_list?&sid_name=SSID&sid=2ivj58o1fs7c3shs5va48k76f2 или любой другой

а в ответ получаю Authentication error

где грабли подскажите плиз?!

Изменено пользователем Rvs
Ссылка на комментарий
Поделиться на других сайтах

Подскажите пожайлуста, проблемка такого рода:

делаю запрос на авторизацию

.....xml/login?login=*****&pass=****

получаю нормальный ответ sid_name, sid, account и т.д. всё норма

далее делаю запрос ну например

channel_list?&sid_name=SSID&sid=2ivj58o1fs7c3shs5va48k76f2 или любой другой

а в ответ получаю Authentication error

где грабли подскажите плиз?!

 

Должно быть:

channel_list?SSID=2ivj58o1fs7c3shs5va48k76f2

Изменено пользователем vvorontsov
Ссылка на комментарий
Поделиться на других сайтах

Должно быть:

channel_list?SSID=2ivj58o1fs7c3shs5va48k76f2

хммм

Спасибо работает!

Я правда не долго с этим API работаю, но сделал простенький интерфейс под железку всё работало, купил ещё одну железку, она по новее первой и на ней не работает.

Поменял по новоу, работает на новой и на старой.

Ссылка на комментарий
Поделиться на других сайтах

Добрый день, помогите по 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. Что здесь не так?

 

Ссылка на комментарий
Поделиться на других сайтах

что означает вот этот ответ

<br />

<b>Parse error</b>: syntax error, unexpected '=' in <b>/MMP/httpd/m3u/ktvFunctions.inc</b> on line <b>75</b><br />

перевод

<br/>

<b> Ошибка разбора </b>: синтаксическая ошибка, неожиданная '=' в <b>/MMP/httpd/m3u/ktvFunctions.inc </b> на линии <b> 75 </b> <br/>

Ссылка на комментарий
Поделиться на других сайтах

Добрый день, помогите по 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. Что здесь не так?

 

Здравствуйте, уважаемый wanders.

Судя по описанию функции epg_current в Документации по API для разработчиков приложений, она вызывается или без параметра epg, или с параметром epg=3.

Ссылка на комментарий
Поделиться на других сайтах

где моя ошибка

function KtvFunctions($username, $password, $cookie = "", $traces = false) {

$this->username = $username;

$this->pass = $pass;

$this->cookie = $cookie;

$this->traces = $traces;

}

 

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");

 

 

получаю вот такой ответ

 

<br />

<b>Warning</b>: fopen(http://iptv.kartina.tv/api/xml?act=x_set_timeshift&m=clients&ts=0) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

in <b>/MMP/httpd/m3u/ktvFunctions.inc</b> on line <b>105</b><br />

Cannot open

Изменено пользователем schuriku
Ссылка на комментарий
Поделиться на других сайтах

  • 1 month спустя...
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. Что здесь не так?

 

 

исправлено.

Ссылка на комментарий
Поделиться на других сайтах

  • 1 month спустя...

После logina:

http://iptv.kartina.tv/api/xml/login?login...mp;settings=all

я меняю settings сервера:

http://iptv.kartina.tv/api/xml/settings_se...al=217.19.223.2

а потом пытаюсь получить url:

http://iptv.kartina.tv/api/xml/get_url?cid=6

и в результате получаю ответ с 91.224.187.36 IP (South Europe) вместо 217.19.223.2 (Eastern USA):

http://91.224.187.36/streaming/live5.m3u8?...unhB4rdlQr7Q%3D

 

Если я делаю login с default (VLC) device то всё работает правильно get_url возвращает тот IP который я устанавливал в settings:

http/ts://217.19.223.2:27005/?ticket=QurUQKsAIElvZxXByUp5DzUpOuOc0rGpLDmedwxpEUgJ5nbXMs2vwvm3LUNz%2FIdfobeVSTvHhF10s8vIBPB87k1CH8aCkbDZFASfor86b5cprQBtj4ycszhT03MS%2Fzaf3SuOiM0CmI96%2Bmps31tbsUkBuBowW5yJYRUEPITzAKA%3D :http-caching=3000 :no-http-reconnect

 

В обоих случаях я использовал Firefox browser. Просто пытаюсь разобратся с API до создания программы

Изменено пользователем savlad22
Ссылка на комментарий
Поделиться на других сайтах

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

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

Ссылка на комментарий
Поделиться на других сайтах

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

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

 

Не могу согласится с правильностью этого решения (IP адрес сервера в настройках играет роль идентификатора площадки), но API создавали вы, вам и решать как это делать. В документации API этого не указано. Не совсем понимаю зачем нужен идентификатор площадки.

Насчот балансировщика то он как то странно работает, когда я использую VLC версию login и меняю настройки на Eastern USA server то всегда получаю (пробовал много раз) url c Eastern USA IP, а когда я использую Apple версию login и меняю настройки на Eastern USA server то всегда получаю (пробовал много раз) url c South Europe, даже когда делаю подряд то VLC то Apple.

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

 

Если я правильно думаю то балансировщик нагрузки даёт приоритет сервера исходя из идентификатора площадки (основываясь на наблюдения VLC версии) и возможно этот приоритет не поддерживается при Apple версии (например идентификатор площадки не сохраняется).

Ссылка на комментарий
Поделиться на других сайтах

Кстати для общей информации я пытаюсь создать Kartina TV App для Google TV. У вас уже есть версия для Android phone и Android Tablet, но нету для Google TV.

Google Developer Guide говорит:

 

Touchscreen support

 

Google TV does not support touchscreen.

 

Caution: By default, the Google Play Store assumes that an application requires full touchscreen support. If you want your application to appear in the Google Play Store for Google TV devices, you must specify in your manifest file (AndroidManifest.xml) that your application does not require full touchscreen support. To do this, add the following element specification exactly as it appears:

 

<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>

In effect, this specification tells the Google Play Store to ignore the touchscreen requirement when filtering applications.

 

Если хотите можете добавить эту строку в AndroidManifest.xml и тогда Android Tablet версия появится в Play Store for Google TV. Не могу сказать что эта версия будет user friendly без изменений в коде, но работать будет. По крайней мере если иметь нужный видео плеер. Я пробовал на "GTVBox Video Player is now called ViMu Player" и Kartina TV Apple Url с этим плеером работают, a VLC Url не работают. Поэтому мои предыдущие вопросы были по поводу Apple Url.

Ссылка на комментарий
Поделиться на других сайтах

Гость
Эта тема закрыта для публикации сообщений.
  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...