|
|
|
@ -99,9 +99,16 @@ class JioCinemaBaseIE(InfoExtractor):
|
|
|
|
|
|
|
|
|
|
stream_response = self._download_json(url_or_request=stream_endpoint, video_id=None, note='Extracting Stream URL', data=bytes(json.dumps(payload), encoding='utf8'), headers=headers)
|
|
|
|
|
|
|
|
|
|
mpd_url = None
|
|
|
|
|
m3u8_url = None
|
|
|
|
|
|
|
|
|
|
for url_data in stream_response['data']['playbackUrls']:
|
|
|
|
|
if url_data['encryption'] == 'widevine':
|
|
|
|
|
return url_data['url']
|
|
|
|
|
mpd_url = url_data['url']
|
|
|
|
|
elif url_data['encryption'] == 'aes128':
|
|
|
|
|
m3u8_url = url_data['url']
|
|
|
|
|
|
|
|
|
|
return mpd_url, m3u8_url
|
|
|
|
|
|
|
|
|
|
def _real_initialize(self):
|
|
|
|
|
super()._real_initialize()
|
|
|
|
@ -117,10 +124,11 @@ class JioCinemaBaseIE(InfoExtractor):
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
media_metadata = self._get_media_metadata(media_id)
|
|
|
|
|
mpd_url = self._get_stream_url(self.auth_token, media_id)
|
|
|
|
|
mpd_url, m3u8_url = self._get_stream_url(self.auth_token, media_id)
|
|
|
|
|
|
|
|
|
|
formats = []
|
|
|
|
|
formats.extend(self._extract_mpd_formats(mpd_url, media_id))
|
|
|
|
|
formats.extend(self._extract_m3u8_formats(m3u8_url, media_id))
|
|
|
|
|
|
|
|
|
|
response_dict = {
|
|
|
|
|
'id': media_id,
|
|
|
|
@ -147,7 +155,7 @@ class JioCinemaTVIE(JioCinemaBaseIE):
|
|
|
|
|
},
|
|
|
|
|
'params': {
|
|
|
|
|
'skip_download': True,
|
|
|
|
|
'format': 'bestvideo'
|
|
|
|
|
'format': 'best'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -164,7 +172,7 @@ class JioCinemaMovieIE(JioCinemaBaseIE):
|
|
|
|
|
},
|
|
|
|
|
'params': {
|
|
|
|
|
'skip_download': True,
|
|
|
|
|
'format': 'bestvideo'
|
|
|
|
|
'format': 'best'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -186,7 +194,7 @@ class JioCinemaTVSeasonIE(JioCinemaBaseIE):
|
|
|
|
|
},
|
|
|
|
|
'params': {
|
|
|
|
|
'skip_download': True,
|
|
|
|
|
'format': 'bestvideo'
|
|
|
|
|
'format': 'best'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|