docs: clean up players page

- Remove unmaintained/obsolete and proprietary players
  - Daum PotPlayer
  - MPC-HC
  - OMXPlayer
  - QuickTime
- Add new players
  - IINA
- Change player order
- Add OS and license columns
- Add colored icons for supported transport methods
- Add note about --player-passthrough
- Fix footnotes and known issues section
This commit is contained in:
bastimeyer 2023-11-20 21:11:54 +01:00 committed by Sebastian Meyer
parent 34768a3113
commit 4664d25bad
1 changed files with 46 additions and 73 deletions

View File

@ -8,15 +8,26 @@ There are three different modes of transporting the stream to the player.
.. list-table::
:header-rows: 1
:class: sd-w-100
* - Name
- Description
* - Standard input pipe
- This is the default behaviour when there are no other options specified.
- This is the default behavior when there are no other options specified.
* - Named pipe (FIFO)
- Use the :option:`--player-fifo` option to enable.
- See the :option:`--player-fifo` option.
* - HTTP
- Use the :option:`--player-http` or :option:`--player-continuous-http` options to enable.
- See the :option:`--player-http` and :option:`--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 :option:`--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
@ -27,89 +38,57 @@ modes.
.. list-table::
:header-rows: 1
:class: sd-w-100
* - Name
- OS
- License
- 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
- :fab:`windows;fa-xl` :fab:`apple;fa-xl` :fab:`linux;fa-xl`
- GPL2 / LGPL2.1
- :octicon:`thumbsup;1em;sd-text-success` [1]_
- :octicon:`thumbsup;1em;sd-text-success`
- :octicon:`thumbsup;1em;sd-text-success`
* - `mpv`_
- :fab:`windows;fa-xl` :fab:`apple;fa-xl` :fab:`linux;fa-xl`
- GPL2 / LGPL2.1
- :octicon:`thumbsup;1em;sd-text-success`
- :octicon:`thumbsup;1em;sd-text-success`
- :octicon:`thumbsup;1em;sd-text-success`
* - `MPlayer`_
- :fab:`windows;fa-xl` :fab:`apple;fa-xl` :fab:`linux;fa-xl`
- GPL2
- :octicon:`thumbsup;1em;sd-text-success`
- :octicon:`thumbsup;1em;sd-text-success`
- :octicon:`thumbsup;1em;sd-text-success`
* - `IINA`_
- :fab:`apple;fa-xl`
- GPL3
- :octicon:`thumbsup;1em;sd-text-success` [2]_
- :octicon:`thumbsdown;1em;sd-text-danger`
- :octicon:`thumbsdown;1em;sd-text-danger`
.. [1] :option:`--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
.. [1] 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] :option:`--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
:option:`--player-fifo` be used.
.. [2] Requires the ``--stdin`` player argument (:option:`--player-args`)
.. _Daum Pot Player: https://potplayer.daum.net
.. _MPC-HC: https://mpc-hc.org/
.. _MPlayer: https://mplayerhq.hu
.. _mpv: https://mpv.io
.. _OMXPlayer: https://www.raspberrypi.org/documentation/raspbian/applications/omxplayer.md
.. _QuickTime: https://apple.com/quicktime
.. _VLC media player: https://videolan.org
.. _VLC media player: https://videolan.org/
.. _mpv: https://mpv.io/
.. _MPlayer: https://mplayerhq.hu/
.. _IINA: https://iina.io/
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 :option:`--player-passthrough hls <--player-passthrough>` 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
@ -130,9 +109,3 @@ Some versions of Mplayer cannot play Youtube Live streams. And errors like:
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 :option:`--player "omxplayer --timeout 20" <--player>`.
For live streams it might be beneficial to also add the omxplayer parameter ``--live``.