How to Use Streamlink to Play a Stream from a URL
Updated
Run streamlink <URL> <quality> in a terminal, and Streamlink will resolve the URL through a matching plugin, list the available stream qualities, and open the selected one in VLC by default. For example, streamlink twitch.tv/CHANNEL best plays the highest available quality of that Twitch channel in VLC. This assumes Streamlink is already installed and VLC is available on your system — the documentation points to the User guide for installation instructions.
The basic command
The syntax is:
streamlink URL QUALITY
- URL — the page address of the stream, such as
twitch.tv/CHANNEL. Streamlink matches it against its plugin system, which supports popular services like Twitch, YouTube, and many others; the full list is on the plugins page. - QUALITY — the stream quality you want, such as
best,worst, or a specific resolution like720p.
The Quickstart example from the documentation:
$ streamlink twitch.tv/CHANNEL best
[cli][info] Found matching plugin twitch for URL twitch.tv/CHANNEL
[cli][info] Available streams: audio_only, 160p (worst), 360p, 480p, 720p, 720p60, 1080p60 (best)
[cli][info] Opening stream: 1080p60 (hls)
[cli][info] Starting player: vlc
Reading the output
The example shows the three things Streamlink reports before playback starts:
- Plugin match —
Found matching plugin twitch for URL twitch.tv/CHANNELconfirms Streamlink recognized the service. - Available streams — a list of qualities the stream offers, with
(worst)and(best)labels marking the extremes. In the example these range fromaudio_onlyand160pup to1080p60. - Selected stream and player —
Opening stream: 1080p60 (hls)shows which quality was chosen, andStarting player: vlcshows the player being launched.
If you pick a quality that isn't listed, the available-streams line tells you what you can choose instead.
Default behavior and where to go next
By default, Streamlink plays streams in VLC. Its stated purpose is to avoid resource-heavy and unoptimized websites while still letting you watch streamed content. For installation steps, configuration files, plugin sideloading, proxy support, and other options, the documentation directs you to the User guide. Developers who want direct access to stream data can use the separate Python API.