def get_video_url(plugin, item_id, video_id, download_mode=False, **kwargs): """Get video URL and start video player""" resp = requests.get(URL_STREAM % video_id) json_parser = json.loads(resp.text) final_url = URL_ROOT + json_parser["files"]["desktop"]["file"] if download_mode: return download.download_video(final_url) return final_url
def get_video_url(plugin, item_id, video_url, download_mode=False, **kwargs): resp = urlquick.get(video_url) stream_datas_url = re.compile(r'jQuery.get\("(.*?)"').findall(resp.text)[0] resp2 = urlquick.get(stream_datas_url) final_video_url = re.compile(r'src="(.*?)"').findall(resp2.text)[0] if download_mode: return download.download_video(final_video_url) return final_video_url
def get_video_url(plugin, item_id, video_url, download_mode=False, **kwargs): """Get video URL and start video player""" video_html = urlquick.get(video_url).text video_url = re.compile(r'source src=\"(.*?)\"').findall(video_html)[0] if download_mode: return download.download_video(video_url) return video_url
def get_video_url(plugin, item_id, video_url, download_mode=False, **kwargs): """Get video URL and start video player""" if download_mode: return download.download_video(video_url) return video_url
def get_video_url(plugin, item_id, video_url, download_mode=False, video_label=None, **kwargs): if download_mode: return download.download_video(video_url, video_label) return video_url
def get_video_url(plugin, item_id, video_url, download_mode=False, **kwargs): resp = urlquick.get(video_url) json_parser = json.loads(resp.text) method = None id_diffusion = '' urls = [] for media in json_parser['content']['medias']: if 'catchupId' in media: method = 'id_diffusion' id_diffusion = media['catchupId'] break elif 'streams' in media: method = 'stream_videos' for stream in media['streams']: urls.append((stream['format'], stream['url'])) break elif 'sourceUrl' in media: return media['sourceUrl'] if method == 'id_diffusion': return resolver_proxy.get_francetv_video_stream( plugin, id_diffusion, download_mode) elif method == 'stream_videos': url_hd = '' url_default = '' for url in urls: if 'hd' in url[0]: url_hd = url[1] url_default = url[1] if DESIRED_QUALITY == "DIALOG": items = [] for url in urls: items.append(url[0]) seleted_item = xbmcgui.Dialog().select(plugin.localize(30709), items) if seleted_item == -1: return False url_selected = items[seleted_item][1] if url_hd != '': url_selected = url_hd else: url_selected = url_default else: if url_hd != '': url_selected = url_hd else: url_selected = url_default if download_mode: return download.download_video(url_selected) return url_selected else: return False
def get_video_url(plugin, item_id, video_url, download_mode=False, video_label=None): session_requests = requests.session() # Build PAYLOAD payload = { 'loginID': plugin.setting.get_string('vrt.login'), 'password': plugin.setting.get_string('vrt.password'), 'targetEnv': 'jssdk', 'APIKey': get_api_key(), 'includeSSOToken': 'true', 'authMode': 'cookie' } # Login / Verify resp = session_requests.post(URL_LOGIN, data=payload) json_parser = json.loads(resp.text) if json_parser['statusCode'] != 200: plugin.notify('ERROR', item_id + ' : ' + plugin.localize(30711)) return False # Request Token headers = { 'Content-Type': 'application/json', 'Referer': URL_ROOT + '/vrtnu/' } data = '{"uid": "%s", ' \ '"uidsig": "%s", ' \ '"ts": "%s", ' \ '"email": "%s"}' % ( json_parser['UID'], json_parser['UIDSignature'], json_parser['signatureTimestamp'], plugin.setting.get_string('vrt.login')) resp2 = session_requests.post(URL_TOKEN, data=data, headers=headers) # Video ID video_id_datas_url = video_url[:-1] + '.mssecurevideo.json' resp3 = session_requests.get(video_id_datas_url) json_parser2 = json.loads(resp3.text) video_id = '' for video_id_datas in json_parser2.iteritems(): video_id = json_parser2[video_id_datas[0]]['videoid'] # Stream Url resp4 = session_requests.get(URL_STREAM_JSON % video_id) json_parser3 = json.loads(resp4.text) stream_url = '' for stream_datas in json_parser3['targetUrls']: if 'HLS' in stream_datas['type']: stream_url = stream_datas['url'] if download_mode: return download.download_video(stream_url, video_label) return stream_url
def get_video_url(plugin, item_id, video_id, item_dict, download_mode=False, video_label=None, **kwargs): resp = urlquick.get(URL_STREAM % video_id, max_age=-1) json_parser = json.loads(resp.text) if 'error' in json_parser: if json_parser["error"] is not None: if json_parser["error"]["status"] == '403': plugin.notify('ERROR', plugin.localize(30713)) else: plugin.notify('ERROR', plugin.localize(30716)) return False if 'drmToken' in json_parser["playback"]: if cqu.get_kodi_version() < 18: xbmcgui.Dialog().ok('Info', plugin.localize(30602)) return False is_helper = inputstreamhelper.Helper('mpd', drm='widevine') if not is_helper.check_inputstream(): return False if download_mode: xbmcgui.Dialog().ok('Info', plugin.localize(30603)) return False token = json_parser["playback"]["drmToken"] item = Listitem() item.path = json_parser["playback"]["streamUrlDash"] item.label = item_dict['label'] item.info.update(item_dict['info']) item.art.update(item_dict['art']) item.property['inputstreamaddon'] = 'inputstream.adaptive' item.property['inputstream.adaptive.manifest_type'] = 'mpd' item.property[ 'inputstream.adaptive.license_type'] = 'com.widevine.alpha' item.property[ 'inputstream.adaptive.license_key'] = URL_LICENCE_KEY % token return item else: final_video_url = json_parser["playback"]["streamUrlHls"] if download_mode: return download.download_video(final_video_url, video_label) return final_video_url
def get_francetv_video_stream(plugin, id_diffusion, item_dict=None, download_mode=False, video_label=None): geoip_value = web_utils.geoip() resp = urlquick.get(URL_FRANCETV_CATCHUP_PROGRAM_INFO % (id_diffusion, geoip_value), max_age=-1) json_parser = json.loads(resp.text) if 'video' not in json_parser: plugin.notify('ERROR', plugin.localize(30716)) return False all_video_datas = [] video_datas = json_parser['video'] # Implementer Caption (found case) # Implement DRM (found case) if video_datas['drm'] is not None: all_video_datas.append( (video_datas['format'], 'True', video_datas['token'])) else: all_video_datas.append( (video_datas['format'], 'False', video_datas['token'])) url_selected = all_video_datas[0][2] if 'hls' in all_video_datas[0][0]: json_parser2 = json.loads(urlquick.get(url_selected, max_age=-1).text) final_video_url = json_parser2['url'] if download_mode: return download.download_video(final_video_url, video_label) return final_video_url elif 'dash' in all_video_datas[0][0]: if download_mode: xbmcgui.Dialog().ok('Info', plugin.localize(30603)) return False is_helper = inputstreamhelper.Helper('mpd') if not is_helper.check_inputstream(): return False json_parser2 = json.loads(urlquick.get(url_selected, max_age=-1).text) item = Listitem() item.path = json_parser2['url'] item.property['inputstreamaddon'] = 'inputstream.adaptive' item.property['inputstream.adaptive.manifest_type'] = 'mpd' item.label = item_dict['label'] item.info.update(item_dict['info']) item.art.update(item_dict['art']) return item else: # Return info the format is not known return False
def get_video_url(plugin, item_id, video_id, download_mode=False, video_label=None): final_video_url = URL_STREAM % video_id if download_mode: return download.download_video(final_video_url, video_label) return final_video_url
def get_video_url(plugin, item_id, video_url, download_mode=False, **kwargs): resp = urlquick.get(video_url) list_streams_datas = re.compile(r'mediaurl: \'(.*?)\'').findall(resp.text) for stream_datas in list_streams_datas: if 'm3u8' in stream_datas: stream_url = stream_datas if download_mode: return download.download_video(stream_url) return stream_url
def get_video_url(plugin, item_id, video_url, download_mode=False, **kwargs): resp = urlquick.get(video_url) video_id = re.compile(r'idMedia\"\:\"(.*?)\"').findall(resp.text)[0] resp2 = urlquick.get(URL_STREAM_REPLAY % video_id) json_parser = json.loads(resp2.text) final_video_url = json_parser["url"] if download_mode: return download.download_video(final_video_url) return final_video_url
def get_video_url(plugin, item_id, video_id, download_mode=False, **kwargs): final_video_url = URL_STREAM % video_id if download_mode: return download.download_video(final_video_url) return final_video_url
def get_video_url(plugin, item_id, video_id, download_mode=False, **kwargs): resp = urlquick.get(URL_STREAM % video_id) list_stream_datas = re.compile('source src="(.*?)"').findall(resp.text) stream_url = '' for stream_datas in list_stream_datas: if 'mp4' in stream_datas: stream_url = stream_datas if download_mode: return download.download_video(stream_url) return stream_url
def get_video_url(plugin, item_id, video_url, download_mode=False, **kwargs): resp = urlquick.get(video_url, headers={'User-Agent': web_utils.get_random_ua()}, max_age=-1) stream_url = re.compile('contentUrl\"\: \"(.*?)\"').findall(resp.text)[0] if download_mode: return download.download_video(stream_url) return stream_url
def get_video_url(plugin, item_id, video_url, download_mode=False, video_label=None): resp = urlquick.get(video_url) json_value = re.compile(r'src\: \{(.*?)\}\,').findall(resp.text)[0] json_parser = json.loads('{' + json_value + '}') if download_mode: return download.download_video(json_parser["m3u8"], video_label) return json_parser["m3u8"]
def get_video_url(plugin, item_id, video_url, download_mode=False, **kwargs): resp = urlquick.get(video_url, headers={'User-Agent': web_utils.get_random_ua()}, max_age=-1) video_json = re.compile('data-broadcast=\'(.*?)\'').findall(resp.text)[0] json_parser = json.loads(video_json) final_video_url = json_parser["files"][0]["url"] if download_mode: return download.download_video(final_video_url) return final_video_url
def get_video_url(plugin, item_id, video_url, download_mode=False, **kwargs): resp = urlquick.get(video_url) final_url = re.compile( r'file\'\: \'(.*?)\'').findall(resp.text)[0] if download_mode: return download.download_video(final_url) return final_url
def get_video_url(plugin, item_id, video_url, download_mode=False, **kwargs): resp = urlquick.get(video_url, max_age=-1) root = resp.parse() video_id_url = root.findall('.//iframe')[1].get('src') resp2 = urlquick.get(video_id_url, max_age=-1) final_video_url = 'https://tvl-vod.l3.freecaster.net' + re.compile( r'freecaster\.net(.*?)\"').findall(resp2.text)[0] + '/master.m3u8' if download_mode: return download.download_video(final_video_url) return final_video_url
def get_video_url(plugin, item_id, video_url, download_mode=False, **kwargs): if download_mode: return download.download_video(video_url) item = Listitem() item.label = kwargs.get('title', 'unknown') item.path = video_url if kwargs.get('subtitles') and plugin.setting.get_boolean( 'active_subtitle'): item.subtitles = [URL_ROOT + sub['url'] for sub in kwargs['subtitles']] return item
def get_video_url(plugin, item_id, video_url, download_mode=False, **kwargs): resp = urlquick.get(video_url) json_parser = json.loads(resp.text) if download_mode: return download.download_video(json_parser["video"]["contentUrl"]) return json_parser["video"]["contentUrl"]
def get_video_url(plugin, item_id, video_url, download_mode=False, **kwargs): # Just One format of each video (no need of QUALITY) resp = urlquick.get(video_url) root = resp.parse("div", attrs={"class": "nrjVideo-player"}) stream_url = '' for stream in root.iterfind(".//meta"): if 'mp4' in stream.get('content'): stream_url = stream.get('content') if download_mode: return download.download_video(stream_url) return stream_url
def get_video_url(plugin, item_id, video_id, download_mode=False, **kwargs): resp = urlquick.get(URL_REPLAY_STREAM % video_id) json_parser = json.loads(resp.text) stream_url = '' for stream_datas in json_parser["channel"]["item"]["media-group"][ "media-content"]: if stream_datas["@attributes"]["type"] == 'application/x-mpegURL': stream_url = stream_datas["@attributes"]["url"] if download_mode: return download.download_video(stream_url) return stream_url
def get_video_url(plugin, item_id, video_url, download_mode=False, **kwargs): resp = urlquick.get(video_url) stream_url = re.compile(r'file: "(.*?)m3u8').findall(resp.text)[0] final_video_url = stream_url.replace('" + "', '') + 'm3u8' if download_mode: return download.download_video(final_video_url) return final_video_url
def get_video_url(plugin, item_id, video_url, download_mode=False, video_label=None): resp = urlquick.get(video_url) final_video_url = re.compile(r'file\': "(.*?)"').findall(resp.text)[0] if download_mode: return download.download_video(final_video_url, video_label) return final_video_url
def get_video_url(plugin, item_id, video_id, download_mode=False, video_label=None): resp = urlquick.get(URL_STREAM % video_id) root_soup = bs(resp.text, 'html.parser') final_video_url = root_soup.find(id='VideoPlayerDatas').get('data-filehd') if download_mode: return download.download_video(final_video_url, video_label) return final_video_url
def get_video_news_url(plugin, item_id, video_id, video_date, download_mode=False, **kwargs): resp = urlquick.get(URL_STREAM_NHK_NEWS % (video_date, video_id)) json_parser = json.loads(resp.text) final_video_url = json_parser["mediaResource"]["url"] if download_mode: return download.download_video(final_video_url) return final_video_url
def get_video_url(plugin, item_id, video_id, download_mode=False, **kwargs): """Get video URL and start video player""" video_jsonparser = video_query(videoid=video_id).json() video_url = '' for video in video_jsonparser['data']['video']['renditions']: if video["type"] == 'hls': video_url = video["url"] if download_mode: return download.download_video(video_url) return video_url
def get_video_url(plugin, item_id, video_url, download_mode=False, **kwargs): resp = urlquick.get(video_url, max_age=-1) list_streams_datas = re.compile(r'source src="(.*?)"').findall(resp.text) stream_url = '' for stream_datas in list_streams_datas: if 'm3u8' in stream_datas or \ 'mp4' in stream_datas: stream_url = stream_datas if download_mode: return download.download_video(stream_url) return stream_url
def get_video_url( plugin, item_id, video_id, download_mode=False, video_label=None): resp = urlquick.get(URL_VIDEO_VOD % (get_pcode(item_id), video_id)) json_parser = json.loads(resp.text) for stream_datas in json_parser["authorization_data"][video_id]["streams"]: stream_url_base64 = stream_datas["url"]["data"] final_video_url = base64.standard_b64decode(stream_url_base64) if download_mode: return download.download_video(final_video_url, video_label) return final_video_url