本文整理汇总了Python中common.DataObjects.VideoInfo类的典型用法代码示例。如果您正苦于以下问题:Python VideoInfo类的具体用法?Python VideoInfo怎么用?Python VideoInfo使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了VideoInfo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = VideoInfo()
video_info.set_video_hosting_info(getVideoHostingInfo())
video_info.set_video_id(video_id)
try:
video_info_link = 'http://www.facebook.com/video/video.php?v=' + str(video_id)
html = urllib.unquote_plus(HttpUtils.HttpClient().getHtmlContent(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_info.add_video_link(VIDEO_QUAL_HD_720, high_video_link[0])
if len(low_video_link) > 0:
video_info.add_video_link(VIDEO_QUAL_SD, low_video_link[0])
if len(video_link) > 0:
video_info.add_video_link(VIDEO_QUAL_SD, video_link[0])
video_info.set_video_stopped(False)
video_info.set_video_name(video_title)
video_info.set_video_image(img_link)
except:
raise
video_info.set_video_stopped(True)
return video_info
示例2: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = VideoInfo()
video_info.set_video_hosting_info(getVideoHostingInfo())
video_info.set_video_id(video_id)
try:
video_info_link = 'http://www.veoh.com/rest/v2/execute.xml?method=veoh.video.findByPermalink&permalink=' + str(video_id) + '&apiKey=' + API_KEY
soup = BeautifulStoneSoup(HttpUtils.HttpClient().getHtmlContent(url=video_info_link), convertEntities=BeautifulStoneSoup.XML_ENTITIES)
videoObj = soup.findChild(name='video')
video_link = HttpUtils.getRedirectedUrl(str(videoObj['ipodurl']))
img_link = str(videoObj['highresimage'])
video_title = str(videoObj['title'])
video_info.set_video_stopped(False)
video_info.set_video_image(img_link)
video_info.set_video_name(video_title)
video_info.add_video_link(VIDEO_QUAL_SD, video_link)
except:
video_info.set_video_stopped(True)
return video_info
示例3: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = VideoInfo()
video_info.set_video_hosting_info(getVideoHostingInfo())
video_info.set_video_id(video_id)
try:
video_link = 'http://www.comedyportal.net/' + str(video_id)
html = HttpUtils.HttpClient().getHtmlContent(url=video_link)
match = re.compile("id='pl'.+?data='(.+?)'").findall(html)
html = HttpUtils.HttpClient().getHtmlContent(url=match[0].replace(' ', '%20'))
video_link = re.compile("file : '(.+?)'").findall(html)[0].replace(' ', '%20')
video_info.set_video_stopped(False)
video_info.add_video_link(VIDEO_QUAL_SD, video_link)
except:
video_info.set_video_stopped(True)
return video_info
示例4: retrieveVideoInfo
def retrieveVideoInfo(videoUrl):
video_info = VideoInfo()
video_info.set_video_hosting_info(getVideoHostingInfo())
video_info.set_video_id(videoUrl)
try:
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_video_stopped(False)
video_info.set_video_image('')
video_info.set_video_name(' ')
video_info.add_video_link(VIDEO_QUAL_SD, stream_url)
except:
video_info.set_video_stopped(True)
return video_info
示例5: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = VideoInfo()
video_info.set_video_hosting_info(getVideoHostingInfo())
video_info.set_video_id(video_id)
try:
video_link = 'http://www.mediaplaybox.com/mobile?vinf=' + str(video_id)
html = HttpUtils.HttpClient().getHtmlContent(url=video_link, headers=HttpUtils.IPAD_HEADERS)
video_file_info = re.compile('href="http://www.mediaplaybox.com/media/files_flv/(.+?)"').findall(html)
if(len(video_file_info) == 0):
video_file_info = re.compile('href="http://www.mediaplaybox.com:81/media/files_flv/(.+?)"').findall(html)
video_file = video_file_info[0]
img_file_info = re.compile('src="http://www.mediaplaybox.com/media/files_thumbnail/(.+?)"').findall(html)
if(len(img_file_info) == 0):
img_file_info = re.compile('src="http://www.mediaplaybox.com/media/files_thumbnail/(.+?)"').findall(html)[0]
img_file = img_file_info[0]
video_link = 'http://www.mediaplaybox.com/media/files_flv/' + video_file.replace('_ipod.mp4', '.flv')
hd_video_link = 'http://www.mediaplaybox.com/media/files_flv/' + video_file.replace('_ipod.mp4', '_hd.mp4')
img_link = 'http://www.mediaplaybox.com/media/files_thumbnail/' + img_file
video_info.set_video_stopped(False)
video_info.set_video_image(img_link)
video_info.set_video_name("Media PlayBox Video")
try:
response = HttpUtils.HttpClient().getResponse(url=hd_video_link)
if response.status < 400:
video_info.add_video_link(VIDEO_QUAL_HD_720, hd_video_link, addUserAgent=False)
except Exception,e:
print 'No HD link'
video_info.add_video_link(VIDEO_QUAL_SD, video_link, addUserAgent=False)
示例6: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = VideoInfo()
video_info.set_video_hosting_info(getVideoHostingInfo())
video_info.set_video_id(video_id)
try:
html = HttpUtils.HttpClient().getHtmlContent(url='http://vimeo.com/' + str(video_id))
referrerObj = re.compile('"timestamp":(.+?),"signature":"(.+?)"').findall(html)[0]
req_sig_exp = referrerObj[0]
req_sig = referrerObj[1]
img_link = re.compile('itemprop="thumbnailUrl" content="(.+?)"').findall(html)[0]
video_title = re.compile('"title":"(.+?)"').findall(html)[0]
qual = 'sd'
video_link = "http://player.vimeo.com/play_redirect?clip_id=%s&sig=%s&time=%s&quality=%s&codecs=H264,VP8,VP6&type=moogaloop_local&embed_location=" % (video_id, req_sig, req_sig_exp, qual)
video_info.add_video_link(VIDEO_QUAL_SD, video_link)
if(re.search('"hd":1', html)):
qual = 'hd'
video_link = "http://player.vimeo.com/play_redirect?clip_id=%s&sig=%s&time=%s&quality=%s&codecs=H264,VP8,VP6&type=moogaloop_local&embed_location=" % (video_id, req_sig, req_sig_exp, qual)
video_info.add_video_link(VIDEO_QUAL_HD_720, video_link)
video_info.set_video_stopped(False)
video_info.set_video_image(img_link)
video_info.set_video_name(video_title)
except Exception, e:
Logger.logError(e)
video_info.set_video_stopped(True)
示例7: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = VideoInfo()
video_info.set_video_hosting_info(getVideoHostingInfo())
video_info.set_video_id(video_id)
try:
video_link = 'http://www.dailymotion.com/video/' + str(video_id)
html = HttpUtils.HttpClient().getHtmlContent(url=video_link)
sequence = re.compile('"sequence":"(.+?)"').findall(html)
newseqeunce = urllib.unquote(sequence[0]).decode('utf8').replace('\\/', '/')
# jsonObj = json.loads(newseqeunce, encoding='utf-8')
# print jsonObj
imgSrc = re.compile('og:image" content="(.+?)"').findall(html)
if(len(imgSrc) == 0):
imgSrc = re.compile('/jpeg" href="(.+?)"').findall(html)
dm_low = re.compile('"sdURL":"(.+?)"').findall(newseqeunce)
dm_high = re.compile('"hqURL":"(.+?)"').findall(newseqeunce)
video_info.set_video_image(imgSrc[0])
video_info.set_video_stopped(False)
if(len(dm_high) == 0 and len(dm_low) == 1):
video_info.add_video_link(VIDEO_QUAL_SD, dm_low[0])
elif(len(dm_low) == 0 and len(dm_high) == 1):
video_info.add_video_link(VIDEO_QUAL_HD_720, dm_high[0])
else:
video_info.add_video_link(VIDEO_QUAL_SD, dm_low[0])
video_info.add_video_link(VIDEO_QUAL_HD_720, dm_high[0])
except:
video_info.set_video_stopped(True)
return video_info
示例8: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = VideoInfo()
video_info.set_video_hosting_info(getVideoHostingInfo())
video_info.set_video_id(video_id)
try:
video_info_link = 'http://www.zalaa.com/' + str(video_id)
html = HttpUtils.HttpClient().getHtmlContent(url=video_info_link)
link = ''.join(html.splitlines()).replace('\'', '"')
video_link = re.compile('s1.addVariable\("file","(.+?)"\);').findall(link)[0]
video_info.add_video_link(VIDEO_QUAL_SD, video_link)
video_info.set_video_stopped(False)
except:
video_info.set_video_stopped(True)
return video_info
示例9: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = VideoInfo()
video_info.set_video_hosting_info(getVideoHostingInfo())
video_info.set_video_id(video_id)
try:
video_link = 'http://www.dailymotion.com/embed/video/' + str(video_id)
html = HttpUtils.HttpClient().getHtmlContent(url=video_link)
HttpUtils.HttpClient().disableCookies()
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_info.add_video_link(VIDEO_QUAL_LOW, dm_LD, addReferer=True, refererUrl=video_link)
if dm_SD is not None:
video_info.add_video_link(VIDEO_QUAL_SD, dm_SD, addReferer=True, refererUrl=video_link)
if dm_720 is not None:
video_info.add_video_link(VIDEO_QUAL_HD_720, dm_720, addReferer=True, refererUrl=video_link)
if dm_1080 is not None:
video_info.add_video_link(VIDEO_QUAL_HD_1080, dm_1080, addReferer=True, refererUrl=video_link)
video_info.set_video_stopped(False)
except Exception, e:
Logger.logError(e)
video_info.set_video_stopped(True)
示例10: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = VideoInfo()
video_info.set_video_hosting_info(getVideoHostingInfo())
video_info.set_video_id(video_id)
try:
HttpUtils.HttpClient().enableCookies()
video_info_link = 'http://www.divxstage.eu/video/' + str(video_id)
html = HttpUtils.HttpClient().getHtmlContent(url=video_info_link)
if re.search(r'Video hosting is expensive. We need you to prove you\'re human.', html):
html = HttpUtils.HttpClient().getHtmlContent(url=video_info_link)
HttpUtils.HttpClient().disableCookies()
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 = HttpUtils.HttpClient().getHtmlContent(url=video_info_link)
video_link = re.compile('url=(.+?)&').findall(html)[0]
video_info.set_video_stopped(False)
video_info.add_video_link(VIDEO_QUAL_SD, video_link)
except Exception, e:
logging.exception(e)
video_info.set_video_stopped(True)
示例11: 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 = VideoInfo()
video_info.set_video_hosting_info(getVideoHostingInfo())
video_info.set_video_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_video_link(XBMC_EXECUTE_PLUGIN, addon_url, addUserAgent=False, addReferer=False)
video_info.set_video_image('')
video_info.set_video_name(' ')
else:
url = 'http://videoplayer.vevo.com/VideoService/AuthenticateVideo?isrc=%s&extended=true' % vevo_id
video = json.loads(HttpUtils.HttpClient().getHtmlContent(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_video_link(VIDEO_QUAL_SD, addon_url, addUserAgent=False, addReferer=False)
video_info.set_video_image(video_image)
video_info.set_video_name(title)
Logger.logDebug(addon_url)
video_info.set_video_stopped(False)
return video_info
示例12: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = VideoInfo()
video_info.set_video_hosting_info(getVideoHostingInfo())
video_info.set_video_id(video_id)
try:
html = HttpUtils.HttpClient().getHtmlContent(url="https://docs.google.com/file/" + str(video_id) + "?pli=1")
html = html.decode("utf8")
title = re.compile("'title': '(.+?)'").findall(html)[0]
video_info.set_video_name(title)
stream_map = re.compile('fmt_stream_map":"(.+?)"').findall(html)[0].replace("\/", "/")
formatArray = stream_map.split(",")
for formatContent in formatArray:
formatContentInfo = formatContent.split("|")
qual = formatContentInfo[0]
url = (formatContentInfo[1]).decode("unicode-escape")
if qual == "13": # 176x144
video_info.add_video_link(VIDEO_QUAL_LOW, url)
elif qual == "17": # 176x144
video_info.add_video_link(VIDEO_QUAL_LOW, url)
elif qual == "36": # 320x240
video_info.add_video_link(VIDEO_QUAL_LOW, url)
elif qual == "5": # 400\\327226
video_info.add_video_link(VIDEO_QUAL_LOW, url)
elif qual == "34": # 480x360 FLV
video_info.add_video_link(VIDEO_QUAL_SD, url)
elif qual == "6": # 640\\327360 FLV
video_info.add_video_link(VIDEO_QUAL_SD, url)
elif qual == "35": # 854\\327480 HD
video_info.add_video_link(VIDEO_QUAL_SD, url)
elif qual == "18": # 480x360 MP4
video_info.add_video_link(VIDEO_QUAL_SD, url)
elif qual == "22": # 1280x720 MP4
video_info.add_video_link(VIDEO_QUAL_HD_720, url)
elif qual == "37": # 1920x1080 MP4
video_info.add_video_link(VIDEO_QUAL_HD_1080, url)
elif qual == "38" and video_info.get_video_link(VIDEO_QUAL_HD_1080) is None: # 4096\\3272304 EPIC MP4
video_info.add_video_link(VIDEO_QUAL_HD_1080, url)
elif qual == "43" and video_info.get_video_link(VIDEO_QUAL_SD) is None: # 360 WEBM
video_info.add_video_link(VIDEO_QUAL_SD, url)
elif qual == "44": # 480 WEBM
video_info.add_video_link(VIDEO_QUAL_SD, url)
elif qual == "45" and video_info.get_video_link(VIDEO_QUAL_HD_720) is None: # 720 WEBM
video_info.add_video_link(VIDEO_QUAL_HD_720, url)
elif qual == "46" and video_info.get_video_link(VIDEO_QUAL_HD_1080) is None: # 1080 WEBM
video_info.add_video_link(VIDEO_QUAL_HD_1080, url)
elif qual == "120" and video_info.get_video_link(VIDEO_QUAL_HD_720) is None: # New video qual
video_info.add_video_link(VIDEO_QUAL_HD_720, url)
# 3D streams - MP4
# 240p -> 83
# 360p -> 82
# 520p -> 85
# 720p -> 84
# 3D streams - WebM
# 360p -> 100
# 360p -> 101
# 720p -> 102
else: # unknown quality
video_info.add_video_link(VIDEO_QUAL_SD, url)
video_info.set_video_stopped(False)
except Exception, e:
logging.exception(e)
video_info.set_video_stopped(True)
示例13: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = VideoInfo()
video_info.set_video_hosting_info(getVideoHostingInfo())
video_info.set_video_id(video_id)
try:
video_link = 'http://cdn.playwire.com/' + str(video_id) + '.xml'
soup = BeautifulStoneSoup(HttpUtils.HttpClient().getHtmlContent(url=video_link), convertEntities=BeautifulStoneSoup.XML_ENTITIES)
cfg = soup.find("config")
img_link = cfg.findNext("poster").string
video_link = cfg.findNext("src").string
video_info.set_video_stopped(False)
video_info.set_video_image(img_link)
video_info.set_video_name("PLAYWIRE Video")
if re.search(r'\Artmp',video_link):
video_info.add_video_link(VIDEO_QUAL_HD_720, video_link, addUserAgent=False)
else:
video_info.add_video_link(VIDEO_QUAL_HD_720, video_link, addUserAgent=True)
except:
video_info.set_video_stopped(True)
return video_info
示例14: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = VideoInfo()
video_info.set_video_hosting_info(getVideoHostingInfo())
video_info.set_video_id(video_id)
try:
video_info_link = 'http://embed.tune.pk/play/' + str(video_id) + '?autoplay=no'
html = HttpUtils.HttpClient().getHtmlContent(url=video_info_link)
image = re.compile("preview_img = '(.+?)';").findall(html)
if image is not None and len(image) == 1:
video_info.set_video_image(str(image[0]))
html = html.replace('\n\r', '').replace('\r', '').replace('\n', '')
sources = re.compile("{(.+?)}").findall(re.compile("sources:(.+?)]").findall(html)[0])
for source in sources:
video_link = str(re.compile('file[: ]*"(.+?)"').findall(source)[0])
Logger.logDebug(video_link)
label_text = re.compile('label[: ]*"(.+?)"').findall(source)
if label_text is not None and len(label_text) == 1:
label = str(label_text[0])
Logger.logDebug(label)
if label == '240p':
video_info.add_video_link(VIDEO_QUAL_LOW, video_link)
elif label == '360p' and video_info.get_video_link(VIDEO_QUAL_SD) is None:
video_info.add_video_link(VIDEO_QUAL_SD, video_link)
elif label == '480p' or label == 'SD':
video_info.add_video_link(VIDEO_QUAL_SD, video_link)
elif label == '720p' or label == 'HD':
video_info.add_video_link(VIDEO_QUAL_HD_720, video_link)
elif label == '1080p':
video_info.add_video_link(VIDEO_QUAL_HD_1080, video_link)
else:
video_info.add_video_link(VIDEO_QUAL_SD, video_link)
else:
video_info.add_video_link(VIDEO_QUAL_SD, video_link)
video_info.set_video_stopped(False)
except Exception, e:
Logger.logError(e)
video_info.set_video_stopped(True)
示例15: retrieveVideoInfo
def retrieveVideoInfo(video_id):
video_info = VideoInfo()
video_info.set_video_hosting_info(getVideoHostingInfo())
video_info.set_video_id(video_id)
try:
video_link = 'http://www.dailymotion.com/video/' + str(video_id)
html = HttpUtils.HttpClient().getHtmlContent(url=video_link)
HttpUtils.HttpClient().disableCookies()
sequence = re.compile('"sequence":"(.+?)"').findall(html)
if(len(sequence) == 0):
sequence = re.compile('"sequence", "(.+?)"').findall(html)
newseqeunce = urllib.unquote(sequence[0]).decode('utf8').replace('\\/', '/')
imgSrc = re.compile('og:image" content="(.+?)"').findall(html)
if(len(imgSrc) == 0):
imgSrc = re.compile('/jpeg" href="(.+?)"').findall(html)
dm_low = re.compile('"sdURL":"(.+?)"').findall(newseqeunce)
dm_high = re.compile('"hqURL":"(.+?)"').findall(newseqeunce)
video_info.set_video_image(imgSrc[0])
video_info.set_video_stopped(False)
if(len(dm_high) == 0 and len(dm_low) == 1):
video_info.add_video_link(VIDEO_QUAL_SD, dm_low[0])
elif(len(dm_low) == 0 and len(dm_high) == 1):
video_info.add_video_link(VIDEO_QUAL_HD_720, dm_high[0])
else:
video_info.add_video_link(VIDEO_QUAL_SD, dm_low[0])
video_info.add_video_link(VIDEO_QUAL_HD_720, dm_high[0])
else:
newseqeunce = urllib.unquote(sequence[0]).decode('utf8').replace('\\/', '/')
jObj = json.loads(newseqeunce)
for sequenceItem in jObj['sequence'][0]['layerList'][0]['sequenceList']:
if sequenceItem['name'] == 'main':
for layerItem in sequenceItem['layerList']:
if layerItem['name'] == 'video' and layerItem['type'] == 'VideoFrame':
params = layerItem['param']
if params.has_key('sdURL'):
dm_low = params['sdURL']
video_info.add_video_link(VIDEO_QUAL_SD, dm_low)
if params.has_key('hqURL'):
dm_high = params['hqURL']
video_info.add_video_link(VIDEO_QUAL_HD_720, dm_high)
video_info.set_video_stopped(False)
elif layerItem['name'] == 'relatedBackground' and layerItem['type'] == 'Background':
params = layerItem['param']
video_info.set_video_image(params['imageURL'])
except Exception, e:
logging.exception(e)
video_info.set_video_stopped(True)