Коди Фен Форум България
[УРОК] Как да създадем 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

Виждам, че имаш няколко различни web player-а: player/cbplayer/, /player/pak_player/ и може би други. Различните плейъри, може да имат различен формат на конфигурационните настройки и заради това евентуално ще се наложи да адаптираш кода си първо да разпознава плейъра и според него да излича видео линка по различен начин.


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

сега идва друга грешка от редовете
PLAY(name,url,iconimage)


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

Не казваш каква е грешката. Явно трябва да хвърлям боб. Ако не подаваш никаква обложка на PLAY( ) можеш да махнеш iconimage навсякъде от функцията PLAY ( ). Ако грешката засяга името т.е. name на конкретното заглавие, вероятно се дължи на кодировката за нелатиница. Опитай с name.encode('utf-8', 'ignore')


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

извинявам се забравих да постна логът
Код:
Error Type: <type 'exceptions.KeyError'>
                                           Error Contents: ('clip',)
                                           Traceback (most recent call last):
                                             File "C:\Users\SonyVaio\AppData\Roaming\Kodi\addons\plugin.video.vplaybg\default.py", line 186, in <module>
                                               PLAY(name,url,iconimage)
                                             File "C:\Users\SonyVaio\AppData\Roaming\Kodi\addons\plugin.video.vplaybg\default.py", line 94, in PLAY
                                               li = xbmcgui.ListItem(iconImage=iconimage, thumbnailImage=iconimage, path=jsonrsp['clip']['url'])
                                           KeyError: ('clip',)



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

Грешката показва, че в json отговора, който получаваш при заявката към url адреса, не се съдържа ключът clip т.е. подредбата на данните е различна, вероятно защото плейърът е различен. Виж предишният ми отговор.


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

да с другата връзка ще трябва да използвам regex

src=(.+?)data-res(.+?)/>

Код:
<video id="cb_video_js" class="video-js vjs-default-skin" width="320px" height="240px" poster="http://192.168.0.116/files/thumbs/High.Res.02/1507360901c8cef-1.jpg" >
<source src='http://192.168.0.116/files/videos/High.Res.02/1507360901c8cef-480.mp4' type="video/mp4" data-res="480" />
<source src='http://192.168.0.116/files/videos/High.Res.02/1507360901c8cef-720.mp4' type="video/mp4" data-res="720" />
<p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a></p>
</video>
 
така правилно ли е?


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

Влез тук: https://regex101.com/r/ENBVAk/1 и виж, че първата capture group "хваща" повече информация, отколкото трябва. Можеш в този сайт да си настройваш и тестваш регулярните изрази лесно и безплатно. Има и легенда долу в десния ъгъл.


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

src='(.+?)' type="video/mp4" data-res="(.+?)" />
това ми дава връзки от тоя сорт мисля че е най добре

https://regex101.com/r/ENBVAk/2


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

Така е добре.


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

сега кодът как да го структурирам в def play
ето какво направих
Код:
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('Грешка','Видеото липсва на сървъра!')")
и ето каква грешка ми дава
Код:
EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--
                                            - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                           Error Type: <type 'exceptions.IndentationError'>
                                           Error Contents: ('unexpected indent', ('C:\\Users\\SonyVaio\\AppData\\Roaming\\Kodi\\addons\\plugin.video.vplaybg\\default.py', 90, 2, '\t\tmatch = re.compile(\'src=\'(.+?)\' type="video/mp4" data-res="(.+?)" />\').findall(data)\n'))
                                           IndentationError: ('unexpected indent', ('C:\\Users\\SonyVaio\\AppData\\Roaming\\Kodi\\addons\\plugin.video.vplaybg\\default.py', 90, 2, '\t\tmatch = re.compile(\'src=\'(.+?)\' type="video/mp4" data-res="(.+?)" />\').findall(data)\n'))
                                           -->End of Python script error report<--
22:17:48.788 T:6516   ERROR: XFILE::CDirectory::GetDirectory - Error getting plugin://plugin.video.vplaybg/