diff options
| author | garret1317 <garret@airmail.cc> | 2025-11-06 21:26:59 +0000 |
|---|---|---|
| committer | garret1317 <garret@airmail.cc> | 2025-11-07 00:17:47 +0000 |
| commit | 92918e2ba1e5c745aff2dcf046c82a3c1f9529af (patch) | |
| tree | cdeac22ba1c823f9ddb33a5f6fbb7bd8f1a836bd /yt_dlp_plugins/extractor/radiko.py | |
| parent | 68632864f32e47a5f0961d7de32da054d21bf24f (diff) | |
| download | yt-dlp-rajiko-92918e2ba1e5c745aff2dcf046c82a3c1f9529af.tar.gz yt-dlp-rajiko-92918e2ba1e5c745aff2dcf046c82a3c1f9529af.tar.bz2 yt-dlp-rajiko-92918e2ba1e5c745aff2dcf046c82a3c1f9529af.zip | |
Implement lazy chunk downloading
using `http_dash_segments_generator` as seen in youtube live-from-start
this way it only goes through the chunks etc one a format has actually been selected
so we don't have it downloading eg 20 chunks of every stream only for most to be discarded
closes #29
Diffstat (limited to 'yt_dlp_plugins/extractor/radiko.py')
| -rw-r--r-- | yt_dlp_plugins/extractor/radiko.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/yt_dlp_plugins/extractor/radiko.py b/yt_dlp_plugins/extractor/radiko.py index 6718201..2ec363a 100644 --- a/yt_dlp_plugins/extractor/radiko.py +++ b/yt_dlp_plugins/extractor/radiko.py @@ -310,13 +310,15 @@ class _RadikoBaseIE(InfoExtractor): if delivered_live and timefree and do_as_live_chunks: - chunks_playlist = hacks._generate_as_live_playlist( - self, playlist_url, start_at, end_at, domain, auth_headers - ) + def fragments_generator(_): + return hacks._generate_as_live_fragments( + self, playlist_url, start_at, end_at, domain, auth_headers + ) m3u8_formats = [{ "format_id": join_nonempty(domain, "chunked"), - "hls_media_playlist_data": chunks_playlist, + "fragments": fragments_generator, + "protocol": "http_dash_segments_generator", "preference": preference, "ext": "m4a", "vcodec": "none", @@ -324,6 +326,7 @@ class _RadikoBaseIE(InfoExtractor): # fallback to live for ffmpeg etc "url": playlist_url, "http_headers": auth_headers, + "is_live": "yesn't", }] format_note.append("Chunked") else: |