Limitations & Considerations
If speed isn't your only priority and you want a simple one-step process, use directly. It is the industry standard for M3U8 streams. aria2c m3u8
Standard downloaders see this map and get confused. They might download the text file (the playlist) but leave you stranded without the actual video. Or worse, they try to download the pieces one by one in a single thread, a process that takes longer than watching the entire series. Limitations & Considerations If speed isn't your only
Let's break down the options used:
Once your folder is full of .ts files, you need to stitch them together. Since they are already encoded, this process is nearly instant (it doesn't re-encode, just joins). They might download the text file (the playlist)
curl -s "$m3u8_url" | grep ".ts" | while read ts; do echo "$base_url/$ts" done | aria2c -i - -j 16 -d ./video