Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины.

Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины. (http://xbmc.ru/forum/index.php)
-   Помощь по плагинам (http://xbmc.ru/forum/forumdisplay.php?f=9)
-   -   Разработка:pvr.puzzle.tv (http://xbmc.ru/forum/showthread.php?t=14438)

srg70 08.06.2017 23:53

Разработка: pvr.puzzle.tv
 
Вложений: 1
Статус: разработка.

Актуальная версия:
  • Коди 17 - 0.8.92 = 0.9.91
  • Коди 18 - 0.9.104
Мне очень понравилась идея замечательного плагина Пазл ТВ. Есть желание реализовать подобное для PVR интерфейса.

Плагин будет интегрировать контент различных ТВ провайдеров, предоставляющих API.
На сегодняшний день реализована поддержка:
  • Пазл ТВ сервер (вторая и третья версия)
  • Shara-TV.org. Слот Плейлист.
  • ottg.tv. Слот Плейлист.
  • OTTPlayer.org (OTT Club)
  • Edem.tv. Говорят, что работает с cbilling.tv и с shara.tv
  • sovok.tv (новый дизайн заброшенного pvr.sovok.tv от Alex Deryskyba aka codesnake).
  • Супер-помойка. Около 2000 каналов разного качества. Все в огригинальном виде: названия, группы, дубли и т.д. Как сайт выдал, так и есть.
Планирую добавлять других провайдеров по мере разработки.

В текущей версии не реализована интеграция между провайдерами. Т.е. активным может быть только один. Можно переключаться между ними, но данные пока не объединены.


Установка (Замечание). Только для Коди 17.* и 18.*!

PVR - это бинарный плагин, поэтому установка содержит 3 этапа (кроме Apple TV):
  • установить общий репозиторий
  • из общего репозитория установить репозиторий для нужной архитектуры
  • из репозитория для нужной архитектуры установить сам плагин
Общий репозиторий можно скачать здесь.

Внимание! Разрядность репозитория (32 или 64 бита) определяется установленной версией Коди, а не процессором или операционной системой. Например, в AlexElec для arm 912, система - 64 бита, а Коди - 32. Поэтому правильный репо - Linux arm v7.

Поддерживаются архитектуры:
  • Windows 32 bit
  • Windows 64 bit (только для Коди 18.*)
  • Mac OS X
  • Linux x86 32 & 64 bit
  • Linux arm v7 & 64 bit (aarch64)
  • Android arm v7 & 64 bit (aarch64) (для Коди 17.х - нужен рут, начиная с Коди 18 - работает сразу после установки)
  • Apple TV 4/4K

Внимание! В случае необходимости сменить репозиторий архитектуры, рекомендуется предварительно почистить папку кеша, где Коди хранит архивы установленных плагинов. На разных платформах эта папка расположена по-разному. Также есть плагины для чистки системы.

Чтобы запустить плагин на android в Коди 17.* нужно:
  • установить плагин из репо.
  • root (опционально) скопировать библиотеку libpvr.puzzle.tv.so из /sdcard/Android/data/org.xbmc.kodi/files/.kodi/addons/pvr.puzzle.tv в папку /data/data/org.xbmc.kodi/lib
  • root (опционально) подправить права доступа на 755. Юзер и группа должны быть system:system
К сожалению, эту процедуру нужно будет повторить после каждого обновления плагина.

Чтобы запустить плагин на Apple TV 4/4K нужно:
  • скачать Коди 17.6, адаптированный для ATV отсюда.
  • Собрать Коди с помощью XCode
  • Подписать аппликацию своим сертификатом
  • Установить аппликацию на приставку
или
  • Читаем/смотрим эту инструкцию.
  • Качаем оттуда же App Signer.
  • DEB файл лежит здесь.
Плагин находится в группе предустановленных ПВР, как симпл и т.д.

Подробная инструкция по установке (с картинками) от smartmobi

Общие функции:
  • Обновление EPG и архива через контекстное меню (пункт "Операции клиентов" для Коди 17.*).
  • Запись по таймеру EPG (замечания 1 , замечания 2).
  • Запись текущей передачи по кнопке записи (замечания 1, замечания 2).
  • Перезапуск эфирного канала при обрыве сигнала.
  • Таймшифт (в память или на диск)
  • Группы каналов
  • Оптимизированная работа с HLS потоками
  • Ручная подстройка смещения EPG

Пазл ТВ:
  • Поддержка архива
  • Интеграция архива и EPG
  • Опциональная перемотка в архивах
  • EPG в формате XMLTV
  • Поддержка Пазл Телегид
  • Контекстное меню обновления каналов.
  • Автоматическое управления потоками (замечение).

Плейлист:
  • Поддержка архива
  • Интеграция архива и EPG
  • Перемотка в архивах
  • Архивы в формате Flussonic.
  • Архивы в формате shift.

OTT Club:
  • Поддержка архива
  • Интеграция архива и EPG
  • Перемотка в архивах

Эдем ТВ:
  • EPG в формате XMLTV
  • Поддержка архива
  • Опциональная перемотка в архивах
  • Интеграция архива и EPG

Супер-помойка:
Совок ТВ:
  • Фильтрация по странам (опционально скрываемые группы. Например - немецкие [DE])
  • Поддержка архива
  • Интеграция архива и EPG
  • Перемотка в архивах

Внимание! Если таймшифт включен в режиме Файл, то текущий канал сначала записывается на диск, а только потом воспроизводится. Это негативно влияет на ресурс диска/флэшки.


Удаленное управление Kodi (aka RPC).

Начиная с версии 0.9.86 плагин использует в работе удаленное управление Kodi по HTTP. На текущий момент этого требуют некоторые функции плагина, но в будущем зависимость от этой функциональности Kodi может увеличиться.
Рекомендуется настроить "Удаленное управление по HTTP" в Настройки Kodi->Службы->Управление как показано ниже, и указать те же параметры в настройках плагина Общие->Разное->Удаленное управление Kodi



Хотелки:
  • Таймеры
  • Альтернативные EPG
  • Оптимизация загрузки EPG
  • Локальная запись трансляций
  • Расширить список провайдеров

Проблемы:
  • Коди иногда виснет, если запись внезапно обрывается
  • Иногда Коди зависает при входе
  • После долгого простоя/сна Коди иногда подвисает

Благодарности:

TDW1980 за оригинальную идею и Пазл ТВ на питоне.
Alex Deryskyba (codesnake) за реализацию Sovok TV API.
nightik за pvr.iptvsimple - отличный плагин и прекрасный пример реализации PVR-проекта.

TDW1980 09.06.2017 08:12

Готов посодействовать в плане провайдеров.

routir 09.06.2017 10:16

Спасибо!
Только недавно обсуждали с TDW1980 возможность реализации просмотра архивов в pvr, а тут уже все работает!
Интересно, какие сервисы с архивами можно к этому делу подключить:
Эдем ТВ?
tvtune.net (есть бесплатный архив в формате xspf)?

Поскольку отключен pvr simple, в котором работают обычные плейлисты, хотелось бы всё объединить - это реально?

srg70 09.06.2017 12:21

Цитата:

Сообщение от TDW1980 (Сообщение 113154)
Готов посодействовать в плане провайдеров.

Спасибо! Помощь нужна, особенно квалифицированная :wave:

srg70 09.06.2017 12:43

Цитата:

Сообщение от routir (Сообщение 113156)
Интересно, какие сервисы с архивами можно к этому делу подключить:
Эдем ТВ?
tvtune.net (есть бесплатный архив в формате xspf)?

Поскольку отключен pvr simple, в котором работают обычные плейлисты, хотелось бы всё объединить - это реально?

У них вроде бы нет API? Только плейлист?

По идее, плейлист подключить можно. Здесь может очень пригодиться опыт TDW1980. Правда, здесь больше вопросов чем ответов. И нужен сам плейлист для опытов :).

Бесплатный архив - это интересно. Надо будет почитать, спасибо.

Моя самая большая проблема - это время. Такой производительности как у TDW1980, я не смогу обеспечить, к сожалению.

routir 09.06.2017 14:43

Цитата:

Сообщение от srg70 (Сообщение 113158)
У них вроде бы нет API? Только плейлист?

Насколько я понял, Эдем ТВ используют api ottplayer
http://ottplayer.org/
Фактически на Смарт ТВ, винде и на андроиде все работает в их плеере идеально, можно прдключить несколько плейлистов разных провайдеров с архивами(логотипы, epg подтягиваются с сайта https://ottplayer.es/ )
Только вот api закрытого формата, но ребята, вроде, готовы сотрудничать.

TDW1980 09.06.2017 16:25

Вот набросал вместо API. C симплом работает
http://xbmc.ru/forum/showpost.php?p=...&postcount=256

srg70 09.06.2017 17:32

Спасибо, ребята, за информацию. Этого мне хватит на пол года :) (надеюсь, что шутка).

API от OTT выглядит оптимистически. Пазл-сервер - это вообще круто!
В обоих случаях нужно работать с плейлистом, чем я, видимо и займусь.
А потом постараюсь объединить контент из разных источников.

TDW1980 09.06.2017 17:52

Если нужен не плейлист а например json это легко реализовать.

srg70 09.06.2017 19:39

Да, json, наверное, будет проще, т.к. Совок на нем работает. Но для OTT все равно нужен плейлист. Так что даже и не знаю, что лучше :)
Я вот только одного не догоняю, если симплом работает, нафига козе баян? Архивы?

beerca 09.06.2017 19:53

спасибо, теперь вообще супер будет в разделе ТВ - 2пврклиента +сталкер портал

TDW1980 09.06.2017 20:51

1. С симплом доступен 1 поток на канал.
2. Симпл кеширует плейлист. Незнаю плюс это или минус но плейлист сам не обновляется.
3. Симпл приходится слегка обманывать редиректом ссылки на поток.

Это все можно поправить если разработать свое api. В общем опиши какие данные и в каком формате хотелось бы получать и оформи это как отдельного провайдера.

beerca 09.06.2017 22:50

на андроиде в коди 17,1 не работает, вот что пишет
22:43:00.422 T:18446744073007528240 ERROR: Unable to load /storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/pvr.puzzle.tv/pvr.puzzle.tv.so, reason: dlopen failed: couldn't map "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/pvr.puzzle.tv/pvr.puzzle.tv.so" segment 2: Operation not permitted
22:43:06.911 T:18446744073007528240 ERROR: UpdateAddons - failed to create add-on PVR Puzzle TV, status = 6
22:43:10.797 T:18446744073007528240 NOTICE: PVRManager - stopping

srg70 09.06.2017 23:01

Цитата:

Сообщение от beerca (Сообщение 113173)
на андроиде в коди 17,1 не работает, вот что пишет
22:43:00.422 T:18446744073007528240 ERROR: Unable to load

Это то, что я имел ввиду, когда писал, что нужен рут на андроиде. Тут либо плагин вместе с Коди (своя сборка), либо права на запуск программ с карты памяти.

srg70 09.06.2017 23:02

Цитата:

Сообщение от TDW1980 (Сообщение 113172)
В общем опиши какие данные и в каком формате хотелось бы получать и оформи это как отдельного провайдера.

Понял, спасибо. Подготовлюсь и доложу :)

beerca 09.06.2017 23:05

Цитата:

Сообщение от srg70 (Сообщение 113174)
Это то, что я имел ввиду, когда писал, что нужен рут на андроиде. Тут либо плагин вместе с Коди (своя сборка), либо права на запуск программ с карты памяти.

рут права есть на андроиде. Коди стоит не на карте памяти, как и любые др проги в приставке все куда устанавливает сам андроид.

srg70 10.06.2017 00:11

Цитата:

Сообщение от beerca (Сообщение 113173)
/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/pvr.puzzle.tv/pvr.puzzle.tv.so, reason: dlopen failed: couldn't map "/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/addons/pvr.puzzle.tv/pvr.puzzle.tv.so" segment 2: Operation not permitted

В том-то и дело, что Коди стоит там, откуда можно загружать исполняемый код, а плагин ставится на карточку. А с карты по умолчанию нельзя загружать исполняемый код. Все официальные ПВР встроены в сам Коди, который подписан цифровым кодом при построении. Поэтому добавить к нему ничего нельзя. Можно только пересобрать вместе с плагином. Или дать права на запуск с карточки. Попробуйте, пожалуйста, если есть такая возможность.

Здесь советуют перенести плагин в папку
/data/data/or.xbmc.xbmc/Cache/apk/assets. Возможно, цифровая подпись не так важна для рутированых устройств.

beerca 10.06.2017 07:48

Цитата:

Сообщение от srg70 (Сообщение 113177)
В том-то и дело, что Коди стоит там, откуда можно загружать исполняемый код, а плагин ставится на карточку. А с карты по умолчанию нельзя загружать исполняемый код. Все официальные ПВР встроены в сам Коди, который подписан цифровым кодом при построении. Поэтому добавить к нему ничего нельзя. Можно только пересобрать вместе с плагином. Или дать права на запуск с карточки. Попробуйте, пожалуйста, если есть такая возможность.

Здесь советуют перенести плагин в папку
/data/data/or.xbmc.xbmc/Cache/apk/assets. Возможно, цифровая подпись не так важна для рутированых устройств.

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

routir 10.06.2017 10:00

Цитата:

Сообщение от srg70 (Сообщение 113168)
Я вот только одного не догоняю, если симплом работает, нафига козе баян? Архивы?

Чего не хватает в Коди для полного счастья - это просмотр архивов прямо в pvr. Конечно, есть отдельные плагины под разных провайдеров, но их неудобно использовать из-за различной стилизации. Очень нужно универсальное решение.

arheon 10.06.2017 10:08

Ребят, хочу внести пять копеек.
1. Рут не все умеют делать.
2. Рут не всегда хорошо. К примеру, я лишаюсь KNOX в случае с Samsung (гарантия в основном)

beerca 10.06.2017 12:53

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

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

srg70 10.06.2017 16:37

Плагину рут не нужен. А для чего он да нужен, я написал выше.
Если перенос не заработал, хотелось бы увидеть лог.
В этой папке есть другие плагины? Попробуйте найти папку с официальными PVR и перенести туда.

beerca 10.06.2017 17:19

Вложений: 2
Цитата:

Сообщение от srg70 (Сообщение 113197)
Плагину рут не нужен. А для чего он да нужен, я написал выше.
Если перенос не заработал, хотелось бы увидеть лог.
В этой папке есть другие плагины? Попробуйте найти папку с официальными PVR и перенести туда.

я в папку с офф плагинами и перенес. При этом в родной папке остался так же - не запустился, если удалить в родной папке но оставить с офф плагинами, то в коди он он как не установленный.
вот лог

srg70 10.06.2017 17:43

По логу Коди грузит с карты.

Попробуйте так:
  1. Скопировать содержимое плагина куда-нибудь
  2. Удалить версию, установленную из репозитория.
  3. Перенести содержимое плагина из где-нибудь в папку с официальными ПВР
  4. Перезапустить Коди
  5. Установить плагин из списка официальных (должен присутствовать)

beerca 10.06.2017 18:32

Цитата:

Сообщение от srg70 (Сообщение 113202)
По логу Коди грузит с карты.

Попробуйте так:
  1. Скопировать содержимое плагина куда-нибудь
  2. Удалить версию, установленную из репозитория.
  3. Перенести содержимое плагина из где-нибудь в папку с официальными ПВР
  4. Перезапустить Коди
  5. Установить плагин из списка официальных (должен присутствовать)

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

srg70 10.06.2017 19:19

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

beerca 10.06.2017 19:56

Цитата:

Сообщение от srg70 (Сообщение 113207)
Спасибо, значит пока вычеркну андроид из списка поддерживаемых платформ.
Как вариант, можно собрать apk, но не думаю, что нужно. Возможно, ситуация изменится к лучшему в будущем.

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

routir 11.06.2017 00:15

Хотел поставить на Либреэлек, а в репозитории linux arm v7 пустота.

srg70 11.06.2017 07:58

Хм, странно.
Можно узнать, что написано у любого официального ПВР в addon.xml в таге <platform>?
Вроде бы должно быть <platform>linux</platform>

routir 11.06.2017 08:08

Цитата:

Сообщение от srg70 (Сообщение 113223)
Вроде бы должно быть <platform>linux</platform>

Так и есть, в том же pvr simple

А в сторонних везде <platform>all</platform>

srg70 11.06.2017 08:48

В логе чисто?
Вот прямая ссылка на 27 версию armv7. С репо буду думать.

srg70 11.06.2017 10:06

Цитата:

Сообщение от TDW1980 (Сообщение 113172)
В общем опиши какие данные и в каком формате хотелось бы получать и оформи это как отдельного провайдера.

Предлагаю черновик API по примеру совкового. Люди думали, и вроде как работает :).
Все это приблизительно и обсуждаемо. Я не знаю, какими данными ты располагаешь в Пазле, но с чего-то нужно начинать.

Формат:
httр://127.0.0.1:8089/api/<тип запроса>/<имя функции>?param1=value&param2=value

<тип запроса> = (xml|json)
<имя функции> - имена функций и их описания представлены ниже.
пример http://127.0.0.1:8089/api/json/channel_list

Методы:
  1. channel_list. Без параметров.
    Ответ:
    {"groups":[
    {
    "id":1,
    "name":"\u042d\u0444\u0438\u0440\u043d\u044b\u0435 "
    },...],
    "channels":[
    {
    "id":1,
    "name":"\u041f\u0435\u0440\u0432\u044b\u0439",
    "is_video":1,
    "is_protected":"0",
    "have_archive":"1",
    "icon":"\/logos\/1.png"
    "groups":"1,15,100"
    },..]
  2. epg?from=<unixtime время старта EPG>&period=<на сколько часов вперед>.
    Ответ:
    {"epg_list”:[
    {
    "id":"1", <id канала>
    "name":"\u041f\u0435\u0440\u0432\u044b\u0439", <имя канала. Не уверен, что нужно>
    "epg":[
    {
    "ut_start":"1496578500", <unixtime начала передачи>
    "prog_name":""\u0418\u0434\u0435\u0430\u043b\u044c \u043d\u044b\u0439 \u0440\u0435\u043c\u043e\u043d\u0442".", <название передачи>
    "description":"\u0421\u0421\u0421\u0420, 1983, \u0434\u0440\u0430\u043c\u0430" <описание передачи>
    },…]
    },…
    ]}
    Для последней передачи неизвестна продолжительность. Возможно стоит добавить для канала что-то вроде last_prog_duration
  3. live_url?id=<ИД канала>&protect_code=<код для закрытых каналов>
    Ответ:
    {"url":"http...}
    Возможно, стоит объединить с archive.
  4. archive?id=<ИД канала>&time=<unixtime время начала передачи>
    Ответ:
    {
    "archive":
    {"url":"http:…”,
    <что Пазл знает об архиве? Возможно, что-то пригодится>
    }}

bigbax 11.06.2017 10:20

Цитата:

Сообщение от srg70 (Сообщение 113225)
В логе чисто?
Вот прямая ссылка на 27 версию armv7. С репо буду думать.

ARMv7 log с включенным журналом https://pastebin.com/r2xByFw4
Канючит на libc++ . Не вдавался в подробности, но похоже тема с решением

routir 11.06.2017 13:53

У меня выдает''требуемое дополнение версии 5.2.1 не найдено''.

srg70 11.06.2017 14:22

Цитата:

Сообщение от bigbax (Сообщение 113227)
ARMv7 log с включенным журналом https://pastebin.com/r2xByFw4
Канючит на libc++ . Не вдавался в подробности, но похоже тема с решением

Спасбо за лог, очень помог. Пытаюсь побидить.

srg70 11.06.2017 14:23

Цитата:

Сообщение от routir (Сообщение 113235)
У меня выдает''требуемое дополнение версии 5.2.1 не найдено''.

Лог? Коди какой версии?

routir 11.06.2017 16:18

Джарвис 16.1
Лог Яндекс диск

srg70 11.06.2017 17:17

К сожалению, плагин только для 17-й версии. Бинарные плагины к этому строго относятся.

routir 12.06.2017 00:35

Значит буду переходить на Криптон :-)

srg70 12.06.2017 18:16

Цитата:

Сообщение от bigbax (Сообщение 113227)
ARMv7 log с включенным журналом https://pastebin.com/r2xByFw4
Канючит на libc++ . Не вдавался в подробности, но похоже тема с решением

Зависимость от libc++ на андроиде починил. Должно обновиться из репо. Вот на всякий случай прямая ссылка.


Текущее время: 17:55. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.