API v2.2 & 2.3 Вопросы и обсуждение.

API sovok.tv

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение srg70 » 14 июл 2017, 13:38

После перевода EPG на новые рельсы, метод epg3 в JSON-ответе стал возвращать $quot; и $amp;
В начале этого топика такие проблемы уже обсуждались и были исправлены.
Есть возможность починить и в этот раз?
Спасибо.
srg70
 
Сообщения: 22
Зарегистрирован: 22 июл 2016, 12:07

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение Irina » 14 июл 2017, 22:38

srg70 писал(а):После перевода EPG на новые рельсы, метод epg3 в JSON-ответе стал возвращать $quot; и $amp;
В начале этого топика такие проблемы уже обсуждались и были исправлены.
Есть возможность починить и в этот раз?
Спасибо.

Спасибо, исправим
Irina
Супермодератор
 
Сообщения: 4535
Зарегистрирован: 04 апр 2014, 14:38

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение tham » 20 июл 2017, 18:18

Привет.

Примерно неделю назад начались проблемы с отображением времени текущих програм (channel_list). Список по центру:
01_channel_list.jpg


Похоже на неверное значение epg_start и/или epg_end.
Слева, на картинке, тоже видно, что epg3 вернул неправильное значение времени для текущей передачи, но верное для последующих.

При этом epg на весь день для конкретного канала вернул всё верно:
02_channel_archive.jpg


Не могли бы вы проверить, что API не менялся и возвращает правльные значения.

P.s.
API v2.3, на RaspberryPi/Kodi
Понимаю, что на скринах видна лишь работа плагина и ошибка может быть в нём, но уже год ничего не менялось в плагине и проблем таких не было.

P.p.s
Не смог убрать картинки под спойлер. Сорри.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
tham
 
Сообщения: 3
Зарегистрирован: 14 ноя 2015, 23:58

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение tham » 24 июл 2017, 09:21

Со вчерашнего дня всё опять заработало.
tham
 
Сообщения: 3
Зарегистрирован: 14 ноя 2015, 23:58

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение Tarmik » 25 сен 2017, 23:38

1. Вопрос: в REST API есть функция get_url - и согласно вашему API для неё нужен параметер gmt - т.е. ей надо указать текушее время.
На данный момент я так понимаю эта функция срабатывает и без gmt параметра, но online stream сразу же закаканчивается - в vlc-record примерно такие трайсы:

Код: Выделить всё
25.09.2017 22:16:14.634: c:\prototyping\vlc2\vlc_record\ckartinaclnt.cpp / CKartinaClnt::GetStreamURL():570: Request URL for channel 140 ...
25.09.2017 22:16:14.634: c:\prototyping\vlc2\vlc_record\qiptvctrlclient.cpp / QIptvCtrlClient::post():273: id=2, type='String', url='http://api.sovok.tv/v2.3/json/get_url', data='cid=140'
25.09.2017 22:16:15.115: c:\prototyping\vlc2\vlc_record\qiptvctrlclient.cpp / QIptvCtrlClient::slotResponse():91: id=2, type='String', size=461 bytes
25.09.2017 22:16:15.115: c:\prototyping\vlc2\vlc_record\ckartinaclnt.cpp / CKartinaClnt::slotStringResponse():91: Response for request 'REQ_STREAM':
 ==8<==8<==8<==
{"url":"http\/ts:\/\/ss.sovok.tv:8081\/?ticket=33bfbe3be6baa4886fad8d1ff0cb5f8338f2260e646c5bf0818eb047d8f6925e7a81101ca3b7c864be727e6eb48cf4a87defe317943bea711f6fe8836cbc0b917b0bd84105daa0850dfd1c5d87e08925dd2059b7c6fae4d92cc8ad19018b06af37edf17deec80b9c7f7bc0f685e0412a1d9cf76a606766ea6551a19ff1e9c5a42be273a8ab70827a361a8b9540f3fd3db0c051ebd98176b2928050e94be8b2cfdc640332 :network-caching=5000 :http-caching=5000 :no-http-reconnect","servertime":1506366974}
 ==>8==>8==>8==
25.09.2017 22:16:15.115: c:\prototyping\vlc2\vlc_record\ckartinaclnt.cpp / CKartinaClnt::slotStringResponse():103: Request 'REQ_STREAM' done!
25.09.2017 22:16:15.115: c:\prototyping\vlc2\vlc_record\recorder.cpp / Recorder::slotKartinaResponse():1656:
  --> HTTP Response 'CIptvDefs::REQ_STREAM', calling 'slotStreamURL(resp)'
25.09.2017 22:16:15.123: c:\prototyping\vlc2\vlc_record\cplayer.cpp / CPlayer::initPlayer():368: Create libVLC with following global options:
 --verbose=2 --ignore-config --intf=dummy --no-media-library --no-osd --no-stats --no-video-title-show
25.09.2017 22:16:15.761: c:\prototyping\vlc2\vlc_record\cplayer.cpp / CPlayer::playMedia():666: Media successfully created from MRL:
 --> http/ts://ss.sovok.tv:8081/?ticket=33bfbe3be6baa4886fad8d1ff0cb5f8338f2260e646c5bf0818eb047d8f6925e7a81101ca3b7c864be727e6eb48cf4a87defe317943bea711f6fe8836cbc0b917b0bd84105daa0850dfd1c5d87e08925dd2059b7c6fae4d92cc8ad19018b06af37edf17deec80b9c7f7bc0f685e0412a1d9cf76a606766ea6551a19ff1e9c5a42be273a8ab70827a361a8b9540f3fd3db0c051ebd98176b2928050e94be8b2cfdc640332
25.09.2017 22:16:15.761: c:\prototyping\vlc2\vlc_record\cplayer.cpp / CPlayer::playMedia():706: Add MRL Option: :input-timeshift-granularity=2147483647
25.09.2017 22:16:15.761: c:\prototyping\vlc2\vlc_record\cplayer.cpp / CPlayer::playMedia():710: Add MRL Option: :ipv4-timeout=10000
25.09.2017 22:16:15.761: c:\prototyping\vlc2\vlc_record\cplayer.cpp / CPlayer::playMedia():718: Add MRL Option: :disable-screensaver
25.09.2017 22:16:15.761: c:\prototyping\vlc2\vlc_record\cplayer.cpp / CPlayer::playMedia():773: Add MRL Option: :no-http-reconnect
25.09.2017 22:16:15.761: c:\prototyping\vlc2\vlc_record\cplayer.cpp / CPlayer::playMedia():766: Add MRL Option: :network-caching=3000
25.09.2017 22:16:15.762: c:\prototyping\vlc2\vlc_record\recorder.cpp / Recorder::StartVlcPlay():5349: Started player with pid #99!
25.09.2017 22:16:15.767: c:\prototyping\vlc2\vlc_record\cplayer.cpp / CPlayer::slotEventPoll():1085: libvlc_MediaPlayerOpening ...
25.09.2017 22:16:15.768: c:\prototyping\vlc2\vlc_record\cvlcctrl.cpp / CVlcCtrl::slotLibVlcStateChange():629: libVLC reports new state 1
25.09.2017 22:16:16.508: c:\prototyping\vlc2\vlc_record\cplayer.cpp / CPlayer::slotEventPoll():1075: libvlc_MediaPlayerEncounteredError --> clean up libVLC!
25.09.2017 22:16:16.508: c:\prototyping\vlc2\vlc_record\cvlcctrl.cpp / CVlcCtrl::slotLibVlcStateChange():629: libVLC reports new state 7
25.09.2017 22:16:16.508: c:\prototyping\vlc2\vlc_record\cvlcctrl.cpp / CVlcCtrl::slotStateChanged():567: Player has ended ...
25.09.2017 22:16:16.508: c:\prototyping\vlc2\vlc_record\recorder.cpp / Recorder::slotVlcEnds():2849: vlcCtrl reports: vlc player ended!
25.09.2017 22:16:16.508: c:\prototyping\vlc2\vlc_record\qhlscontrol.cpp / QHlsControl::stop():295: Stopping event loop ...


- если надо могу найти тоже на бинарном уровне что там на самом деле двигается.

Можно ли изменить API так что бы gmt параметер был optional, и действительно работал. Дело в том что как я посмотрел по протоколу, то практически во всех requestах имеется server time, т.е. его можно и не сложно вытащить - но ещё проще это сделать на стороне сервера, так как он у вас вообще под рукой.

То же самое касается online record, но я думаю что там тот же запрос, просто идет на запись.

2. в этом сообщении http://forum.sovok.tv/viewtopic.php?f=10&t=688 я нашёл что vlc-record пытается качать картинки с вашего сайта, картинки / лого каналов, которых нет на сервере.
в порте Polka http://forum.sovok.tv/viewtopic.php?f=10&t=490 эти картинки имеются и они интегрированы внутрь самой аппликации - vlc-record.

Но дело в том, что выгоднее было бы держать лого на стороне сервера, на тот случай, если вы добавили или убавили новый канал - тогда вы сами можете контроллировать чтобы лого канала было у клиента up-to-date. На данный момент добавление или убавление канала = нужно сделать новый релиз с vlc-record.
Tarmik
 
Сообщения: 18
Зарегистрирован: 20 сен 2017, 08:41

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение apfelnase » 26 сен 2017, 08:48

Не правильный относительный путь к логотипам каналов.
Если бы вы почитали эту тему от начала и до конца, то наверняка бы нарвались на сообщение от Админа:
viewtopic.php?f=6&t=338&start=100#wrap

Полный путь выглядит так:
http://sovok.tv/logos/1.png и по аналогии 2,3,4.png и т.д.
Dune Solo 4k и Dune Solo Lite - Sovok.TV 2.0.0 от Igores, micha86
Mag 250 - Firmware 218r11
Samsung - UE55D8090, UE55H6400, UE65HU8590, UE32J6250
Xiaomi MiPad 2, Android 7 - Sovok.TV 2.0.1.3
Ipad Pro 12,9", iOS10 - XMBC/Kodi от gerikss, OTTPlayer
apfelnase
 
Сообщения: 456
Зарегистрирован: 13 июн 2013, 00:27
Откуда: Франкфурт на Майне

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение Tarmik » 26 сен 2017, 23:44

Спасибо, картинки нашёл, и даже скачал. Качалось правда довольно долго.
Имеет смысл назвать картинки по названию канала, если новый канал добавится, то что бы именно нужная картинка докачалась, а не последняя.

Как насчёт 1:ого пункта ?
Последний раз редактировалось Tarmik 27 сен 2017, 19:09, всего редактировалось 1 раз.
Tarmik
 
Сообщения: 18
Зарегистрирован: 20 сен 2017, 08:41

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение Tarmik » 27 сен 2017, 18:57

Tarmik писал(а):Как насчёт 1:ого пункта ?


Пробовал запускать get_url с gmt близкому к серверу - скажем брал -20 секунд и прочее, но ощущение что get_url не работает вообще.
Можно было бы использовать archive_next или archive_next2, но никак не пойму в чем разница между get_url и archive_next*.

С vlc онлайн play запускается вообще без проблем, но там url как-то по другому форматирован

http://sovok.tv/playlist/server/tarmik/хххххххххххххххххххххххххх/1.avi?s=1

где xxxx это какой то hex dump.

xxxx - это какой то hash через пароль ? 1.avi - это номер канала ?

Мог бы запустить playback через этот url, если пойму механизм создания линка.
Tarmik
 
Сообщения: 18
Зарегистрирован: 20 сен 2017, 08:41

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение Tarmik » 27 сен 2017, 19:20

Ещё одна проблема (#3):

при запросе epg туда попадает не только json, а что-то ещё - из-за чего vlc-record ругается.

Код: Выделить всё
27.09.2017 18:17:42.624: c:\prototyping\vlc2\vlc_record\ckartinaclnt.cpp / CKartinaClnt::GetEPG():649: Request EPG for Channel 235 ...
27.09.2017 18:17:42.634: c:\prototyping\vlc2\vlc_record\qiptvctrlclient.cpp / QIptvCtrlClient::get():307: id=4, type='String', url='http://api.sovok.tv/v2.3/json/epg?cid=235&day=230917'
27.09.2017 18:17:43.318: c:\prototyping\vlc2\vlc_record\qiptvctrlclient.cpp / QIptvCtrlClient::slotResponse():91: id=4, type='String', size=16815 bytes
27.09.2017 18:17:43.318: c:\prototyping\vlc2\vlc_record\ckartinaclnt.cpp / CKartinaClnt::slotStringResponse():92: Response for request 'REQ_EPG':
 ==8<==8<==8<==
<br />
<b>Notice</b>:  Undefined variable: time_start in <b>/home/vhosts/api.sovok.tv/v2.3/lib/api.class.php</b> on line <b>845</b><br />
<br />
<b>Notice</b>:  Undefined variable: time_start in <b>/home/vhosts/api.sovok.tv/v2.3/lib/api.class.php</b> on line <b>845</b><br />
<br />
<b>Notice</b>:  Undefined variable: time_line in <b>/home/vhosts/api.sovok.tv/v2.3/lib/api.class.php</b> on line <b>848</b><br />
<br />
<b>Notice</b>:  Undefined variable: time_line in <b>/home/vhosts/api.sovok.tv/v2.3/lib/api.class.php</b> on line <b>848</b><br />
{"epg":[{"progname":"\u041b\u043
Tarmik
 
Сообщения: 18
Зарегистрирован: 20 сен 2017, 08:41

Re: API v2.2 & 2.3 Вопросы и обсуждение.

Сообщение sovok » 28 сен 2017, 00:23

Tarmik писал(а):1. Вопрос: в REST API есть функция get_url - и согласно вашему API для неё нужен параметер gmt - т.е. ей надо указать текушее время.
На данный момент я так понимаю эта функция срабатывает и без gmt параметра, но online stream сразу же закаканчивается - в vlc-record примерно такие трайсы:

Всё существующее ПО работает на этом API. Пока ни у кого не возникло проблем с gmt. Из описания ясно, что gmt нужно использовать только для архива,для онлайн параметр не указывается. Это изначально было сделано для совместимости с API картины. При имеющемся выборе лучше использовать archive_next(2), если требуется архив.
sovok
 
Сообщения: 26
Зарегистрирован: 16 мар 2012, 12:53

Пред.След.

Вернуться в REST API

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0