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