experimented with the args in the playlist urlsl= length of time default15, 15 seconds = 3 fragments in the m3u8 tried to set it to the length of the full programme (eg 30min), cant do that unfortunately discovered through trial and error that the max is300, ie 5 minutes/60 fragments great epic put it in the extractor and rejoice at the fastish downloads except no, ffmpeg only downloads one at a time, 1x speed ie real time and the live format still only adds frags in real time, so this would only make the initial 5 mins faster sad
might be able to combine this with the seek parameter, download in 5-min chunks but unless i can specify multiple m3u8s to be treated as one i dont think it’ll be practical [18:45] garret: would it be possible to specify multiple m3u8s for a single vid, that get concatenated into one file at the end? i can see there's the multi_video type, but i assume that just downloads them separately [18:45] garret: for a jank workaround if radiko ever gets rid of the not-live format fair enough if no, i hope to never have to do it lol [18:46] bashonly: i think you would have to use multi_video, which will concat [18:46] garret: oh right [18:46] bashonly: but they are treated as a playlist it could work! but extreme jank, ie 6-item playlist for a 30min showthe idea
1. get initial live 5 mins, grab all - as on-demand, do not use ffmpeg, do not refresh the playlist 2. use seek arg in new playlist to seek forwards 5 minutes - new 5 min chunk - grab all as on-demand 3. repeat 4. change chunk size at the end if the length isnt divisible by 5min can only implement this when we actually have some as-live streams so i think i’d have to do github issue #18 first, and then incorporate it (as an option?) there attempted in a branch, got the chunking working but god multi_video is aids not sure how to make it work honestlyits over
the chunking works yes, but the starts/ends arent seamless, so you get a kind-of-glitch every 5 mins dammit
2025-07-09 (remembered these pages exist)
I gave up due to ^ glitch
jackyzy823 posted the same idea in my issue tracker, i replied with ^my attempt here
and he corrected me and said i should be using the seek parameter
so i tried with that and it worked beautifully
I initially implemented it with the multi_video type. but that only worked per video when we needed per format
so it stalled again
a few days later a new yt-dlp feature was added for unrelated reasons- the hls_media_playlist_data field, which lets you pass custom HLS playlists
for exactly this sort of thing where the extractor needs to do custom processing
so, amazing solution, cat all the 5-min m3u8s together and pass it to the downloader, it works lmao
there was some jank with wowza stream, where the 300s i requested was actually longer than 300s
so i ended up having to track the actual length based on the #EXTINF tags in the HLS playlist
the chunking workaround was added on 17th and 18th may 2025, and released in v1.5 on 24th may 2025