Players

Transport modes

There are three different modes of transporting the stream to the player.

Name

Description

Standard input pipe

This is the default behavior when there are no other options specified.

Named pipe (FIFO)

See the --player-fifo option.

HTTP

See the --player-http and --player-continuous-http options.

Note

Streamlink also allows passing the resolved stream URL through to the player as its first launch argument when using the --player-passthrough option.

This does only work if the player has support the specific streaming protocol built in. The player will then do all the data fetching on its own while Streamlink will just wait for the player process to end.

Some streaming protocols like DASH can't be passed through to the player.

Player compatibility

This is a list of video players and their compatibility with the transport modes.

Name

OS

License

stdin pipe

named pipe

HTTP

VLC media player

GPL2 / LGPL2.1

[1]

mpv

GPL2 / LGPL2.1

MPlayer

GPL2

IINA

GPL3

[2]

Known issues and workarounds

MPlayer tries to play Twitch streams at the wrong FPS

This is a bug in MPlayer, using the MPlayer fork mpv instead is recommended.

Youtube Live does not work with VLC

VLC versions below 3 cannot play Youtube Live streams. Please update your player. You can also try using a different player.

Youtube Live does not work with Mplayer

Some versions of Mplayer cannot play Youtube Live streams. And errors like:

Cannot seek backward in linear streams!
Seek failed

Switching to a recent fork such as mpv resolves the issue.