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

Описание Rest Api


mariman

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

Функция /get_url возвращает для VLC:

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

 

или для apple:

<url>http://91.224.187.36/streaming/live5.m3u8?ticket=F%2B5Xx7O9gZhVdyF4dRsECzA...7Q%3D</url>

Вопрос первый, как читать VLC url? Можно ли url изменить чтобы зто был обычный HTTP url чтобы можно было его открыть с помощью любого http client.

 

Вопрос второй, когда я пользовался apple то похоже многие bit-rates не доступны для apple. По крайнен мере используя demo account Функция channel_list возвращала только rate=900 для всех каналов, тогда как для VLC возвращало много разных bitrates. Будет ли поддержка разных bitrates?

 

Вопрос третий, когда я открыл live5.m3u8 файл, то увидел urls к другим m3u8 файлам с разными bandwidth:

#EXTM3U

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=320000

http://91.224.187.36/streaming/low300-5.m3...KwsK...7UpfA%3D

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=820000

http://91.224.187.36/streaming/test5.m3u8?...K5Wd...7UpfA%3D

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=90000

http://91.224.187.36/streaming/low300-5.m3...KwsK...7UpfA%3D

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000

http://91.224.187.36/streaming/audio5.m3u8...z37i...7UpfA%3D

 

по документации apple player определяет параметры девайса и входящий bandwidth перед тем как грузить .TS file и выбирает самый большой bandwidth который на данный момент (run time) device может загрузить.

Вопросы:

a) не смотря на возможный rate канала 900 и rate который выставлен в settings возвращается m3u8 file с несколькими bandwidth, и ни один из них не соответствует bitrate канала или setting, почему?

б) Если посмотрите то url c BANDWIDTH=320000 и с BANDWIDTH=90000 абсолютно одинаковые, это bug или спецально сделано и почему?

в) test5.m3u8 url c BANDWIDTH=820000 (самый высокий в данном случае) по какой то причине на Google TV играет с очень узким экраном (ширина экрана на весь TV, а высота не более 5 см). По скольку вы не указываете resolution в m3u8 файле, хотелось бы узнать какой resolution вы используете, в каждом случае?

 

Вы спрашивали когда можно будет посмотреть на прототип программы для Google TV. Прототип практически готов, как только вы мне поможете разобратся с вашими urls, чтобы можно было играть качественное видео исходя из выше преведённых вопросов.

 

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

savlad22,

 

По поводу первой ссылки решил проблему так:

var urlCut = urlData.url.split(" ");
urlStripped = urlCut[0].replace('http/ts://','http://');

Первое отделяет ненужные хвосты после основной ссылки, второе меняет http:// на нормальный. Всё показывает после этой модификации.

 

По поводу m3u8: кол-во каналов для Apple гораздо меньше, чем в обычной версии, нету HD каналов, битрейт на порядок ниже, поэтому лучше придумывайте хитрость с m3u8, так как кодек позволяет.

 

В начале хотел использовать m3u8 для LG Smart TV (для него родной контейнер), но потом стал использовать обычные http:// потоки и всё ок.

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

Вопрос администрации: есть ли возможность вызова имени канала через CID напрямую, без вызова channel_list и прогонки через весь массив? Нельзя ли добавить имя канала в какую-нибудь функцию (url или epg)? Спасибо.

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

needz, спасибо за ответ на первый вопрос.

Вчера после того как я отправил запрос я нашёл ответ просматривая код VLC Record, но всё равно спасибо.

Кстати когда вы пользуетесь изменённым url какой поток оно посылает .TS file или что то другое.

Ещё одно преимущество использования m3u8 это то что не надо буферизацию создавать, а для одного длинного TS файла возможно надо будет.

 

 

savlad22,

 

По поводу первой ссылки решил проблему так:

var urlCut = urlData.url.split(" ");
urlStripped = urlCut[0].replace('http/ts://','http://');

Первое отделяет ненужные хвосты после основной ссылки, второе меняет http:// на нормальный. Всё показывает после этой модификации.

 

По поводу m3u8: кол-во каналов для Apple гораздо меньше, чем в обычной версии, нету HD каналов, битрейт на порядок ниже, поэтому лучше придумывайте хитрость с m3u8, так как кодек позволяет.

 

В начале хотел использовать m3u8 для LG Smart TV (для него родной контейнер), но потом стал использовать обычные http:// потоки и всё ок.

 

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

Вопрос администрации: есть ли возможность вызова имени канала через CID напрямую, без вызова channel_list и прогонки через весь массив? Нельзя ли добавить имя канала в какую-нибудь функцию (url или epg)? Спасибо.

 

 

алгоритм подразумевает сохранение данных полученных по списку каналов

с последующим обращеннием именно к этому массиву данных.

Это позволит избежать дополнительной нагрузки на сервер.

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

Всё понятно, спасибо. Просто при переходе от одной страницы html к другой с массивом не наиграешься, но как-нибудь решим эту проблема.

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

Вопрос второй, когда я пользовался apple то похоже многие bit-rates не доступны для apple. По крайнен мере используя demo account Функция channel_list возвращала только rate=900 для всех каналов, тогда как для VLC возвращало много разных bitrates. Будет ли поддержка разных bitrates?

 

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

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

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

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

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

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

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

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

mariman, я это описал выше, но по поводу отставания, то максимальный bandwidth который я видел это 820000 (0,78 Mb/sec) тоесть меньше 1Mb/sec, тогда как для VLC у вас идёт до 2,5 Mb/sec. Кроме того видео с максимальным потоком, как я писал выше, показывает с очень узким экраном (тестировал на своём плеере и на нескольких других плеерах доступных на Google TV которые рекомендуються самой компанией Google).

Кстати там было больше вопросов, на которые пока никто не ответил

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

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

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

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

 

Про адаптивный битрейт всё понятно. Но максимальный там даже рядом с TS вещанием не стоит.

 

Тут больше вопрос даже в серверах: возникла проблема, что человек хотел на LG смотреть в Тайланде, а сервер для Apple стримов не выбирается, поэтому очень тормозило. Пришлось TS переделывать под m3u8.

 

Так как когда-то в любом случае будете на Smart TV выходить, на них же тоже HLS - почти самый основной тип потоков.

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

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

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

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

 

Про адаптивный битрейт всё понятно. Но максимальный там даже рядом с TS вещанием не стоит.

 

Тут больше вопрос даже в серверах: возникла проблема, что человек хотел на LG смотреть в Тайланде, а сервер для Apple стримов не выбирается, поэтому очень тормозило. Пришлось TS переделывать под m3u8.

 

Так как когда-то в любом случае будете на Smart TV выходить, на них же тоже HLS - почти самый основной тип потоков.

needz, смотри выше, я уже обсуждал эту тему с mariman, 25.1.2013. Думаю там или баг у них для Apple device, либо поддержка Apple device добавленна не на всех серверах, а может только на один сервер North Europe server.

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

savlad22,

 

По поводу первой ссылки решил проблему так:

var urlCut = urlData.url.split(" ");
urlStripped = urlCut[0].replace('http/ts://','http://');

Первое отделяет ненужные хвосты после основной ссылки, второе меняет http:// на нормальный. Всё показывает после этой модификации.

 

По поводу m3u8: кол-во каналов для Apple гораздо меньше, чем в обычной версии, нету HD каналов, битрейт на порядок ниже, поэтому лучше придумывайте хитрость с m3u8, так как кодек позволяет.

 

В начале хотел использовать m3u8 для LG Smart TV (для него родной контейнер), но потом стал использовать обычные http:// потоки и всё ок.

needz, после того как ты стал использовать http:// потоки, ты просто закидываеш http url в плеер или в цикле читаеш дату по частям и закидуеш части в плеер? Я попробовал закинуть http url напрямую в плеер и Google TV плеер играет поток, но гдето через 2 - 3 минуты перестаёт играть. m3u8 файл играет без остановки. Хотелось бы не заниматся буферизащией и создаванием темп файлов.

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

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

приветствую, уважаемые!

 

экспериментирую с REST API, возникло несколько вопросов со здоровой долей сомнения...

 

1. Установка timeshift... Следуя документации производится след. образом: http://iptv.kartina.tv/api/json/settings_set?var=timeshift&val=...

 

 Изменяю timeshift с 0 на 1.. Результат : 

epg_current, epg_next не проверял..

 

чему верить?

 

2. Установка timezone. Что должно измениться после смены временной зоны? Пока в ответах API никаких изменений не обнаружено.

 

3. Вызов /epg3?... : Вопрос к полю t_start (форматированное начало передачи)? Каким образом вычисляется это значение/строка и к чему оно привязано? Ни ut_start, ни значению timeshift аккаунта, ни времени в моей временной зоне оно не соответствует... По крайней мере в случае моих запросов закономерность мне не понятна.

 

4. Я экспериментирую с нативной апп под MacOSX, соответственно получаю m3u8 стрим обращаясь к REST API с параметром device=apple.. Макс. битрейт стрима намеренно 

занижен дла iOS-устройств. На Маке однако хотелось бы получать более качественную картинку. Есть ли планы помочь битрейтом пользователям Мак, желащим использовать нативную Апп, а не VLC/VLC-based?

 

5. Ну и до кучи... device=apple и вызов channel_list исключает из списка н-ное число HD каналов (причины и обещание их включить в список где-то тут в ветке проскакивали)..

Можно на это надеятъся в ближайшем будущем? И почему исключенные из списка channel_list каналы, почему то видны в списке epg3 ? (например Первый Канал HD не виден в channel_list, но виден в epg3) ?

 

С уважением

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

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

 

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

 

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

  • 2 months спустя...

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

 

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

 

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

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

 

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

 

Gesendet von meinem HTC One mit Tapatalk 2

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

 

 

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

 

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

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

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

Пишу в надежде, что тут есть знатоки Plex-а.

Начал ковырять плагин когда-то начатый пользователем Alex.

Сам он прекратил поддержку и разработку Plex плагина KartinaTV.

А мне очень хочется этот плагинчик реанимировать.

Столкнулся со следующими проблемами.

 

Прямой эфир не показывает.

В логах пишет

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

Архив передач - тоже самое.

 

Видеотека.

Фильм бывает трех типов.

1. Стандарт - воспроизводится, иногда даже со звуком.

2. Эко - ведет себя так же как прямой эфир. Т.е. не воспроизводится, в логах пишет тоже самое, что прямой эфир.

3. FullHD - воспроизводится, но всегда без звука.

 

Если есть знатоки, подскажите куда копать. Уж очень хочется смотреть Картину сразу с коробки ATV3 :)

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

Ладно, нет никого со знаниями Plex-а, ответтье хотя бы на вопрос, с  кем можно из поддержки связаться, чтобы хотя бы там получить консультацию по АПИшке?

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

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

Связался с 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

 

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

 

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

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

Не уверен или ты поменял URL до того как использовать его в других плеерах.

 

REST API getUrl() возвращает URL следующего вида:

 

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

 

 

До того как использовать URL другим плеером нужно убрать /ts после http и все что после URL ( :http-caching=3000 :no-http-reconnect). Конечный URL:

 

http://217.19.223.2:27005/?ticket=QurUQKsAIElvZxXByUp5DzUpOuOc0rGpLDmedwxpEUgJ5nbXMs2vwvm3LUNz%2FIdfobeVSTvHhF10s8vIBPB87k1CH8aCkbDZFASfor86b5cprQBtj4ycszhT03MS%2Fzaf3SuOiM0CmI96%2Bmps31tbsUkBuBowW5yJYRUEPITzAKA%3D
 
Изменено пользователем savlad22
Ссылка на комментарий
Поделиться на других сайтах

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

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