Players

Transport modes

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

Name

Description

Standard input pipe

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

Named pipe (FIFO)

Use the --player-fifo option to enable.

HTTP

Use the --player-http or --player-continuous-http options to enable.

Player compatibility

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

Name

Stdin Pipe

Named Pipe

HTTP

Daum Pot Player

Yes

No

Yes 1

MPC-HC

Yes 2

No

Yes 1

MPlayer

Yes

Yes

Yes

mpv

Yes

Yes

Yes

OMXPlayer

No

Yes

Yes 4

QuickTime

No

No

No

VLC media player

Yes 3

Yes

Yes

1(1,2)

--player-continuous-http must be used. Using HTTP with players that rely on Windows' codecs to access HTTP streams may have a long startup time since Windows tend to do multiple HTTP requests and Streamlink will attempt to open the stream for each request.

2

Stdin requires MPC-HC 1.7 or newer.

3

Some versions of VLC might be unable to use the stdin pipe and prints the error message

VLC is unable to open the MRL 'fd://0'

Use one of the other transport methods instead to work around this.

4

--player-continuous-http has been reported to work for HLS streams when also using the timeout option for omxplayer (see When using OMXPlayer the stream stops unexpectedly.) Other stream types may not work as expected, it is recommended that --player-fifo be used.

Known issues and workarounds

MPC-HC reports "File not found"

Upgrading to version 1.7 or newer will solve this issue since reading data from standard input is not supported in version 1.6.x of MPC-HC.

MPC-HC only plays sound on Twitch streams

Twitch sometimes returns badly muxed streams which may confuse players. The following workaround was contributed by MPC-HC developer @kasper93:

To fix this problem go to options -> internal filters -> open splitter settings and increase "Stream Analysis Duration" this will let ffmpeg to properly detect all streams.

Using --player-passthrough hls has also been reported to work.

MPlayer tries to play Twitch streams at the wrong FPS

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

VLC hangs when buffering and no playback starts

Some versions of 64-bit VLC seem to be unable to read the stream created by rtmpdump. Using the 32-bit version of VLC might help.

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.

When using OMXPlayer the stream stops unexpectedly

When reading from a fifo pipe OMXPlayer will quit when there is no data, to fix this you can supply the timeout option to OMXPlayer using --player "omxplayer --timeout 20". For live streams it might be beneficial to also add the omxplayer parameter --live.