Публикации: 2,034
Теми: 130
Член от: Oct 2015
Репутация:
199
Виждам, че имаш няколко различни web player-а: player/cbplayer/, /player/pak_player/ и може би други. Различните плейъри, може да имат различен формат на конфигурационните настройки и заради това евентуално ще се наложи да адаптираш кода си първо да разпознава плейъра и според него да излича видео линка по различен начин.
Публикации: 609
Теми: 32
Член от: May 2017
Репутация:
35
сега идва друга грешка от редовете
PLAY(name,url,iconimage)
Публикации: 2,034
Теми: 130
Член от: Oct 2015
Репутация:
199
Не казваш каква е грешката. Явно трябва да хвърлям боб. Ако не подаваш никаква обложка на PLAY( ) можеш да махнеш iconimage навсякъде от функцията PLAY ( ). Ако грешката засяга името т.е. name на конкретното заглавие, вероятно се дължи на кодировката за нелатиница. Опитай с name.encode('utf-8', 'ignore')
Публикации: 609
Теми: 32
Член от: May 2017
Репутация:
35
извинявам се забравих да постна логът
Код: 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',)
Публикации: 2,034
Теми: 130
Член от: Oct 2015
Репутация:
199
Грешката показва, че в json отговора, който получаваш при заявката към url адреса, не се съдържа ключът clip т.е. подредбата на данните е различна, вероятно защото плейърът е различен. Виж предишният ми отговор.
Публикации: 609
Теми: 32
Член от: May 2017
Репутация:
35
да с другата връзка ще трябва да използвам 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>
така правилно ли е?
Публикации: 2,034
Теми: 130
Член от: Oct 2015
Репутация:
199
Влез тук: https://regex101.com/r/ENBVAk/1 и виж, че първата capture group "хваща" повече информация, отколкото трябва. Можеш в този сайт да си настройваш и тестваш регулярните изрази лесно и безплатно. Има и легенда долу в десния ъгъл.
Публикации: 609
Теми: 32
Член от: May 2017
Репутация:
35
13-10-2017, 22:54
(Последна редакция: Преди 13-10-2017, 23:08 от ByJohnie.
Причина за редакция: грешен пряк път
)
src='(.+?)' type="video/mp4" data-res="(.+?)" />
това ми дава връзки от тоя сорт мисля че е най добре
https://regex101.com/r/ENBVAk/2
Публикации: 2,034
Теми: 130
Член от: Oct 2015
Репутация:
199
Публикации: 609
Теми: 32
Член от: May 2017
Репутация:
35
13-10-2017, 23:08
(Последна редакция: Преди 13-10-2017, 23:19 от ByJohnie.)
сега кодът как да го структурирам в 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/
|