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

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

Ответ
 
Опции темы Опции просмотра
Старый 21.07.2015, 13:32   #1
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,933
По умолчанию Yet Anther Torrent Player - еще одна реализация торрент-стриминга

Статус проекта: релиз. Актуальная версия - 3.x.x.

Поддержка платформ: реализована посредством набора бинарных модулей python_libtorrent от DiMartino и ко. Поддерживается Винда, разные версии Линукса, ОС Х и Андроид (с багами, т. е. не гарантировано).

Внимание: сообщения об ошибках без отладочных (дебаг) логов игнорируются. Для правильного снятия отладочного лога, кроме включения соответствующей настройки, дополнительно откройте меню "Настроить журнал отладки компонентов" и включите лог для LibcURL.
Нет лога - нет помощи.
Логи, пожалуйста, выкладывайте на http://xbmclogs.com или http://paste.ubuntu.com.
При проблемах с конкретным торрентом также давайте ссылки на этот торрент. Можно в личку, но ссылки именно на конкретный торрент, а не на треккер в целом. При этом ссылка на торрент не заменяет отладочный лог, который всё равно обязателен.

Общая информация

Как я уже писал в соседнем разделе, я давно копаюсь с собственной реализацией торрент-стриминга для своих потребностей и чисто в качестве хобби. Изначальная идея была сделать функциональный аналог Pulsar (его торррент-движка), но с поддержкой нормального сидирования (главный принцип торрентов: скачал - раздай другим) и многофайловых раздач. Что получилось - судите сами.
Сразу оговорюсь, данный плагин предназначен не для самостоятельного использования (хотя его и можно использовать в качестве простенького торрент-клиента), а для вызова из других плагинов, работающих с конкретными торрент-сайтами.
Плагин построен по клиент-серверному принципу. Серверная часть использует библиотеки python-libtorrent для работы с торрентами и bottle для реализации интерфейсов json-rpc и web. Все компоненты плагина, кроме самого модуля python-libtorrent и веб-интерфейса, написаны на Питоне. Клиентская часть веб-интерфейса написана на JavaScript с использованием библиотеки JQuery EasyUI.
И клиентская, и серверная часть находятся в одном плагине. На данном этапе поддерживается только схема 1 клиент - 1 сервер, т. е. одновременно с сервером может работать только один клиент.

Функциональность

- Поддержка любых типов торрентов (локальные и удаленные файлы .torrent, магнитные ссылки).
- Поддержка многофайловых раздач.
- Сидирование после просмотра (в т. ч. после выключения и повторного включения компа).
- Лимиты сидирования по коэффициенту и по времени. Возможно автоудаление торрентов по истечении указанного времени.
- Лимиты скорости загрузки и отдачи.
- Веб-интерфейс для управления торрентами.
- Управление торрентами из Коди.
- Поддержка прыжка в любую точку видео (экспериментальная возможность).


API

Для начала стриминга плагин достаточно вызвать по ссылке
Код:
plugin://plugin.video.yatp/?action=play&torrent=<url-encoded torent link>
При этом будет автоматически запущен видеофайл с максимальным размером.
Если стриминг запускается из другого плагина, не забудьте выставить правильные параметры 'IsPlayable' и isFolder, например:
PHP код:
list_item xbmcgui.ListItem(label='My cool torrent')
list_item.setProperty('IsPlayable''true')
url 'plugin://plugin.video.yatp/?action=play&torrent=<url-encoded torent link>'
xbmcplugin.addDirectoryItem(int(sys.argv[1]), urllist_itemisFolder=False
Поддерживаются локальные пути, URL-ссылки на файлы .torrent, а также магнитные ссылки.

Для отображения списка файлов в торренте используется ссылка:
Код:
plugin://plugin.video.yatp/?action=list_files&torrent=<url-encoded torent link>
Далее можно выбрать нужный файл для воспроизведения.
При таком варианте параметр 'isFodler' должен быть равен True, т. к. список файлов представляет собой виртуальную папку Коди.
Пример кода:
PHP код:
list_item xbmcgui.ListItem(label='My cool torrent')
url 'plugin://plugin.video.yatp/?action=list_files&torrent=<url-encoded torent link>'
xbmcplugin.addDirectoryItem(int(sys.argv[1]), urllist_itemisFolder=True
Для более низкоуровневого управления имеется интерфейс json-rpc:
путь - /json-rpc;
метод - POST;
заголовок - 'content-type': 'application/json'.

Веб-интерфейс
Доступ к веб-интерфейсу осуществляется по ссылке:
Код:
http://<адрес или имя компьютера>:8668
Порт меняется в настройках.
Пути:
/ (корневой) - простенький веб-интерфейс для управления торрентами;
/json-rpc (GET) - список доступных методов json-rpc с краткой справкой по каждому.
/json-rpc (POST) - отправка команд json-rpc и получение ответов;
/torrents-json - неотсортированный список торрентов в виде json.
Веб-интерфейс можно защитить паролем. Если включена защита, логин/пароль по умолчанию - yatp/yatp.

Интерфейс Коди

Торрентами также можно управлять из Коди (пункт меню "Торренты"). Управление осуществляется из контекстного меню. Клик на торренте открывает список видеофайлов в нём, которые можно проиграть.

Вопросы пожелания, замечания и конструктивная критика приветствуются.

Известные проблемы

- Под Windows, если имя пользователя содержит русские буквы, плагин работать не будет. В этом случае используете портативную установку в папку без русских символов в имени.
- При стриминге торрента в веб-интерфейсе показывается неправильное значение процента закачки. Это нормально.
- Возможна неправильная работа веб-интерфейса после обновления. Для исправления нажмите Ctrl+F5 в браузере, чтобы обновить скрипты и стили в кэше. Это рекомендуется делать после каждого обновления плагина, т. к. веб-интерфейс постоянно дорабатывается.
- После прыжка возможны помехи на видео.
- При буферизации перед началом воспроизведения загружается больший объем, чем указано в настройках. Это нормально. Воспроизведение начинается, как только загружены все нужные куски в начале и конце файла. От загруженного объема это прямо не зависит в силу особенностей применяемого алгоритма.
- На торрентах с большим размером куска (> 1 МБ) возможны всяческого рода проблемы: долгая буферизация, невозможность прыжка и т. п. С этим в текущей реализации ничего поделать нельзя.

Ссылки
Плагин можно взять в моем репозитории (раздел "Видеодополнения"): https://romanvm.github.io/kodi_repo/...anvm-2.0.0.zip
Wiki проекта: https://github.com/romanvm/kodi.yatp/wiki
Исходники на Github: https://github.com/romanvm/kodi.yatp
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.

Последний раз редактировалось Roman_V_M; 08.02.2016 в 18:25.
Roman_V_M вне форума   Ответить с цитированием
   
Старый 21.07.2015, 13:54   #2
Const86
Senior Member
 
Регистрация: 24.12.2012
Сообщений: 1,175
По умолчанию

А почему только под windows если написано на питоне? Что там такого платформо-зависимого?
А вообще очень плохо, что нет поддержки линуксов, потому что HTPC строят в основном на них.
Const86 вне форума   Ответить с цитированием
Старый 21.07.2015, 14:00   #3
Const86
Senior Member
 
Регистрация: 24.12.2012
Сообщений: 1,175
По умолчанию

Не работает

ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
Error Type: <type 'exceptions.ImportError'>
Error Contents: No module named requests
Traceback (most recent call last):
File "C:\Users\07pov_000\AppData\Roaming\Kodi\addons\pl ugin.video.yatp\server.py", line 27, in <module>
from libs.torrenter import Torrenter
File "C:\Users\07pov_000\AppData\Roaming\Kodi\addons\pl ugin.video.yatp\libs\torrenter.py", line 21, in <module>
from requests import get
ImportError: No module named requests
-->End of Python script error


Ругается, что нету модуля requests. Но где его взять?
Const86 вне форума   Ответить с цитированием
Старый 21.07.2015, 14:09   #4
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Const86 Посмотреть сообщение
А почему только под windows если написано на питоне? Что там такого платформо-зависимого?
В питоновской части ничего платформо-зависимого нет, но модуль python-libtorrent бинарный и компилируется под конкретную платформу. Я для себя его скомпилировал под Винду.

Цитата:
А вообще очень плохо, что нет поддержки линуксов, потому что HTPC строят в основном на них.
Вы читать умеете? Это альфа-версия, и по поводу многоплатформенности я все написал.

Модуль requests должен был подтянуться автоматически. Если же нет, его можно взять в репозитории Коди - раздел "Библиотеки дополнений" или "Программные библиотеки" (новый перевод).
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M вне форума   Ответить с цитированием
Старый 21.07.2015, 14:49   #5
kostya4000
Senior Member
 
Аватар для kostya4000
 
Регистрация: 12.01.2012
Сообщений: 426
По умолчанию

Попытался поставить под бокс на openelec на arm, при установке пишет неправильная структура дополнения, либторрент в системе стоит
kostya4000 вне форума   Ответить с цитированием
Старый 21.07.2015, 15:19   #6
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от kostya4000 Посмотреть сообщение
Попытался поставить под бокс на openelec на arm, при установке пишет неправильная структура дополнения, либторрент в системе стоит
Убрал ограничение на систему в addon.xml и добавил попытку импорта libtorrent из системы. Теперь, теоретически, сервер может заработать на тех платформах, где Коди использует системный Питон и под которые есть libtorrent в их пакетных репозиториях. Но проверить я это не могу. Ссылку в 1-м сообщении обновил.

Пока будет только так до тех пор, пока я не разберусь с libtorrent от DiMartino. Первая попытка использования "в лоб" оказалась неуспешной. Нужно разбираться.

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

Еще раз напомню, что это пока только альфа-версия, выпущенная для проверки основной функциональности и отлова багов.
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M вне форума   Ответить с цитированием
Старый 21.07.2015, 15:33   #7
kostya4000
Senior Member
 
Аватар для kostya4000
 
Регистрация: 12.01.2012
Сообщений: 426
По умолчанию

Установилось нормально, а что нужно для запуска сервера на отличных от windows платформах?
kostya4000 вне форума   Ответить с цитированием
Старый 21.07.2015, 15:39   #8
kostya4000
Senior Member
 
Аватар для kostya4000
 
Регистрация: 12.01.2012
Сообщений: 426
По умолчанию

перезагрузил приставку и сервер запустился, так что под arm на openelec работает сервер
kostya4000 вне форума   Ответить с цитированием
Старый 21.07.2015, 15:39   #9
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от kostya4000 Посмотреть сообщение
Установилось нормально, а что нужно для запуска сервера на отличных от windows платформах?
Статически скомплированный python-libtorrent. См. соответствующую тему в соседнем разделе. Как я понимаю, плагин-модуль libtorrent от DiMartino покрывает все основные платформы, но у меня с ним "в лоб" пока не получилось - вроде никаких ошибок, но магнитная ссылка не добавляется - либторрент тупо висит. Надо разбираться подробно, но для этого нужно время.
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M вне форума   Ответить с цитированием
Старый 21.07.2015, 15:42   #10
Roman_V_M
Senior Member
 
Аватар для Roman_V_M
 
Регистрация: 12.06.2011
Адрес: Киев
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от kostya4000 Посмотреть сообщение
перезагрузил приставку и сервер запустился, так что под arm на openelec работает сервер
Веб-интерфейс открывается нормально? Попробуйте поставить что-то на закачку. Закачиваться будет в папку, выбранную в настройках плагина. Позже думаю сделать некий вариант выбора папки (наверное, из числа источников видео).
__________________
Координатор русского перевода Kodi:
https://www.transifex.com/projects/p/kodi-main/
------------------------------
Raspberry PI 2 + LibreELEC 8 (Kodi 17)
Samsung Galaxy Tab A 10.1 + Kodi 17 for Android
------------------------------
Читаем и пополняем Википедию форума: http://xbmc.ru/wiki
------------------------------
На любые личные сообщения, не связанные с переводом Kodi, не отвечаю. Для обсуждений и советов есть форум.
Roman_V_M вне форума   Ответить с цитированием
Ответ
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Torrent-TV XBMC Официальный плагин Торрент-ТВ для XBMC itcommander Помощь по плагинам 1649 19.01.2021 04:08
Одна медиатека на 2 Xbmc watchmen Подсказки, описания и FAQ по XBMC 25 10.11.2014 00:40
Хороший боксик с поддержкой 1080p стриминга jevgenijo Поддержка платформы Android 37 12.11.2013 03:22
Одна медиатека для нескольких устройств. PaleGhost Общие темы для обсуждения 1 01.09.2012 00:51


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


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