Коди Фен Форум България
[УРОК] Как да създадем video addon за Kodi Media Center - Версия за принтиране

+- Коди Фен Форум България (https://kodibg.org/forum)
+-- Форум: Разработка (https://kodibg.org/forum/forum-7.html)
+--- Форум: Програмиране (https://kodibg.org/forum/forum-8.html)
+--- Тема: [УРОК] Как да създадем video addon за Kodi Media Center (/thread-17.html)

Страници: 1 2 3 4 5 6


RE: [УРОК] Как да създадем video addon за Kodi Media Center - Majide - 13-10-2017

def PLAY ( )

   регулярен израз за плейър 1
       връща videourl

   регулярен израз за плейър 2
       връща videourl

   ...

   регулярен израз за извличане на обложка, описание # опционално
       връща cover, description

   конструиране на List.Item елемент. Подаваш му за path да използва videourl. Няма как всички гореописани регулярни изрази да сработят едновременно, но дори и да се случи, последният в описаният ред (който промени стойността на променливата videourl) ще определи крайният абсолютен адрес за зареждане на видеото.


RE: [УРОК] Как да създадем video addon за Kodi Media Center - ByJohnie - 13-10-2017

актуализирах си предният пост
оправих си грешката явно notepad+++ прави грешки но сега получавам
Error Contents: ('invalid syntax', ('C:\\Users\\SonyVaio\\AppData\\Roaming\\Kodi\\addons\\plugin.video.vplaybg\\default.py', 90, 28, '\tmatch = re.compile(\'src=\'(.+?)\' type="video/mp4" data-res="(.+?)" />\').findall(data)\n'))
SyntaxError: ('invalid syntax', ('C:\\Users\\SonyVaio\\AppData\\Roaming\\Kodi\\addons\\plugin.video.vplaybg\\default.py', 90, 28, '\tmatch = re.compile(\'src=\'(.+?)\' type="video/mp4" data-res="(.+?)" />\').findall(data)\n'))


RE: [УРОК] Как да създадем video addon за Kodi Media Center - Majide - 13-10-2017

В python много внимателно трябва да спазваш отстъпите, защото те контролират хода на програмата - това е скриптов език, не се компилира и командния интерпретатор се влияе от положението и броя на "спейсовете" и "табовете". Първо определи в сегашния ти текстов редактор какво ще ползваш (спейсове или табове) и след това провери там, където ти дава грешка в log файла (написан е конкретния ред) в какво се изразява неправилния или неочакван отстъп/indent.


RE: [УРОК] Как да създадем video addon за Kodi Media Center - ByJohnie - 13-10-2017

Код:
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS
Error Type: <type 'exceptions.UnboundLocalError'>
Error Contents: local variable 'data' referenced before assignment
Traceback (most recent call last):
File "C:\Users\SonyVaio\AppData\Roaming\Kodi\addons\plugin.video.vplaybg\default.py", line 190, in <module>
PLAY(name,url,iconimage)
File "C:\Users\SonyVaio\AppData\Roaming\Kodi\addons\plugin.video.vplaybg\default.py", line 90, in PLAY
match = re.compile('src=(.+?) type="video/mp4" data-res="(.+?)" />').findall(data)
UnboundLocalError: local variable 'data' referenced before assignment
тази грешка ми изважда и не мога да я фиксна


RE: [УРОК] Как да създадем video addon за Kodi Media Center - Majide - 14-10-2017

На 90-ти ред, опитваш да използваш data, а в data все още няма данни. Виж дали записваш скрейпнатата страница именно в data или в друга променлива. Ако името е правилно, значи не успяваш да скрейпнеш страницата.


RE: [УРОК] Как да създадем video addon за Kodi Media Center - ByJohnie - 14-10-2017

Код:
def PLAY(name,url,iconimage):
       link = 'http://192.168.0.116/watch_video.php?v=' + url #Конструираме адреса за достъп до видеото
       nl = 0
       match = re.compile('src=(.+?) type="video/mp4" data-res="(.+?)" />').findall(data)
       req = urllib2.Request(url)
       req.add_header('User-Agent', UA)
       response = urllib2.urlopen(req)
       #print 'request page url:' + url
       data=response.read()
       response.close()
       nl = nl + 1
       li = xbmcgui.ListItem(iconImage=iconimage, thumbnailImage=iconimage, path=nl)
       li.setInfo('video', { 'title': name })
       try:
                       xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, xbmcgui.ListItem(int(sys.argv[1]), True, li))
       except:
                       xbmc.executebuiltin("Notification('Грешка','Видеото липсва на сървъра!')")
направих и друг пример за екстракване на линкове и работи много добре, как може да го вградя в def play
Код:
from requests import get
r = requests.get("http://192.168.0.116/watch_video.php?v=HKD9OYN5KO35")
soup = BeautifulSoup(r.content, "html.parser")
for data in soup.findAll('div', class_='dropdown col-lg-12 pull-right no-padding text-right'):
   for a in data.findAll('a'):
       print(a.get('href'))
#print(a.text)

[Изображение: alllinks.png]


RE: [УРОК] Как да създадем video addon за Kodi Media Center - serdmit - 04-01-2020

Здравейте, благодаря Ви за изчерпателната информация. Ще се опитам да си направя адон на сайта ми. Ако не успея, ще потърся помощ във форума.


RE: [УРОК] Как да създадем video addon за Kodi Media Center - Majide - 02-08-2022

Направих тестов сайт, на който може да пробвате направата на addon за Kodi: https://andromeda.eu.org . Постарах се кода на сайта да е напълно опростен за по-лесна ориентация. Иначе, добавих стриймове от различни формати и локации за да бъде наистина полезен ресурс за отиграване на различни концепции: с регулярни изрази или чрез JSON API, с външни субтитри или вградени, с или без манифест, с директни линкове до стриймовете или външно хостнати... Предвидени са поне по 2 страници, за да е възможна направата на преход между тях. На много места в заглавията и описанията на елементите съм поставил съвети и препоръки, които също ще ви помогнат. Като ми остане време, може би дори ще актуализирам ръководството, което е доста поостаряло.



RE: [УРОК] Как да създадем video addon за Kodi Media Center - daido - 26-10-2022

Здравейте, търсих, гледах и в крайна сметка ще се осмеля да попитам. Наумил съм си да си направя нещо за собствено удобство и употреба. Разбира се, че видео добавка. Ползвах примерната https://github.com/romanvm/plugin.video.example , супер успях. Обаче ми се иска да не е по този начин, а линковете за филмите да се взимат от външни txt файлове. Да се работят те, а не всеки път main.py файла. Най-точно този вариант youtub. Само че това е старо и примерните файлове не се намират, пък и може да не са за коди 19+. Та проблема ми е, че дори и да си направя външните файлове, които се виждат на видеото, нямам представа какво пише в default.py.
Другото полезно и подобно което  намерих е това youtube, там файловете си ги има , но не работят за коди19+
Та ако някой може да помогне с някаква подобна примерна добавка ще ми е полезно и за други сигурно.
Ако нещо съм нарушил или досадил може поста ми да бъде изтрит. Благодаря на всеки който си е направил труда дори само да го прочете


RE: [УРОК] Как да създадем video addon за Kodi Media Center - Majide - 26-10-2022

(26-10-2022, 19:42)daido написа: ...Наумил съм си да си направя нещо ... не работят за коди19+...
Та ако някой може да помогне с някаква подобна примерна добавка ще ми е полезно и за други сигурно...
 Здравей! Влез ТУК и изтегли добавката bgonair или btv.plus. Разгледай как са направени (с парсване на сайтовете с регулярни изрази, при липса на API, което може да ползваме). Ако искаш пример на добавка, използваща някакво API, виж тази за nova.play или vikir (парсваме отговорите на заявките към API в JSON формат). Определено има разлика спрямо plugin.video.example , която лансират в официалния форум. Лично аз предпочитам, за да не са ми разхвърлени нещата (и да не превключвам през много прозорци), да си държа целия код в main.py файла - въпрос на предпочитание. Колкото до "линковете за филмите", пази си ги на външно място, над което имаш контрол (някакъв публичен сървър; може и в локалната мрежа, ако както казваш е за лична употреба) и нека добавката ти да ги чете от там. Така, когато ги актуализираш на сървъра, няма да се налага да ъпдейтваш също и добавката при потребителите! Успех!