本文整理汇总了Python中xoze.snapvideo.Video类的典型用法代码示例。如果您正苦于以下问题:Python Video类的具体用法?Python Video怎么用?Python Video使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Video类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: retrieveVideoInfo
def retrieveVideoInfo(videoUrl):
try:
xbmcaddon.Addon('plugin.video.iplayer')
except:
dialog = xbmcgui.Dialog()
dialog.ok('[B][COLOR red]MISSING: [/COLOR][/B] BBC IPlayer v2 add-on', '', 'Please install BBC IPlayer v2 add-on created by Hitcher!', 'Available at http://code.google.com/p/xbmc-iplayerv2/')
raise
video_info = Video()
video_info.set_video_host(getVideoHost())
video_info.set_id(videoUrl)
video_info.set_url(videoUrl)
addon_url = 'plugin://plugin.video.iplayer/?'
video_params = videoUrl.split('/')
addon_url += 'pid=%s' % video_params[0]
video_info.add_stream_link(STREAM_QUAL_SD, addon_url)
video_info.set_thumb_image('http://www.bbc.co.uk/iplayer/images/episode/%s_512_288.jpg' % video_params[0])
video_info.set_name(video_params[1].replace('_', ' '))
logging.getLogger().debug('addon_url : %s' % addon_url)
video_info.set_stopped(False)
return video_info
开发者ID:kevintone,项目名称:tdbaddon,代码行数:21,代码来源:BBCiPlayerDelegator.py
示例2: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video = Video()
video.set_video_host(getVideoHost())
video.set_id(video_id)
try:
http.HttpClient().enable_cookies()
video_info_link = 'http://www.movshare.net/video/' + str(video_id)
html = http.HttpClient().get_html_content(url=video_info_link)
if re.search(r'Video hosting is expensive. We need you to prove you\'re human.', html):
html = http.HttpClient().get_html_content(url=video_info_link)
video_info_link = re.compile('<embed type="video/divx" src="(.+?)"').findall(html)
video_link = ''
if len(video_info_link) == 0:
domainStr = re.compile('flashvars.domain="(.+?)"').findall(html)[0]
fileStr = re.compile('flashvars.file="(.+?)"').findall(html)[0]
filekeyStr = re.compile('flashvars.filekey="(.+?)"').findall(html)[0]
video_info_link = domainStr + '/api/player.api.php?user=undefined&pass=undefined&codes=1&file=' + fileStr + '&key=' + filekeyStr
html = http.HttpClient().get_html_content(url=video_info_link)
video_link = re.compile(r'url=(.+?)&').findall(html)[0]
else:
video_link = video_info_link[0]
http.HttpClient().disable_cookies()
video.set_stopped(False)
video.add_stream_link(STREAM_QUAL_SD, video_link)
except:
video.set_stopped(True)
return video
开发者ID:kevintone,项目名称:tdbaddon,代码行数:32,代码来源:Movshare.py
示例3: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video = Video()
video.set_video_host(getVideoHost())
video.set_id(video_id)
try:
video_link = 'http://www.dailymotion.com/embed/video/' + str(video_id)
html = http.HttpClient().get_html_content(url=video_link)
http.HttpClient().disable_cookies()
matchFullHD = re.compile('"stream_h264_hd1080_url":"(.+?)"', re.DOTALL).findall(html)
matchHD = re.compile('"stream_h264_hd_url":"(.+?)"', re.DOTALL).findall(html)
matchHQ = re.compile('"stream_h264_hq_url":"(.+?)"', re.DOTALL).findall(html)
matchSD = re.compile('"stream_h264_url":"(.+?)"', re.DOTALL).findall(html)
matchLD = re.compile('"stream_h264_ld_url":"(.+?)"', re.DOTALL).findall(html)
dm_LD = None
dm_SD = None
dm_720 = None
dm_1080 = None
if matchFullHD:
dm_1080 = urllib.unquote_plus(matchFullHD[0]).replace("\\", "")
if matchHD:
dm_720 = urllib.unquote_plus(matchHD[0]).replace("\\", "")
if dm_720 is None and matchHQ:
dm_720 = urllib.unquote_plus(matchHQ[0]).replace("\\", "")
if matchSD:
dm_SD = urllib.unquote_plus(matchSD[0]).replace("\\", "")
if matchLD:
dm_LD = urllib.unquote_plus(matchLD[0]).replace("\\", "")
if dm_LD is not None:
video.add_stream_link(STREAM_QUAL_LOW, dm_LD,addUserAgent=False , addReferer=False, refererUrl=video_link)
if dm_SD is not None:
video.add_stream_link(STREAM_QUAL_SD, dm_SD,addUserAgent=False , addReferer=False, refererUrl=video_link)
if dm_720 is not None:
video.add_stream_link(STREAM_QUAL_HD_720, dm_720,addUserAgent=False , addReferer=False, refererUrl=video_link)
if dm_1080 is not None:
video.add_stream_link(STREAM_QUAL_HD_1080, dm_1080,addUserAgent=False , addReferer=False, refererUrl=video_link)
if len(video.get_streams()) == 0:
video.set_stopped(True)
else:
video.set_stopped(False)
except Exception, e:
logging.getLogger().error(e)
video.set_stopped(True)
开发者ID:msports,项目名称:mw,代码行数:45,代码来源:Dailymotion.py
示例4: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video = Video()
video.set_video_host(getVideoHost())
video.set_id(video_id)
try:
http.HttpClient().enable_cookies()
video_info_link = 'http://www.divxstage.eu/video/' + str(video_id)
html = http.HttpClient().get_html_content(url=video_info_link)
if re.search(r'Video hosting is expensive. We need you to prove you\'re human.', html):
html = http.HttpClient().get_html_content(url=video_info_link)
http.HttpClient().disable_cookies()
fileKey = re.compile('flashvars.filekey="(.+?)";').findall(html)[0]
video_info_link = 'http://www.divxstage.eu/api/player.api.php?file=' + video_id + '&key=' + fileKey
html = http.HttpClient().get_html_content(url=video_info_link)
video_link = re.compile('url=(.+?)&').findall(html)[0]
video.set_stopped(False)
video.add_stream_link(STREAM_QUAL_SD, video_link)
except Exception, e:
logging.exception(e)
video.set_stopped(True)
开发者ID:zuberv,项目名称:xceltv,代码行数:22,代码来源:DivXStage.py
示例5: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = Video()
video_info.set_video_host(getVideoHost())
video_info.set_id(video_id)
try:
video_link = 'http://playcineflix.com/' + str(video_id) + '.mp4'
video_info.add_stream_link(STREAM_QUAL_SD, video_link)
video_info.set_stopped(False)
except:
video_info.set_stopped(True)
return video_info
开发者ID:kevintone,项目名称:tdbaddon,代码行数:12,代码来源:PlayCineFlix.py
示例6: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = Video()
video_info.set_video_host(getVideoHost())
video_info.set_id(video_id)
try:
video_info_link = 'http://www.zalaa.com/' + str(video_id)
html = http.HttpClient().get_html_content(url=video_info_link)
link = ''.join(html.splitlines()).replace('\'', '"')
video_link = re.compile('s1.addVariable\("file","(.+?)"\);').findall(link)[0]
video_info.add_stream_link(STREAM_QUAL_SD, video_link)
video_info.set_stopped(False)
except:
video_info.set_video_stopped(True)
return video_info
开发者ID:kevintone,项目名称:tdbaddon,代码行数:16,代码来源:Zalaa.py
示例7: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video = Video()
video.set_video_host(getVideoHost())
video.set_id(video_id)
try:
video_link = 'http://tvlogy.to/watch.php?v=' + str(video_id)
html = http.HttpClient().get_html_content(url=video_link)
video_link = re.compile("file: '(.+?)',").findall(html)[0]
logging.debug('get video info: ' + video_link)
logging.getLogger().debug('video_link ' + str(video_link))
video.set_stopped(False)
video.set_name("TVlogy Video")
video.add_stream_link(STREAM_QUAL_HD_720, video_link)
except:
video.set_stopped(True)
return video
开发者ID:RozebMomin,项目名称:KodiAddons,代码行数:17,代码来源:TVLogy.py
示例8: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = Video()
video_info.set_video_host(getVideoHost())
video_info.set_id(video_id)
try:
video_info_link = 'http://www.videozer.com/player_control/settings.php?v=' + video_id + '&fv=v1.1.45'
jsonObj = json.load(urllib.urlopen(video_info_link))
key1 = jsonObj["cfg"]["environment"]["rkts"]
key2 = jsonObj["cfg"]["login"]["pepper"]
key3 = jsonObj["cfg"]["ads"]["lightbox2"]["time"]
values = binascii.unhexlify(decrypt(jsonObj["cfg"]["login"]["spen"], jsonObj["cfg"]["login"]["salt"], 950569)).split(';')
spn = http.parse_url_params(values[0])
outk = http.parse_url_params(values[1])
ikey = getikey(int(outk["ik"]))
urlKey = ''
for spnkey in spn:
spnval = spn[spnkey]
if spnval == '1':
cypher = jsonObj["cfg"]["info"]["sece2"]
urlKey = urlKey + spnkey + '=' + decrypt(cypher, key1, ikey, ln=256) + '&'
if spnval == '2':
cypher = jsonObj["cfg"]["ads"]["g_ads"]["url"]
urlKey = urlKey + spnkey + '=' + decrypt(cypher, key1, ikey) + '&'
if spnval == '3':
cypher = jsonObj["cfg"]["ads"]["g_ads"]["type"]
urlKey = urlKey + spnkey + '=' + decrypt(cypher, key1, ikey, 26, 25431, 56989, 93, 32589, 784152) + '&'
if spnval == '4':
cypher = jsonObj["cfg"]["ads"]["g_ads"]["time"]
urlKey = urlKey + spnkey + '=' + decrypt(cypher, key1, ikey, 82, 84669, 48779, 32, 65598, 115498) + '&'
if spnval == '5':
cypher = jsonObj["cfg"]["login"]["euno"]
urlKey = urlKey + spnkey + '=' + decrypt(cypher, key2, ikey, 10, 12254, 95369, 39, 21544, 545555) + '&'
if spnval == '6':
cypher = jsonObj["cfg"]["login"]["sugar"]
urlKey = urlKey + spnkey + '=' + decrypt(cypher, key3, ikey, 22, 66595, 17447, 52, 66852, 400595) + '&'
urlKey = urlKey + "start=0"
video_link = ""
for videoStrm in jsonObj["cfg"]["quality"]:
if videoStrm["d"]:
video_link = str(base64.b64decode(videoStrm["u"]))
if video_link == "":
video_info.set_video_stopped(False)
raise Exception("VIDEO_STOPPED")
video_link = video_link + '&' + urlKey
video_info.set_name(jsonObj["cfg"]["info"]["video"]["title"])
video_info.set_thumb_image(jsonObj["cfg"]["environment"]["thumbnail"])
video_info.set_stopped(False)
video_info.add_stream_link(STREAM_QUAL_SD, video_link)
except:
video_info.set_video_stopped(True)
return video_info
开发者ID:zuberv,项目名称:xceltv,代码行数:57,代码来源:Videozer.py
示例9: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video = Video()
video.set_video_host(getVideoHost())
video.set_id(video_id)
try:
video_info_link = 'http://www.facebook.com/video/video.php?v=' + str(video_id)
html = urllib.unquote_plus(http.HttpClient().get_html_content(url=video_info_link).replace('\u0025', '%'))
video_title = re.compile('addVariable\("video_title"\, "(.+?)"').findall(html)[0]
img_link = re.compile('addVariable\("thumb_url"\, "(.+?)"').findall(html)[0]
high_video_link = re.compile('addVariable\("highqual_src"\, "(.+?)"').findall(html)
low_video_link = re.compile('addVariable\("lowqual_src"\, "(.+?)"').findall(html)
video_link = re.compile('addVariable\("video_src"\, "(.+?)"').findall(html)
if len(high_video_link) > 0:
video.add_stream_link(STREAM_QUAL_HD_720, high_video_link[0])
if len(low_video_link) > 0:
video.add_stream_link(STREAM_QUAL_SD, low_video_link[0])
if len(video_link) > 0:
video.add_stream_link(STREAM_QUAL_SD, video_link[0])
video.set_stopped(False)
video.set_name(video_title)
video.set_thumb_image(img_link)
except Exception, e:
video.set_stopped(True)
logging.getLogger().error(e)
开发者ID:zuberv,项目名称:xceltv,代码行数:28,代码来源:Facebook.py
示例10: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video = Video()
video.set_video_host(getVideoHost())
video.set_id(video_id)
try:
video_link = 'http://config.playwire.com/' + str(video_id) + '.json'
html = http.HttpClient().get_html_content(url=video_link)
jsonObj = json.loads(html)
logging.getLogger().debug(jsonObj)
img_link = str(jsonObj['poster'])
video_link = str(jsonObj['src'])
logging.debug('get video info: ' + video_link)
video_info = re.compile('config.playwire.com/(.+?)/videos/v2/(.+?)/manifest.f4m').findall(video_link)[0]
logging.getLogger().debug('video_serial_no ' + str(video_info))
video_link = 'http://cdn.phoenix.intergi.com/' + video_info[0] + '/videos/' + video_info[1] + '/video-sd.mp4?hosting_id=' + video_info[0]
logging.getLogger().debug('video_link ' + str(video_link))
video.set_stopped(False)
video.set_thumb_image(img_link)
video.set_name("PLAYWIRE Video")
if re.search(r'\Artmp', video_link):
video.add_stream_link(STREAM_QUAL_HD_720, video_link)
else:
video.add_stream_link(STREAM_QUAL_HD_720, video_link)
except:
video.set_stopped(True)
return video
开发者ID:zuberv,项目名称:xceltv,代码行数:29,代码来源:Playwire.py
示例11: retrieveAudioInfo
def retrieveAudioInfo(audioUrl):
url = 'https://api.soundcloud.com/' + audioUrl
jObj = json.loads(http.HttpClient().get_html_content(url=url))
video_info = Video()
video_info.set_video_host(getVideoHost())
video_info.set_id(url)
video_info.add_stream_link(STREAM_QUAL_SD, jObj['http_mp3_128_url'])
video_info.set_thumb_image('')
video_info.set_name('')
logging.getLogger().debug(jObj['http_mp3_128_url'])
video_info.set_stopped(False)
return video_info
开发者ID:kevintone,项目名称:tdbaddon,代码行数:14,代码来源:SoundCloud.py
示例12: retrieveVideoInfo
def retrieveVideoInfo(videoUrl):
video_info = Video()
video_info.set_video_host(getVideoHost())
video_info.set_id(videoUrl)
sources = []
hosted_media = urlresolver.HostedMediaFile(url=videoUrl)
sources.append(hosted_media)
source = urlresolver.choose_source(sources)
stream_url = ''
if source:
stream_url = source.resolve()
video_info.set_stopped(False)
video_info.set_thumb_image('')
video_info.set_name(' ')
video_info.add_stream_link(STREAM_QUAL_SD, stream_url)
return video_info
开发者ID:zuberv,项目名称:xceltv,代码行数:19,代码来源:UrlResolverDelegator.py
示例13: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video = Video()
video.set_video_host(getVideoHost())
video.set_id(video_id)
try:
video_link = 'https://config.playwire.com/videos/v2/%s/player.json' % str(video_id)
logging.debug('get video info: ' + video_link)
html = http.HttpClient().get_html_content(url=video_link)
jsonObj = json.loads(html)
video_link = str(jsonObj['src'])
video_info = re.compile('config.playwire.com/(.+?)/videos/v2/(.+?)/manifest.f4m').findall(video_link)[0]
video_link = 'http://cdn.phoenix.intergi.com/' + video_info[0] + '/videos/' + video_info[1] + '/video-sd.mp4?hosting_id=' + video_info[0]
img_link = str(jsonObj['poster'])
name = str(jsonObj['title'])
video.add_stream_link(STREAM_QUAL_SD, video_link)
video.set_stopped(False)
video.set_thumb_image(img_link)
video.set_name(name)
except Exception, e:
logging.getLogger().error(e)
video.set_stopped(True)
开发者ID:kevintone,项目名称:tdbaddon,代码行数:22,代码来源:Playwire.py
示例14: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = Video()
video_info.set_video_host(getVideoHost())
video_info.set_id(video_id)
try:
video_info_link = 'http://stagevu.com/video/' + str(video_id)
html = http.HttpClient().get_html_content(url=video_info_link)
html = ''.join(html.splitlines()).replace('\t', '').replace('\'', '"')
match = re.compile('<param name="src" value="(.+?)"(.+?)<param name="movieTitle" value="(.+?)"(.+?)<param name="previewImage" value="(.+?)"').findall(html)
video_info.add_stream_link(STREAM_QUAL_SD, match[0][0])
video_info.set_name(match[0][2])
video_info.set_thumb_image(match[0][4])
video_info.set_stopped(False)
except:
video_info.set_stopped(True)
return video_info
开发者ID:zuberv,项目名称:xceltv,代码行数:18,代码来源:StageVU.py
示例15: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video = Video()
video.set_video_host(getVideoHost())
video.set_id(video_id)
try:
http.HttpClient().enable_cookies()
video_info_link = 'http://www.dittotv.com/' + str(video_id)
html = http.HttpClient().get_html_content(url=video_info_link)
video_link = re.compile('"file"\:"(.+?)"').findall(html)[0]
video.set_stopped(False)
video.add_stream_link(STREAM_QUAL_SD, video_link)
except Exception, e:
logging.exception(e)
video.set_stopped(True)
开发者ID:kevintone,项目名称:tdbaddon,代码行数:15,代码来源:DittoTV.py
示例16: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = Video()
video_info.set_video_host(getVideoHost())
video_info.set_id(video_id)
try:
http.HttpClient().enable_cookies()
video_info.set_thumb_image('http://i.ytimg.com/vi/' + video_id + '/default.jpg')
html = http.HttpClient().get_html_content(url='http://www.youtube.com/get_video_info?video_id=' + video_id + '&asv=3&el=detailpage&hl=en_US')
stream_map = None
html = html.decode('utf8')
html = html.replace('\n', '')
html = html.replace('\r', '')
html = unicode(html + '&').encode('utf-8')
if re.search('status=fail', html):
# XBMCInterfaceUtils.displayDialogMessage('Video info retrieval failed', 'Reason: ' + ((re.compile('reason\=(.+?)\.').findall(html))[0]).replace('+', ' ') + '.')
logging.getLogger().info('YouTube video is removed for Id = ' + video_id + ' reason = ' + html)
video_info.set_stopped(True)
return video_info
title = urllib.unquote_plus(re.compile('title=(.+?)&').findall(html)[0]).replace('/\+/g', ' ')
video_info.set_name(title)
stream_info = None
if not re.search('url_encoded_fmt_stream_map=&', html):
stream_info = re.compile('url_encoded_fmt_stream_map=(.+?)&').findall(html)
stream_map = None
if (stream_info is None or len(stream_info) == 0) and re.search('fmt_stream_map": "', html):
stream_map = re.compile('fmt_stream_map": "(.+?)"').findall(html)[0].replace("\\/", "/")
elif stream_info is not None:
stream_map = stream_info[0]
if stream_map is None:
params = http.parse_url_params(html)
logging.getLogger().debug('ENTERING live video scenario...')
for key in params:
logging.getLogger().debug(key + " : " + urllib.unquote_plus(params[key]))
hlsvp = urllib.unquote_plus(params['hlsvp'])
playlistItems = http.HttpClient().get_html_content(url=hlsvp).splitlines()
qualityIdentified = None
for item in playlistItems:
logging.getLogger().debug(item)
if item.startswith('#EXT-X-STREAM-INF'):
if item.endswith('1280x720'):
qualityIdentified = STREAM_QUAL_HD_720
elif item.endswith('1080'):
qualityIdentified = STREAM_QUAL_HD_1080
elif item.endswith('854x480'):
qualityIdentified = STREAM_QUAL_SD
elif item.endswith('640x360'):
qualityIdentified = STREAM_QUAL_LOW
elif item.startswith('http') and qualityIdentified is not None:
videoUrl = http.HttpClient().add_http_cookies_to_url(item, extraExtraHeaders={'Referer':'https://www.youtube.com/watch?v=' + video_id})
video_info.add_stream_link(qualityIdentified, videoUrl)
qualityIdentified = None
video_info.set_stopped(False)
return video_info
stream_map = urllib.unquote_plus(stream_map)
logging.getLogger().debug(stream_map)
formatArray = stream_map.split(',')
streams = {}
for formatContent in formatArray:
if formatContent == '':
continue
formatUrl = ''
try:
formatUrl = urllib.unquote(re.compile("url=([^&]+)").findall(formatContent)[0]) + "&title=" + urllib.quote_plus(title)
except Exception, e:
logging.getLogger().error(e)
if re.search("rtmpe", stream_map):
try:
conn = urllib.unquote(re.compile("conn=([^&]+)").findall(formatContent)[0]);
host = re.compile("rtmpe:\/\/([^\/]+)").findall(conn)[0];
stream = re.compile("stream=([^&]+)").findall(formatContent)[0];
path = 'videoplayback';
formatUrl = "-r %22rtmpe:\/\/" + host + "\/" + path + "%22 -V -a %22" + path + "%22 -f %22WIN 11,3,300,268%22 -W %22http:\/\/s.ytimg.com\/yt\/swfbin\/watch_as3-vfl7aCF1A.swf%22 -p %22http:\/\/www.youtube.com\/watch?v=" + video_id + "%22 -y %22" + urllib.unquote(stream) + "%22"
except Exception, e:
logging.getLogger().error(e)
if formatUrl == '':
continue
logging.getLogger().debug('************************')
logging.getLogger().debug(formatContent)
if(formatUrl[0: 4] == "http" or formatUrl[0: 2] == "-r"):
formatQual = re.compile("itag=([^&]+)").findall(formatContent)[0]
if not re.search("signature=", formatUrl):
sig = re.compile("sig=([^&]+)").findall(formatContent)
if sig is not None and len(sig) == 1:
formatUrl += "&signature=" + sig[0]
else:
sig = re.compile("s=([^&]+)").findall(formatContent)
if sig is not None and len(sig) == 1:
formatUrl += "&signature=" + parseSignature(sig[0])
qual = formatQual
url = http.HttpClient().add_http_cookies_to_url(formatUrl, addHeaders=False,addCookies=False, extraExtraHeaders={'Referer':'https://www.youtube.com/watch?v=' + video_id})
streams[int(qual)] = url
开发者ID:kevintone,项目名称:tdbaddon,代码行数:99,代码来源:YouTube.py
示例17: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = Video()
video_info.set_video_host(getVideoHost())
video_info.set_id(video_id)
try:
http.HttpClient().enable_cookies()
html = http.HttpClient().get_html_content(url='http://www.vplay.ro/watch/' + str(video_id))
html = http.HttpClient().get_html_content(url='http://www.vplay.ro/play/dinosaur.do', params={'key':str(video_id)})
params = http.parse_url_params(html)
video_link = http.get_redirected_url(url=params['nqURL'])
http.HttpClient().disable_cookies()
video_info.set_stopped(False)
video_info.add_stream_link(STREAM_QUAL_SD, video_link)
video_info.set_thumb_image(params['th'])
except:
video_info.set_stopped(True)
return video_info
开发者ID:kevintone,项目名称:tdbaddon,代码行数:17,代码来源:Vplay_ro.py
示例18: retrieveVideoInfo
def retrieveVideoInfo(videoUrl):
try:
xbmcaddon.Addon('plugin.video.vevo')
except:
dialog = xbmcgui.Dialog()
dialog.ok('[B][COLOR red]MISSING: [/COLOR][/B] VEVO add-on', '', 'Please install VEVO add-on created by BlueCop!', 'Available at http://code.google.com/p/bluecop-xbmc-repo/')
raise
video_info = Video()
video_info.set_video_host(getVideoHost())
video_info.set_id(videoUrl)
addon_url = 'plugin://plugin.video.vevo/?'
vevo_id = videoUrl.split('/')[-1]
if videoUrl.startswith('playlist'):
url = urllib.quote_plus('http://api.vevo.com/mobile/v2/playlist/%s.json?' % vevo_id)
addon_url += 'url=%s' % url
addon_url += '&mode=playPlaylist'
addon_url += '&duration=210'
addon_url += '&page=1'
video_info.add_stream_link(XBMC_EXECUTE_PLUGIN, addon_url)
video_info.set_thumb_image('')
video_info.set_name(' ')
else:
url = 'http://videoplayer.vevo.com/VideoService/AuthenticateVideo?isrc=%s&extended=true' % vevo_id
video = json.loads(http.HttpClient().get_html_content(url=url))['video']
title = ''
try:title = video['title'].encode('utf-8')
except: title = ''
video_image = video['imageUrl']
if len(video['featuredArtists']) > 0:
feats = ''
for featuredartist in video['featuredArtists']:
# featuredartist_image = featuredartist['image_url']
featuredartist_name = featuredartist['artistName'].encode('utf-8')
feats += featuredartist_name + ', '
feats = feats[:-2]
title += ' (ft. ' + feats + ')'
addon_url += 'url=%s' % vevo_id
addon_url += '&mode=playVideo'
addon_url += '&duration=210'
video_info.add_stream_link(STREAM_QUAL_SD, addon_url)
video_info.set_thumb_image(video_image)
video_info.set_name(title)
logging.getLogger().debug(addon_url)
video_info.set_stopped(False)
return video_info
开发者ID:zuberv,项目名称:xceltv,代码行数:46,代码来源:VevoDelegator.py
示例19: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = Video()
video_info.set_video_host(getVideoHost())
video_info.set_id(video_id)
try:
video_info_link = 'http://videobam.com/' + str(video_id)
html = http.HttpClient().get_html_content(url=video_info_link)
streams = re.compile('(low|high): \'(.+?)\'').findall(html)
for streamType, streamUrl in streams:
if streamType == 'low':
video_info.add_stream_link(STREAM_QUAL_SD, streamUrl)
elif streamType == 'high':
video_info.add_stream_link(STREAM_QUAL_HD_720, streamUrl)
video_info.set_stopped(False)
except:
video_info.set_stopped(True)
return video_info
开发者ID:kevintone,项目名称:tdbaddon,代码行数:18,代码来源:Videobam.py
示例20: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video = Video()
video.set_video_host(getVideoHost())
video.set_id(video_id)
try:
video_link = 'http://www.dailymotion.com/embed/video/' + str(video_id)
html = http.HttpClient().get_html_content(url=video_link)
http.HttpClient().disable_cookies()
player = re.compile('document\.getElementById\(\'player\'\), (.+?)\);').findall(html)
player_obj = json.loads(player[0])
video_qual = player_obj['metadata']['qualities']
print video_qual
dm_LD = None
if video_qual.has_key('380'):
dm_LD = video_qual['380'][0]['url']
dm_SD = None
if video_qual.has_key('480'):
dm_SD = video_qual['480'][0]['url']
dm_720 = None
if video_qual.has_key('720'):
dm_720 = video_qual['720'][0]['url']
dm_1080 = None
if video_qual.has_key('1080'):
dm_1080 = video_qual['1080'][0]['url']
if dm_LD is not None:
video.add_stream_link(STREAM_QUAL_LOW, dm_LD, addUserAgent=False , addReferer=False, refererUrl=video_link)
if dm_SD is not None:
video.add_stream_link(STREAM_QUAL_SD, dm_SD, addUserAgent=False , addReferer=False, refererUrl=video_link)
if dm_720 is not None:
video.add_stream_link(STREAM_QUAL_HD_720, dm_720, addUserAgent=False , addReferer=False, refererUrl=video_link)
if dm_1080 is not None:
video.add_stream_link(STREAM_QUAL_HD_1080, dm_1080, addUserAgent=False , addReferer=False, refererUrl=video_link)
if len(video.get_streams()) == 0:
video.set_stopped(True)
else:
video.set_stopped(False)
except Exception, e:
logging.getLogger().error(e)
video.set_stopped(True)
开发者ID:RozebMomin,项目名称:KodiAddons,代码行数:41,代码来源:Dailymotion.py
注:本文中的xoze.snapvideo.Video类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论