1,376

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

hzhz :

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

Zyxmon :

PS Ничего, связанного с VK в обновлениях у разработчика не видно.

Обновления прекратились. Можно быть собрать то что имеется? Судя по логу добавился какой то апплет webapp и HTML5 player. Погонять бы.

1,377

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

На просторах инета нашёл это, сам не тестил еще, может кому пригодится:

Небольшой hint для плагина ivi.ru в xupnpd. Чтобы в плейлисте не нарываться на платный контент, который отказывается воспроизводится в xupnpd можно сделать небольшой финт ушами путем правки строк :
код:
- feed_url='http://www.ivi.ru/videos/all/movies/'..tfeed[2]..'/by_year/?'
+ feed_url='http://www.ivi.ru/videos/all/movies/'..tfeed[2]..'/by_year/free/?'
...
- feed_url='http://www.ivi.ru/videos/all/all/all/by_year/?year_from='..(year-1)..'&year_to='..year
+ feed_url='http://www.ivi.ru/videos/all/all/all/by_year/free/?year_from='..(year-1)..'&year_to='..year

1,378

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

С недавнего времени на первом месте поиска роликов на YouTube https://support.google.com/youtube/answ … u&rd=1
Кто знает, что нужно поправить, чтобы все работало как прежде?

1,379

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

Присоединяюсь. У меня теперь вместо всех видео сие.
Причом именно там где именно указано название пользователя, чтобы всего видео отображать.
Там где просто поиск по имени канала был - всё норм.

Отредактировано mesb (2015-05-08 12:24:24)

1,380

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

Пофакту ютуб стал прикрывать api v2.0 которое  использовалось в плагине xupnpd_youtube.lua.
Вынуждая всех переходить на api v3, а это требует переписывания плагина, потому либо у кого-то найдутся знания и время либо проходим мимо.
Чуть почитал доку, подозреваю что часть методов связанных с поиском как минимум затребует аутентификации, в принципе не проблема нагенерить в ютубе одноразовых паролей, однако влезание в мир моих просмотров не радует.

1,381

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

Ещё поковырялся, результаты пока таковы:
Вместо oauth 2 можно просто сгенерить api key для сервиса youtube.
Просто делать как тут написано:
https://developers.google.com/youtube/r … tion?hl=ru
Кей я выбирал как для браузерного приложения.
Я полагаю кей возможно надо будет генерить юзерам самостоятельно. Без него запросы к апи сильно лимитированы. Я за пару тестов уже влетел в лимит.

По доке в браузере без проблем отдаются описания видео и из id из которых потом можно строить линк для будущего m3u.

То на чём я залип, так это весь этот радостный апи v3 доступен только через https.
А это как минимум требует поддержки со стороны lua.

Отредактировано mesb (2015-05-09 22:08:26)

1,382

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

mesb :

Ещё поковырялся, результаты пока таковы:
Вместо oauth 2 можно просто сгенерить api key для сервиса youtube.
Просто делать как тут написано:
https://developers.google.com/youtube/r … tion?hl=ru
Кей я выбирал как для браузерного приложения.
Я полагаю кей возможно надо будет генерить юзерам самостоятельно. Без него запросы к апи сильно лимитированы. Я за пару тестов уже влетел в лимит.

По доке в браузере без проблем отдаются описания видео и из id из которых потом можно строить линк для будущего m3u.

То на чём я залип, так это весь этот радостный апи v3 доступен только через https.
А это как минимум требует поддержки со стороны lua.

я вот тоже таким же путем прошел, и уперся в https, lua похоже его не понимает.

а вот с плагином вконтакте разобрался, просто создал тут http://vk.com/dev свое Standalone-приложение в контакте, и его айди прописал в плагине.
в настройках его включил,
включил OpenAPI (в настройках OpenAPI указал локальный адрес роутера (у меня к примеру http://192.168.1.1 и и домен 192.168.1.1)
заработало!

Отредактировано sysmer (2015-05-11 20:37:08)

1,383

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

Да lua то понимает, более того там пакет в репах ентвари есть - luasec.
Я пока на примерах ищу как так там сделано, нигде в примерах луа я невидел команды http.download функции.
по умолчанию в луа есть работа с http и url.
Однако с https тоже есть варианты судя по гуглу. Мне просто пока знний нехватает.

П.С. Потолковал с автором кстати, у него нехватка времени и помощи сообщества.
Такчто если поправили нерабочий плаг и есть время зашлите автору ну или денег просто, у него там донат оказывается есть внизу странички -)

1,384

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

mesb :

Я пока на примерах ищу как так там сделано, нигде в примерах луа я невидел команды http.download функции.
по умолчанию в луа есть работа с http и url.

покури исходники, похоже http.download это самодельная функция на с++, как ее переделать, что бы она ssl понимала, в исходниках тарабарщина на этот счет для меня лично.

В общем я пошел другим путем, есть есть же консольная утилитка curl, луа может выполнять команды оболочки.
Переписал плагин, курлом дергаем апи ютуба, сохраянем во временные файлы в www директории xupnpd а потом уже оттуда читаем с помощью http.download и парсим.  Я поставил на роутер entware https://github.com/Entware/entware/ в нем есть и curl и xupnpd. В общем у меня все работает отлично. для работы плагина нужно получит апи кей. и в писать его  в текст плагина.

https://drive.google.com/file/d/0BzXuEV … sp=sharing

1,385

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

Посмотрел вашу наработку, ну в приципе то решение рабочее, хоть и вовлекает внешние программы ввиде курла.

Там пара моментов в вашем скрипте:
keyA который у вас *** - оно должно быть в начале с &key=*** если мне память не изменяет.
Плюс как вариант попробовать покрутить io.popen - оно умеет читать stdout - тогда можно обойтись без звена ввиде сохранения курлом чего-то на диск.

Нуи:
./plugins/xupnpd_youtube.lua:51: attempt to index field '?' (a nil value) - пока неуловил о чём оно, ибо то что скачал курл вроде как валидно свиду.

Отредактировано mesb (2015-05-23 22:54:07)

1,386

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

1:

local keyA = '&key=***' -- в место *** напишите свой апи кей ютуба брать тут https://console.developers.google.com

1,387

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

2:Мне просто непонравилось такая сцепка через файл на диске, не более того:

local jsonA = '"' .. cA .. userA .. keyA .. '"'
local url_data = io.popen("curl -k " .. jsonA)
local user_data = url_data:read('*all')
local rc = {url_data:close()}
-- local user_data=http.download(www_location .. '/json_user')

И вторая часть:

local jsonA = '"' .. iA .. uploads .. maxA .. keyA .. '"'
local url_data = io.popen("curl -k " .. jsonA)
local item_data = url_data:read('*all')
local rc = {url_data:close()}
-- local item_data=http.download(www_location .. '/json_items')

И ещё чутка дополнил.

url = 'http://www.youtube.com/watch?v=' .. items .. '&feature=youtube_gdata'

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

Но надо ещё тестить:
По названию каналов одного и тогоже пользователя.
Просто по названию, например myzen.

Отредактировано mesb (2015-05-24 00:16:45)

1,388

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

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

Одна из версий:
https://yadi.sk/d/vJW-67qhgqDzq

Отредактировано mesb (2015-05-24 13:18:44)

1,389

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

Надо key и другие настройки вынести в настройки веба, как переменные. А то вручную править lua не каждому дано.

1,390

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

Согласен, идея здравая, вообще точно была переменная - кол-во видосов.
Посмотрю вечером и поменяю переменные чтобы оно заработало.

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

П.С.
Просто одно дело когда ты ковыряешься в отдельном файлике плагина который просто поменять и вернуть если что-то пошло не так.
Другой вопрос - влезание в файлы UI и прочий код. По хорошему это наверное надо на каком-то гугл коде регнуться и данные влить в основной проект. На это нужно время.

П.П.С.
Глянул мельком - делается на раз два, насамом деле даже сделал сразу.
Но правильней отслеживать кол-во запрошенных видосов и выдёргивать с апи постранично. Иначе только 50 видосов.

Отредактировано mesb (2015-05-26 11:05:54)

1,391

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

1. По количеству видосов:
1.1. Проблем свиду нет, такая опция есть как в конфиге, так и в гуи, вынесена щитай.
1.2. Пока ковыряюсь с логикой в скрипте, ибо там получается нужно два цикла правильно щас посчитать если мы больше 50 видосов хотим, один нам как обычно дёргает результаты апи - его уже sysmer намутил, а второй будет повторно дёргать первый для выдачи следующей странички.

2. Кто-нибудь разобрался с тем как разрешение то выбирается?
Я гуглил по новому api и как-то этот вопрос от меня ускользнул походу.

3. По поводу вынесения кея в гуи - предлагаю пока это оставить в самый конец, автор согласился если что работу принять по почте а не через гуглокод, тамже иначе придётся затронуть ещё и ui файлики относящиеся к разделу config.

4. Также не знает ли кто что чаще можно встретить на девайсах мелких, wget или curl?
Вопрос чисто так, универсальности на будущее, ибо автор не горит желанием внедрения зависимости от ssl.

Отредактировано mesb (2015-05-26 19:36:38)

1,392

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

mesb :

Также не знает ли кто что чаще можно встретить на девайсах мелких, wget или curl?

Наверное, зависит от девайсов... Например, на младших моделях Кинетиков (Лайт и т.п.) curl в стоке V1 нет, wget - есть, но... он там не "полноценно" собранный - без поддержки SSL  sad
Итого вывод: Для мелких девайсов всё-равно придется что-то тащить в довесок к xupnpd (как уже было с mv в свое время)

Отредактировано Dr.Acid (2015-05-26 21:18:47)

1,393

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

sysmer :

Переписал плагин, курлом дергаем апи ютуба, сохраянем во временные файлы в www директории xupnpd а потом уже оттуда читаем с помощью http.download и парсим.

Тут кстати ещё интересный баг всплыл.
Обнаружил пока проверял тему с выносом переменной о количестве видосов.
Например в плейлисте всего 30 видосов, а цикл внутрях пытается по старому пройти все 50 - будет ошибка.

Полагаю надо будет ориентироваться на "totalResults": 33, который возвращается для случая менее 50, либо делать расчёт каким-то более извращённым способом. Типа тупо подсчитать кол-во интересующих нас строк в массиве или банально счётчиком прогонять в ходе цикла.

1,394

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

Едем дальше:
https://yadi.sk/d/48nfVg_6gu38X

Внешне всё как было, но:

- Исправлена ошибка если видосов было менее 50 у пользователя.
- Возвращена возможность указания из гуи кол-ва запросов.
- Добавлена возможность выдачи более 50 видосов с канала (там теперь прикручено отслеживание кол-ва страниц и переход на следующую)

Если надо по логике могу подсказать, это моё начальное знакомство с lua, потому в коде пока вполне себе велосипеды.
И встроена куча проверок когда видосов больше 50, мнее 50 и проч. Выглядит увы покамесь не очень, но постепенно попробуем привести к нормальному виду.

Отредактировано mesb (2015-05-27 13:32:09)

1,395

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

Подключился ещё товарищ, произвёл рефакторинг кода:
https://yadi.sk/d/mt5gHuo5gu8sZ

Стало реально красивее без костылей со счётчиками по все стороны big_smile

1,396

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

Добрый день!

Попробовал последнюю версию скрипта.
Создал проект на Google Developers Console, включил в нём YouTube Data API v3, далее сгенерировал ключ для браузерного приложения, вставил его в скрипт вместо ***
На маршрутизаторе установил curl из репозитория entware, xupnpd уже стоял (версия 1.033).
Добавил 1 feed YouTube (по имени пользователя).

При нажатии кнопки "Reload feeds" выдаёт ошибку:
./plugins/xupnpd_youtube.lua:94: attempt to index local 'x' (a nil value)

Отредактировано Andrew777 (2015-05-29 06:11:25)

1,397

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

Дайте линк на ютуб связанный с этим. Я попробую у себя.

Вообще базовая проверка, заходим на свой роутер по ссх, и проверяем работу курла например:

curl -k "https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername=a21072&key=***"

Выше приведённый пример после замены *** на ваш ключь должен выкинуть вам инфу о пользователе a21072.
Это канал AvtoMan Антон Воротников. Обратите внимание что это несколько отличается от того что вы видите в вебморде ютуба.

Отредактировано mesb (2015-05-29 17:18:54)

1,398

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

Уже разобрался.
XUPnPd у меня установлен не из entware, а вручную, соответственно лежит не в одной папке с программой curl.
После прописывания полного пути, т.е. "/opt/bin/curl -k " в двух строках скрипта, где curl вызывается, всё заработало!

Спасибо!

1,399

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

Ну кстати хорошее замечание, вынесу скорее всего в заголовок скрипта в переменные в следующей версии.
Периодами заглядывайте, у нас впереди ещё вынос задания ключа через гуи big_smile

1,400

Re: xupnpd ("улучшенный вариант pshare") - eXtensible UPnP agent

Хорошо, буду заглядывать  smile
Пользователей xupnpd так мало, наверное все уже Smart TV купили  big_smile

А почему нельзя один и тот же API key использовать всем пользователям ?
Он же вроде для приложения создаётся, а не для каждого клиента.

Отредактировано Andrew777 (2015-05-29 18:00:09)