|
|
@ -17,6 +17,7 @@ from ..utils import (
|
|
|
|
parse_qs,
|
|
|
|
parse_qs,
|
|
|
|
OnDemandPagedList,
|
|
|
|
OnDemandPagedList,
|
|
|
|
try_get,
|
|
|
|
try_get,
|
|
|
|
|
|
|
|
UnsupportedError,
|
|
|
|
urljoin,
|
|
|
|
urljoin,
|
|
|
|
)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
@ -196,11 +197,11 @@ class LBRYIE(LBRYBaseIE):
|
|
|
|
live_data = self._download_json(
|
|
|
|
live_data = self._download_json(
|
|
|
|
f'https://api.live.odysee.com/v1/odysee/live/{claim_id}', claim_id,
|
|
|
|
f'https://api.live.odysee.com/v1/odysee/live/{claim_id}', claim_id,
|
|
|
|
note='Downloading livestream JSON metadata')['data']
|
|
|
|
note='Downloading livestream JSON metadata')['data']
|
|
|
|
if not live_data['live']:
|
|
|
|
streaming_url = final_url = live_data.get('url')
|
|
|
|
raise ExtractorError('This stream is not live', expected=True)
|
|
|
|
if not final_url and not live_data.get('live'):
|
|
|
|
streaming_url = final_url = live_data['url']
|
|
|
|
self.raise_no_formats('This stream is not live', True, claim_id)
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
raise ExtractorError('Unsupported URL', expected=True)
|
|
|
|
raise UnsupportedError(url)
|
|
|
|
|
|
|
|
|
|
|
|
info = self._parse_stream(result, url)
|
|
|
|
info = self._parse_stream(result, url)
|
|
|
|
if determine_ext(final_url) == 'm3u8':
|
|
|
|
if determine_ext(final_url) == 'm3u8':
|
|
|
|