From f62f553d46856aff2e36a0d561ec78a1d28d5b68 Mon Sep 17 00:00:00 2001 From: Jeff Huffman Date: Thu, 4 Aug 2022 14:05:58 -0400 Subject: [PATCH] [extractor/crunchyroll:beta] Use streams API (#4555) Closes #4452 Authored by: tejing1 --- README.md | 2 +- yt_dlp/extractor/crunchyroll.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4e806e14c..285c0b78a 100644 --- a/README.md +++ b/README.md @@ -1774,7 +1774,7 @@ #### crunchyroll #### crunchyrollbeta * `format`: Which stream type(s) to extract. Default is `adaptive_hls` Eg: `crunchyrollbeta:format=vo_adaptive_hls` - * Potentially useful values include `adaptive_hls`, `adaptive_dash`, `vo_adaptive_hls`, `vo_adaptive_dash`, `download_hls`, `trailer_hls`, `trailer_dash` + * Potentially useful values include `adaptive_hls`, `adaptive_dash`, `vo_adaptive_hls`, `vo_adaptive_dash`, `download_hls`, `download_dash`, `multitrack_adaptive_hls_v2` * `hardsub`: Preference order for which hardsub versions to extract. Default is `None` (no hardsubs). Eg: `crunchyrollbeta:hardsub=en-US,None` #### vikichannel diff --git a/yt_dlp/extractor/crunchyroll.py b/yt_dlp/extractor/crunchyroll.py index bacdb8515..fccf05480 100644 --- a/yt_dlp/extractor/crunchyroll.py +++ b/yt_dlp/extractor/crunchyroll.py @@ -801,7 +801,9 @@ def _real_extract(self, url): if episode_response.get('is_premium_only') and not episode_response.get('playback'): raise ExtractorError('This video is for premium members only.', expected=True) - stream_response = self._download_json(episode_response['playback'], display_id, note='Retrieving stream info') + stream_response = self._download_json( + f'{api_domain}{episode_response["__links__"]["streams"]["href"]}', display_id, + note='Retrieving stream info', query=params) get_streams = lambda name: (traverse_obj(stream_response, name) or {}).items() requested_hardsubs = [('' if val == 'none' else val) for val in (self._configuration_arg('hardsub') or ['none'])]