Installation

Windows

Method

Installing

Installers

See the Windows binaries section below

Portable

See the Windows portable version section below

Python pip

See the PyPI package and source code section below

Chocolatey

choco install streamlink

Installing Chocolatey packages

Windows Package Manager

winget install streamlink

Installing Winget packages

macOS

Method

Installing

Python pip

See the PyPI package and source code section below

Homebrew

brew install streamlink

Installing Homebrew packages

Linux and BSD

Distribution

Installing

AppImage

See the AppImages section below

Python pip

See the PyPI package and source code section below

Arch Linux

sudo pacman -S streamlink

Arch Linux (aur, git)

git clone https://aur.archlinux.org/streamlink-git.git
cd streamlink-git
makepkg -si

Installing AUR packages

Debian (sid, testing)

sudo apt update
sudo apt install streamlink

Debian (stable)

# If you don't have Debian backports already (see link below):
echo "deb http://deb.debian.org/debian buster-backports main" | sudo tee "/etc/apt/sources.list.d/streamlink.list"

sudo apt update
sudo apt -t buster-backports install streamlink

Installing Debian backported packages

Fedora

sudo dnf install streamlink

Gentoo Linux

sudo emerge net-misc/streamlink

NetBSD (pkgsrc)

cd /usr/pkgsrc/multimedia/streamlink
sudo make install clean

NixOS

nix-env -iA nixos.streamlink

NixOS channel

OpenBSD

doas pkg_add streamlink

Solus

sudo eopkg install streamlink

Ubuntu

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install streamlink

Void

sudo xbps-install streamlink

Please see the PyPI package and source code or AppImages sections down below if a package is not available for your distro or platform, or if it's out of date.

Package maintainers

Distribution/Platform

Maintainer

Arch

Giancarlo Razzolini <grazzolini at archlinux.org>

Arch (aur, git)

Josip Ponjavic <josipponjavic at gmail.com>

Chocolatey

Scott Walters <me at scowalt.com>

Debian

Alexis Murzeau <amubtdx at gmail.com>

Fedora

Mohamed El Morabity <melmorabity at fedoraproject.org>

Gentoo

soredake <fdsfgs at krutt.org>

NetBSD

Maya Rashish <maya at netbsd.org>

NixOS

Tuomas Tynkkynen <tuomas.tynkkynen at iki.fi>

OpenBSD

Brian Callahan <bcallah at openbsd.org>

Solus

Bryan T. Meyers <bmeyers at datadrake.com>

Ubuntu

Alin Andrei <andrew at webupd8.org>

Void

wkuipers <wietse at kuiprs.nl>

Windows binaries

beardypig <beardypig at protonmail.com>

Windows port. version

beardypig <beardypig at protonmail.com>

PyPI package and source code

If a package is not available on your platform, or if it's out of date, Streamlink can be installed via pip, the Python package manager.

Before running pip, make sure that it's the Python 3 version of pip (to check, run pip --version). On some systems, this isn't the case by default and an alternative, like pip3 for example, needs to be run instead.

Note

On some Linux distributions, the Python headers package needs to be installed before installing Streamlink (python-devel on RedHat, Fedora, etc.).

Ensure that you are using an up-to-date version of pip. At least version 6 is required.

Warning

On Linux, when not using a virtual environment, it is recommended to install custom python packages like this only for the current user (see the --user parameter below), since system-wide packages can cause conflicts with the system's regular package manager.

Those user-packages will be installed into ~/.local instead of /usr and entry-scripts for running the programs can be found in ~/.local/bin, eg. ~/.local/bin/streamlink.

In order for the command line shell to be able to find these executables, the user's PATH environment variable needs to be extended. This can be done by adding export PATH="${HOME}/.local/bin:${PATH}" to ~/.profile or ~/.bashrc.

Version

Installing

Latest release

pip install --user --upgrade streamlink

Master branch

pip install --user --upgrade git+https://github.com/streamlink/streamlink.git

Specific tag/branch or commit

pip install --user --upgrade git+https://github.com/USERNAME/streamlink.git@BRANCH-OR-COMMIT

Virtual environment

Another method of installing Streamlink in a non-system-wide way is using virtualenv, which creates a user owned Python environment instead.

# Create a new environment
virtualenv ~/myenv

# Activate the environment
source ~/myenv/bin/activate

# Install Streamlink in the environment
pip install --upgrade streamlink

# Use Streamlink in the environment
streamlink ...

# Deactivate the environment
deactivate

# Use Streamlink without activating the environment
~/myenv/bin/streamlink ...

Note

This may also be required on some macOS versions that seem to have weird permission issues.

Dependencies

To install Streamlink from source you will need these dependencies.

Name

Notes

Python

At least version 3.6.

python-setuptools

Automatically installed by the setup script

python-requests

At least version 2.21.0.

pycryptodome

Required to play some encrypted streams

iso-639

Used for localization settings, provides language information

iso3166

Used for localization settings, provides country information

isodate

Used for MPEG-DASH streams

PySocks

Used for SOCKS Proxies

websocket-client

At least version 0.58.0. (used for some plugins)

Optional

RTMPDump

Required to play RTMP streams.

ffmpeg

Required to play streams that are made up of separate audio and video streams, eg. YouTube 1080p+

Using pycrypto and pycountry

With these two environment variables it is possible to use pycrypto instead of pycryptodome and pycountry instead of iso-639 and iso3166.

$ export STREAMLINK_USE_PYCRYPTO="true"
$ export STREAMLINK_USE_PYCOUNTRY="true"

Windows binaries

Release

Notes

Stable release

Download the installer from the GitHub releases page.

Development build

For testing purposes only! Built each day at midnight (UTC).
Download the zipped installer from the build artifacts section of one of the recent scheduled builds. Build artifacts are stored by Github for 90 days.
See the commit log for a list of changes since the last stable release.

Note

The Streamlink installer for Windows is currently based on Python 3.8.
Versions of Windows prior to 7 are not supported.

Be aware that the packages for Chocolatey and the Windows Package Manager are just wrappers around the stable installer and thus depend on Windows 7+ as well.

Alternatively, Streamlink can be installed via python-pip in a compatible Python environment.

These installers contain:

  • A compiled version of Streamlink that does not require an existing Python installation

  • RTMPDump for viewing RTMP streams

  • ffmpeg for muxing streams

and perform the following tasks:

  • Add Streamlink to the system's list of installed applications.
    An uninstaller will automatically be created during installation.

  • Add Streamlink's installation directory to the system's PATH environment variable.
    This allows the user to run the streamlink command globally from the command prompt or powershell without specifying its directory.

To build the installer on your own, NSIS and pynsist need to be installed.

Windows portable version

AppImages

Download & Setup

First, download the latest Streamlink AppImage which matches your system's architecture from the Streamlink AppImage releases page. Then simply set the executable flag and run the app.

# Set the executable flag. Note that all AppImage release file names include
# the release version, Python version, platform name and CPU architecture
chmod +x streamlink-2.0.0-1-cp39-cp39-manylinux2014_x86_64.AppImage

# Run the Streamlink AppImage with any parameter supported by Streamlink
./streamlink-2.0.0-1-cp39-cp39-manylinux2014_x86_64.AppImage --version

What are AppImages?

AppImages are portable apps for Linux which are independent of the distro and package management.

Note: Check out AppImageLauncher, which automates the setup and system integration of AppImages. AppImageLauncher may also be available via your distro's package management.

Additional information, like for example how to inspect the AppImage contents or how to extract the contents if FUSE is not available on your system, can be found in the AppImage documentation.