By default most players do not cache the data they receive from Streamlink.
Caching can reduce the amount of buffering you run into because the player will
have some breathing room between receiving the data and playing it.

On segmented streaming protocols (such as HLS and HDS) it's possible to use
multiple threads to potentially increase the throughput.
Each stream type has its own option, and these are the ones that are currently available: