def _get_streams(self): url, params = parse_url_params(self.url) urlnoproto = self._url_re.match(url).group(2) urlnoproto = update_scheme("http://", urlnoproto) return HDSStream.parse_manifest(self.session, urlnoproto, **params)
def _get_streams(self): url, params = parse_url_params(self.url) urlnoproto = self._url_re.match(url).group(2) urlnoproto = update_scheme("http://", urlnoproto) return HDSStream.parse_manifest(self.session, urlnoproto, **params)
def _get_streams(self): url, params = parse_url_params(self.url) urlnoproto = self._url_re.match(url).group(1) urlnoproto = update_scheme("http://", urlnoproto) log.debug("URL={0}; params={1}".format(urlnoproto, params)) return {"live": AkamaiHDStream(self.session, urlnoproto, **params)}
def _get_streams(self): url, params = parse_url_params(self.url) urlnoproto = self._url_re.match(url).group(1) urlnoproto = update_scheme("http://", urlnoproto) self.logger.debug("URL={0}; params={1}", urlnoproto, params) return {"live": AkamaiHDStream(self.session, urlnoproto, **params)}
def _get_streams(self): url, params = parse_url_params(self.url) urlnoproto = self._url_re.match(url).group(1) urlnoproto = update_scheme("http://", urlnoproto) self.logger.debug("URL={0}; params={1}", urlnoproto, params) return {"live": HTTPStream(self.session, urlnoproto, **params)}
def _get_streams(self): self.session.http.headers.update({'User-Agent': useragents.FIREFOX}) log.debug('Version 2018-07-12') log.info('This is a custom plugin. ' 'For support visit https://github.com/back-to/plugins') url, params = parse_url_params(self.url) urlnoproto = self._url_re.match(url).group(2) urlnoproto = update_scheme('http://', urlnoproto) streams = self.session.streams(urlnoproto, stream_types=['hls']) if not streams: log.debug('No stream found for hls-key-uri,' ' stream is not available.') return stream = streams['best'] urlnoproto = stream.url log.debug('URL={0}; params={1}', urlnoproto, params) streams = KeyUriHLSStream.parse_variant_playlist( self.session, urlnoproto, **params) if not streams: return { 'live': KeyUriHLSStream(self.session, urlnoproto, **params) } else: return streams
def _get_streams(self): url, params = parse_url_params(self.url) params["rtmp"] = url for boolkey in ("live", "realtime", "quiet", "verbose", "debug"): if boolkey in params: params[boolkey] = bool(params[boolkey]) self.logger.debug("params={0}", params) return {"live": RTMPStream(self.session, params)}
def _get_streams(self): url, params = parse_url_params(self.url) urlnoproto = self._url_re.match(url).group(2) urlnoproto = update_scheme("http://", urlnoproto) self.logger.debug("URL={0}; params={1}", urlnoproto, params) streams = HLSStream.parse_variant_playlist(self.session, urlnoproto, **params) if not streams: return {"live": HLSStream(self.session, urlnoproto, **params)} else: return streams
def _get_streams(self): self.session.http.headers.update({'User-Agent': useragents.FIREFOX}) log.debug('Version 2018-07-12') log.info('This is a custom plugin. ' 'For support visit https://github.com/back-to/plugins') url, params = parse_url_params(self.url) urlnoproto = self._url_re.match(url).group(2) urlnoproto = update_scheme('http://', urlnoproto) if not hasattr(TempData, 'sequence_ignore_number'): TempData.sequence_ignore_number = ( HLSSessionPlugin.get_option('ignore_number') or 0) if not hasattr(TempData, 'session_reload_segment'): TempData.session_reload_segment = ( HLSSessionPlugin.get_option('segment') or False) if not hasattr(TempData, 'session_reload_segment_status'): TempData.session_reload_segment_status = False if not hasattr(TempData, 'session_reload_time'): TempData.session_reload_time = int( HLSSessionPlugin.get_option('time') or 0) if not hasattr(TempData, 'cached_data'): TempData.cached_data = {} # set a timestamp, if it was not set previously if not TempData.cached_data.get('timestamp'): TempData.cached_data.update({'timestamp': int(time())}) TempData.cached_data.update({'stream_name': 'best'}) TempData.cached_data.update({'url': urlnoproto}) streams = self.session.streams( urlnoproto, stream_types=['hls']) if not streams: log.debug('No stream found for hls-session-reload,' ' stream is not available.') return stream = streams['best'] urlnoproto = stream.url self.logger.debug('URL={0}; params={1}', urlnoproto, params) streams = HLSSessionHLSStream.parse_variant_playlist(self.session, urlnoproto, **params) if not streams: return {'live': HLSSessionHLSStream(self.session, urlnoproto, **params)} else: return streams
def _get_streams(self): url, params = parse_url_params(self.url) urlnoproto = self._url_re.match(url).group(2) urlnoproto = update_scheme("http://", urlnoproto) log.debug("URL={0}; params={1}".format(urlnoproto, params)) streams = HLSStream.parse_variant_playlist(self.session, urlnoproto, **params) if not streams: return {"live": HLSStream(self.session, urlnoproto, **params)} else: return streams
def _get_streams(self): url, params = parse_url_params(self.url) urlnoproto = self._url_re.match(url).group(1) urlnoproto = update_scheme("http://", urlnoproto) self.logger.debug("Video URL: {}", urlnoproto) aurlnoproto = params.get("audio") aurlnoproto = update_scheme("http://", aurlnoproto) quality = params.get("quality", "unknown") self.logger.debug("Video Quality: {}", quality) self.logger.debug("Audio URL: {}", aurlnoproto) streams = {} streams[quality] = MuxedStream(self.session, HTTPStream(self.session, urlnoproto), HTTPStream(self.session, aurlnoproto)) return streams
def _get_streams(self): if not '/web/zap' in self.url: log.info('URL to stream channel only, zapping not needed') return {"live": HTTPStream(self.session, self.url)} url, params = parse_url_params(self.url) zapURL = self.url.split('/http://')[0] streamURL = 'http://' + self.url.split('/http://')[1] mainURL = zapURL.split('/web/zap')[0] #https://dream.reichholf.net/wiki/Enigma2:WebInterface log.debug("URL={0}; params={1}", url, params) log.debug("zapURL: %s" % zapURL) log.debug("streamURL: %s" % streamURL) #sprawdzenie stanu tunera response = self.session.http.get(mainURL + '/web/powerstate') log.debug(response.text) if response.status_code != 200: return root = ET.fromstring(response.text) #budzenie tunera if root.tag == 'e2powerstate' and root[ 0].tag == 'e2instandby' and root[0].text.strip() == 'true': log.info('Tuner is sleeping, waking it up') response = self.session.http.get(mainURL + '/web/powerstate?newstate=4') log.info(response.text) if response.status_code != 200: log.info("ERROR waking up tuner") return #zap na kanal currChannel = 'unknown' response = self.session.http.get(mainURL + '/web/subservices') log.info(response.text) if response.status_code == 200: root = ET.fromstring(response.text) for child in root[0]: if child.tag == 'e2servicereference': currChannel = child.text.strip() if currChannel[-1:] == ':': currChannel = currChannel[:-1] break else: return if currChannel in zapURL and currChannel != 'unknown': log.info( 'Tuner already on correct channel (%s), zapping not needed' % currChannel) else: log.info('Zapping from %s to %s' % (currChannel, zapURL.split('Ref=')[1])) response = self.session.http.get(zapURL) if response.status_code == 200: log.debug("Successful ZAP to '%s'" % zapURL) else: log.info("ERROR ZAPPING to '%s'\n\t Response: %s" % (zapURL, response.status_code)) return #wylaczenie tunera? #strumieniowanie time.sleep(1) return {"live": HTTPStream(self.session, streamURL, **params)}