Compare commits

...

3 Commits

Author SHA1 Message Date
Aarni Koskela
e02a4a06a3
Merge e69128a1b4 into 4b5eec0aaa 2024-11-25 21:14:29 +05:30
Jakob Kruse
4b5eec0aaa
[ie/chaturbate] Fix support for non-public streams (#11624)
Fix bug in 720b3dc453

Closes #11623
Authored by: jkruse
2024-11-24 22:20:30 +00:00
Aarni Koskela
e69128a1b4 [ie/elonet] Add support for Icareus-backed Elonet URLs 2024-11-14 18:19:33 +02:00
2 changed files with 22 additions and 8 deletions

View File

@ -59,16 +59,15 @@ class ChaturbateIE(InfoExtractor):
'Accept': 'application/json', 'Accept': 'application/json',
}, fatal=False, impersonate=True) or {} }, fatal=False, impersonate=True) or {}
status = response.get('room_status')
if status != 'public':
if error := self._ERROR_MAP.get(status):
raise ExtractorError(error, expected=True)
self.report_warning('Falling back to webpage extraction')
return None
m3u8_url = response.get('url') m3u8_url = response.get('url')
if not m3u8_url: if not m3u8_url:
self.raise_geo_restricted() status = response.get('room_status')
if error := self._ERROR_MAP.get(status):
raise ExtractorError(error, expected=True)
if status == 'public':
self.raise_geo_restricted()
self.report_warning(f'Got status "{status}" from API; falling back to webpage extraction')
return None
return { return {
'id': video_id, 'id': video_id,

View File

@ -42,6 +42,21 @@ class ElonetIE(InfoExtractor):
video_id = self._match_id(url) video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id) webpage = self._download_webpage(url, video_id)
icareus_iframe_vod_id = self._search_regex(
r'src="https://players.icareus.com/elonet/embed/vod/(\d+)"',
webpage,
'icareus iframe',
default=None,
fatal=False,
group=1,
)
if icareus_iframe_vod_id:
return self.url_result(
f'https://suite.icareus.com/fi/web/elonet/player/vod/?assetId={icareus_iframe_vod_id}',
ie='Icareus',
)
src = self._parse_json(self._html_search_regex( src = self._parse_json(self._html_search_regex(
r'id=\'video-data\'[^>]+data-video-sources="([^"]+)"', webpage, 'json'), video_id)[0]['src'] r'id=\'video-data\'[^>]+data-video-sources="([^"]+)"', webpage, 'json'), video_id)[0]['src']
ext = determine_ext(src) ext = determine_ext(src)