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

Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины. (http://xbmc.ru/forum/index.php)
-   Помощь по плагинам (http://xbmc.ru/forum/forumdisplay.php?f=9)
-   -   TAM (torrent advanced manager) (http://xbmc.ru/forum/showthread.php?t=15920)

TDW1980 06.09.2018 08:38

TAM (torrent advanced manager)
 
Вложений: 1
Плагин позволяет просматривать содержимое торрент файлов, работать с магнитными ссылками и ACE_Stream ID. Воспроизводит контент или сохраняет в медиатеку.
Используется торрент-плагинами как посредник между плагинами и движками. Упрощает написание плагинов.
Самостоятельно умеет открывать локальные торренты и сохраняет историю просмотров из других плагинов.

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

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

API
PHP код:

plugin://plugin.video.tam/?mode=open&url=torrent[&info=info&purl=PluginUrl&engine=engine]
plugin://plugin.video.tam/?mode=play&url=torrent[&ind=22&engine=engine&ad=(0/1)]
plugin://plugin.video.tam/?mode=save&url=torrent[&info=info&purl=PluginUrl&engine=engine] 

torrent - ссылка на torrent-файл, magnet или ACE_ID
info - описание фильма в формате urllib.quote_plus(repr(info))
PluginUrl - pluginurl запускаемый из STRM для просмотра вариантов/поиска других торрентов.
engine - предпочитаемый движок (одно из значений: 'ace', 't2http', 'yatp', 'torrenter', 'elementum', 'xbmctorrent', 'ace_proxy', 'quasar', 'torrserver' )
ad - пропуск рекламы перед видео (принимает значения: 0 -не пропускать, 1 -пропускать)
пример:
Цитата:

listitem = xbmcgui.ListItem(Title)
purl='plugin://plugin.video.tam/?mode=open&url='+urllib.quote_plus(url)
xbmcplugin.addDirectoryItem(handle, purl, listitem, True)
Изменения:
0.0.1
- воспроизведение торрент файлов
0.0.3
- добавил ссылки для тестирования
- переработал код, выкинул лишнее, упростил
0.0.4 - в репо
- добавил возможность использовать описания (infoLabels)
0.0.6
- сохранение фильмов в strm (из контекста)
- преобразование torrent в magnet (опция)
- автоматическое воспроизведение однофайловых торентов (опция)
0.0.7
- добавил Quasar
- выбор вида для списка файлов
0.0.9
- информация о загрузке для ACE proxy (на паузе)
0.1.1
- история просмотров
- сортировка файлов по алфавиту
- контекстное меню для вызова настроек из других плагинов
0.2.1
- открытие локальных файлов
- поддержка torrserver
- сохранение сериалов своими силами
0.2.2
- работа над ошибками
0.2.3
- информация о загрузке на паузе для t2h
0.2.4
- сохранение NFO для фильмов
- возможность вызова плагина-источника вместо запуска STRM (см. API)


Пожелания предложения приветствуются
Последняя версия в репозитории https://github.com/tdw1980/tdw/raw/m...1980-1.0.2.zip
https://github.com/tdw1980/tdw/tree/...ugin.video.tam

vl.maksime 06.09.2018 10:20

Не понял, почему дополнение реализовано в виде видеодополнения, а не скрипта.
Ведь можно сделать подключаемую библиотеку, которая будет выполнять все те же действия и по окончанию выполнять ResolveURL. Но при этом не будет маячить в списке дополнений.

TDW1980 06.09.2018 10:47

Это пока так. На скорую руку. Уже есть идея реализовать например избранное, или открытие локальных торрентов или последние открытые/запущенные торренты.
Тогда использование контент плагина будет оправдано. Ну и это можно сказать альфа. Основной вопрос - А оно вообще надо? Интересно мнение / пожелания.

vl.maksime 06.09.2018 11:03

Я пока практикую создание плагинов для ресурсов, использующих API, до торрентов пока не добрался. Задумка хорошая и, на мой взгляд правильная. Давно пора бы сделать одну общую библиотеку для работы с торрентами, по аналогии с VideoHost, который у себя использует Dandy при работе с moonwalk.
Если правильно понял задумку, то планируется в качестве ссылки на контент вставлять ссылку не на свой плагин, а сразу на TAM, с указанием прямой ссылки. У такого подхода есть один минус, который, не позволит сохранять STRM ссылки на контент. Особенно чревато для ресурсов, у которых каждую неделю меняется домен. Я бы предусмотрел возможность формирования ссылки на торрент непосредственно из дополнения треккера, с последующим вызовом TAM.

-=Vd=- 06.09.2018 11:04

Ну раз пошла такая пьянка, пилю модуль - клиент TorrServer (пока в разработке).

-=Vd=- 06.09.2018 11:17

Очевидно для разработчиков первично создание модуля. Ну вот по-быстрому требования:
  1. Стриминг торрентов по ссылке, магниту, пути к торренту, RAW-данные торрент файла, ACE ID, ХЗ что ещё
  2. Получение списка файлов в раздаче
  3. Настройки для движков в одном месте
  4. Визуальный прогресс пребуферизации
  5. Инфо о скачивании при паузе
  6. возможность передачи VideoInfo
  7. Возможность воспроизведения через вызов plugin://

TDW1980 07.09.2018 11:33

0.0.3
- добавил ссылки для тестирования
- переработал код, выкинул лишнее, упростил

Кинопоиск с поддержкой TAM https://cloud.mail.ru/public/JkR3/sTWRBoXXY
Тестируем. Не забудьте включить TAM в качестве движка.

lysyi 10.09.2018 17:52

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

TDW1980 11.09.2018 10:05

А зачем? В чем смысл?

lyxstv 11.09.2018 10:56

Добавил поддержку TAM в свой плагин lrutor начиная с версии 0.0.29
К TDW просьба добавить tam в свой репозиторий т.к. не удобно ручками обновлять и команда open не работает по моему.


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

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