diff --git a/yt_dlp/extractor/lbry.py b/yt_dlp/extractor/lbry.py index 1405ce0c72..5d5457c532 100644 --- a/yt_dlp/extractor/lbry.py +++ b/yt_dlp/extractor/lbry.py @@ -17,6 +17,7 @@ parse_qs, OnDemandPagedList, try_get, + UnsupportedError, urljoin, ) @@ -196,11 +197,11 @@ def _real_extract(self, url): live_data = self._download_json( f'https://api.live.odysee.com/v1/odysee/live/{claim_id}', claim_id, note='Downloading livestream JSON metadata')['data'] - if not live_data['live']: - raise ExtractorError('This stream is not live', expected=True) - streaming_url = final_url = live_data['url'] + streaming_url = final_url = live_data.get('url') + if not final_url and not live_data.get('live'): + self.raise_no_formats('This stream is not live', True, claim_id) else: - raise ExtractorError('Unsupported URL', expected=True) + raise UnsupportedError(url) info = self._parse_stream(result, url) if determine_ext(final_url) == 'm3u8':