Форум 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 вне форума   Ответить с цитированием
 
 


Здесь присутствуют: 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


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


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